Commit graph

523 commits

Author SHA1 Message Date
Moritz Bunkus
d4aa3ff85a Only call server-running-p on Emacs 23 or newer 2010-05-06 00:31:24 +01:00
Phil Jackson
8bf8a36db6 Use `magit-section-case' to get branch from wazzup. 2010-05-06 00:27:20 +01:00
Rémi Vanicat
179f1b9809 Use guess-branch and default-rev wherever we ask for a branch or a rev.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-05-06 00:07:42 +01:00
Rémi Vanicat
b6d7f36a7d When there is a guessed branch, it make a good default rev.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-05-06 00:06:11 +01:00
Óscar Fuentes
51a1b6d84c Revert buffers after committing
I find the VC status on the modeline useful (the one that shows
Git[:-]branchname) This indicates when the buffer's associated file was
changed on disk (`:' for edited, `-' for unedited.) This indicator is
not affected by a commit with magit, so it keeps signaling a file as
edited when in fact it is not. This patch reverts all buffers that are
visiting a file in the current working tree after a commit.
2010-05-05 16:36:36 +01:00
Óscar Fuentes
5f371df069 Correct informative text for showing more log entries
At the end of the log, the text ``type "l" to show more logs'' is
shown. The actual keybinding is `e', not `l'.
2010-05-05 16:31:56 +01:00
Rémi Vanicat
2acc8be623 Make the process-connection-type customizable.
We need process-connection-type to be nil on cygwin
We need process-connection-type to be t for magit to ask for password
So we now use the new variable magit-process-connection-type for this,
defaulting to nil on cygwin, and to t on others platform.
2010-05-05 15:19:49 +01:00
Rémi Vanicat
c256a726d4 Make magit ask for password also when git is asking for an host password
Previously we were asking only when there was a passphrase for ssh key.
2010-05-05 15:04:25 +01:00
Phil Jackson
3d1faa122e Added some missing contributor names. 2010-05-05 13:48:56 +01:00
Rémi Vanicat
ed904c7a00 use "e" for more log
Then we can use "l" to show short-log from long log an reflog.
At the same time we add the different keybinding to see the different
kind of logs from the others logs.
2010-05-05 10:17:49 +01:00
Leo
975536e966 Fix open parentheses in doc strings
The latest doc change seems to bring in a lot of opening parentheses in
the doc strings. This patch fixes them.
2010-05-02 10:29:07 +01:00
Roger Crew
26712041ec remove runtime dependence on cl.el
This patch removes the runtime dependences on the cl package.
Luckily, there weren't too many of these.

From the GNU emacs lisp manual (Appendix D.1 coding conventions)

   * Please don't require the `cl' package of Common Lisp extensions
     at run time.  Use of this package is optional, and it is not part
     of the standard Emacs namespace.  If your package loads `cl' at
     run time, that could cause name clashes for users who don't use
     that package.

     However, there is no problem with using the `cl' package at
     compile time, with `(eval-when-compile (require 'cl))'.  That's
     sufficient for using the macros in the `cl' package, because the
     compiler expands them before generating the byte-code.

There's also the small matter that many of the function implementations
in cl, striving for the full generality of Common Lisp (much of which
is completely useless in Emacs), turn out to be horrible.

E.g., for a fun time, dig down through

      (find-if pred list :from-end t),

and look at what it ACTUALLY does when you finish macroexpanding
everything.  It tests *every* element of the list against the
predicate, not just the rightmost ones stopping when it finds the
first match.  Once it determines the rightmost match, it then retains
NOT the element itself, but its *ordinal* position N, which then gets
used in (elt list N), meaning ANOTHER listwalk, just to get the
element back in order to return it.  Nor is the byte-compiler anywhere
near smart enough to optimize this away (I'm not sure *any* compiler
would be...)

I'll grant cl has some useful macros in it, but it comes bundled with a
lot of crap and you need to be really careful about what you use.  For
many things, you're better off rolling your own functionality using
the standard routines available (e.g., while, mapcar, and reverse are
all written directly in C).

And you most definitely do NOT want to be foisting the crap on
everybody else, hence the need to keep it out of the runtime.

Meanwhile, here's The Patch:

	Modified magit.el
2010-04-28 12:21:49 +01:00
Roger Crew
cf60063e3b *magit-FOO-log* / introduce buffer name variables
Introduces

  magit-log-buffer-name 	*magit-log*
  magit-log-edit-buffer-name	*magit-edit-log*  (was *magit-log-edit*)
  magit-log-grep-buffer-name	*magit-grep-log*  (was *magit-log-grep*)
  magit-process-buffer-name 	*magit-process*
  magit-commit-buffer-name 	*magit-commit*
  magit-stash-buffer-name	*magit-stash*

Also adds C-c C-] as a binding for magit-log-edit-cancel-log-message
since C-c C-] as the aborting counterpart to C-c C-c is at least a
vague convention for other modes (cf. rmail, vm, query-replace...)

Motives:

It annoys me that, when wanting to switch to the *magit-log* buffer
from some random place, I can't type *ma<space>-l<space> and have it
complete properly, at least not if I've previously ever done a commit
(because there's then a *magit-log-edit* out there stealing the
completion).

Also looks like if I ever use magit-log-grep, I will be likewise
screwed.

Finally, it disturbs my sense of aesthetics when I look at source code
and see the same strings occuring over and over.  Usually, that's
crying defvars/defconsts.  (And this will also makes life easier
in the event you don't like my buffer name changes for -log-edit
and -log-grep).

 - -

(...This all leaves *magit-tmp* as the only remaining case of a buffer
    name string occurring multiple times, but that needs to be handled
    differently, so that'll be a different patch...)

(...Note that having buffer names as variables also allows the
    eventual possibility of making them local --- or at least the
    option thereof --- so that one can be visiting several
    repositories at once and not having these buffers all clobbering
    each other.  There's a tradeoff here in that some folks may find
    it confusing/annoying to have more than one set of these buffers
    to deal with,... hence option.

    *If* one is going to go that route, current gut feeling is buffer
    name variables should be local to *just* the status buffer(s),
    void elsewhere, and anything needing one of the auxiliary buffers
    should dispatch through its own status buffer to get what it
    wants.  That way, we're not having to repeat/update/copy
    per-repository definitions everywhere....)

The patch:
2010-04-28 12:17:26 +01:00
Roger Crew
666e4113e9 docstrings for various functions
Here, have some docstrings:

(...it being something of a show-stopper for newbies when they want to
find out what a given keystroke will do, they hit ^Hk [or ^Hf or ^Hv],
and nothing useful comes out...)
2010-04-27 10:59:48 +01:00
Roger Crew
4c2e7ee5e9 Magit now compiles cleanly.Fix for appending an explicit number of new log entries. 2010-04-25 19:22:33 +01:00
Phil Jackson
1701272fce Fix for appending an explicit number of new log entries. 2010-04-25 19:14:41 +01:00
Rémi Vanicat
2348c70ff1 Added a function to grow the number of log in the log view
The log view will show an help at its end when there is more log to
view, and the function is bound to "l" in log view.
2010-04-25 17:25:06 +01:00
Roger Crew
41343a06f5 magit-show-branches shows wrong repository
If you do
.  magit-status on repository .../x
.  V (magit-show-branches)
.  magit-status on repository .../y
.  V (magit-show-branches)

you get the branch listing for repository .../x

Also, as a side issue, functionality of a buffer should not be
keyed off of the buffer name (in this case, renaming the buffer
should not change what V or g does).

The following patch deals with both of these.
2010-04-25 17:11:29 +01:00
Rémi Vanicat
d976e65dbf Regrouping command that create new view of current git repositories.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
6312006a54 Moving function related to current status
magit-reset-head is also put wherever there are commits

Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
d5dd0578ba Moving function working specifically on status hunk, diff and files
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
3eec4705bc Moving merging and branching function where there are commit and branch.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
6328782833 Moving apply, cherry-pick and revert function.
They all apply to hunk, commit and diff that are in
status, stash, log, reflog, diff and wazzup buffers.

Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
bca27d36bb Moving diff view function where there are commits.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
682809d82d Moving staging function to status buffer
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
d2b814ad9e Moving hunk size modifier in modes where there are hunks.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Rémi Vanicat
9105c3e557 Added minor mode for the different magit buffer.
Signed-off-by: Rémi Vanicat <vanicat@debian.org>
2010-04-12 14:08:11 +01:00
Moritz Bunkus
8175d6dfad Only start the server if it isn't running
magit's interactive rebase feature tries to start the server even if
it is already running. If it is already running then Emacs asks
whether or not it should destroy existing clients. This is fatal if
the frame magit is running in was created by emacsclient
itself (e.g. Emacs is running in the background with "--daemon"), so
the user has to answer "no".

This question can be avoided if the server is only startet if it isn't
already running.
2010-04-01 11:16:12 +01:00
Phil Jackson
e7a3b608e6 Fix `magit--branch-name-at-point'. 2010-04-01 01:55:56 +01:00
Phil Jackson
db44227cb0 Use fundamental-mode' rather than text-mode' 2010-04-01 01:53:35 +01:00
Phil Jackson
290d5fe70f Comments, removed old-point code which did nothing. 2010-04-01 01:51:43 +01:00
Phil Jackson
f735945848 Fix `magit--is-branch-at-point-remote' 2010-04-01 01:48:28 +01:00
Phil Jackson
bf49b72cf0 Removed "remotes" from the branch name. 2010-04-01 01:17:09 +01:00
Phil Jackson
a86fab4e97 n/p now allow the user to move about in branch-view. 2010-03-30 23:08:50 +01:00
Phil Jackson
1ae36db891 Put branch name in text properties. 2010-03-30 23:07:09 +01:00
Phil Jackson
b261669efe Have `magit--branch-name-from-line' pull out the branch name. 2010-03-30 22:45:59 +01:00
Phil Jackson
79d7f46502 Bit more output. 2010-03-30 22:45:05 +01:00
Phil Jackson
e09ef67ea6 SHA1 gets colour. 2010-03-30 22:32:43 +01:00
Moritz Bunkus
ad686c5938 Provide useful functions for the branch list
The following functions are available from the branch list (which in
turn is made read-only):

- Checking out the branch in the current line
- Deleting the branch in the current line (prefix forces deletion even
if not merged into current branch); works on both local and remote
branches
- Manual and automatic merges of the branch in the current line into
the current branch
- Quitting the branch list

Includes updated documentation.
2010-03-30 14:53:45 +01:00
Moritz Bunkus
920c3b3a3c Guess the remote branch name from the branch's "merge" config item
If you have a local tracking branch, e.g. called 'test', and the
remote branch name is different than test (e.g. 'somwhere/master')
then the commands for retrieving the unpulled and unpushed commits was
calling "git log test..somwehere/test" which may or may not exist.
2010-03-30 13:45:53 +01:00
Phil Jackson
33ea60d690 If wazzup head is detached then describe it so. 2010-03-29 21:21:09 +01:00
Rémi Vanicat
c51582ee17 Using HEAD as branch-name when this is a detached HEAD 2010-03-29 21:14:56 +01:00
Rémi Vanicat
82b8d93731 check for the current branch before switching buffer
The wazzup buffer might already exist, so if we look at the branch
name in it, it might refer to another branch, even another repository.
2010-03-29 20:57:27 +01:00
Rémi Vanicat
7c80c10199 Added docstring for section's function 2010-03-27 11:33:55 +00:00
Rémi Vanicat
07c3225ed6 Better documentation and error reporting.
Corrected style error in comment, docstring, and error message, thanks to
checkdoc-minor-mode and Aspell.

Some indent and minor code style fix too
2010-03-27 11:33:55 +00:00
Phil Jackson
27ef54451b Finished off documentation. 2010-03-26 16:36:55 +00:00
Phil Jackson
c23b334d29 Merge branch 'log-grep' 2010-03-26 16:33:50 +00:00
Phil Jackson
c7c02c2f20 Added the command `magit-log-grep' (no keybinding). 2010-03-26 16:33:32 +00:00
Phil Jackson
29395e0d46 `magit-refresh-log-buffer' can now take more than one (git commandline) argument. 2010-03-26 16:31:40 +00:00
Phil Jackson
f9283aaa0d Merge remote branch 'refs/remotes/philjackson/svn-find-rev' 2010-03-26 14:00:13 +00:00