Phil Jackson
d43a23b48f
Merge remote branch 'refs/remotes/philjackson/fancy-log-pt1'
...
Conflicts:
magit.el
2010-03-14 14:42:50 +00:00
Alexey Voinov
37731ad567
Replaced call-process-region with start-file-process and wait.
...
call-process-region doesn't work with remote tramp
directories. Staging of diff hunks was broken.
2010-03-12 17:43:18 +00:00
Rémi Vanicat
a291507171
In magit-ignore-file, add a new line if there wasn't one in the ignore file
2010-03-12 18:11:14 +01:00
Alexey Voinov
7ca25460fa
emulate append-to-file, because it doesn't work over tramp
2010-03-12 18:11:14 +01:00
Pavel Holejsovsky
3d2321b317
Make async git invocation work on cygwin.
...
Forces emacs to use pipes for communication with git subprocess.
Although default PTY method should work too, there is probably
something broken in cygwin causing that resulting process never
receives any input and hangs forever.
In any case, setting communication to 'pipe' is recommended by
start-process docs anyway for background processes, as it is usually
faster and more efficient.
2010-03-11 14:12:30 +01:00
Phil Jackson
db53f15cb5
Merge remote branch 'refs/remotes/AlexeyVoinov/git-svn-fixes'
2010-03-11 11:18:30 +00:00
Alexey Voinov
4e59fade68
Fixed svn-ref-info for most non-standard layouts
2010-03-11 13:32:28 +03:00
Alexey Voinov
f65dfce86e
magit-get-all is wrapper for git config --get-all
2010-03-11 13:20:41 +03:00
Phil Jackson
dddfe3035e
Highlight only the diff markers (not the text after them).
2010-03-10 21:43:11 +00:00
Phil Jackson
f7f383bf1a
Removed redundant call from `magit-get-svn-ref-info'.
2010-03-10 21:38:56 +00:00
Phil Jackson
9325431ad4
Added `magit-omit-untracked-dir-contents' to optionally stop magit listing everything in an untracked directory.
2010-03-10 21:38:04 +00:00
Phil Jackson
282303265f
Merge remote branch 'refs/remotes/philjackson/git-svn-fixes-and-features'
2010-03-10 21:29:42 +00:00
Phil Jackson
10f88917ca
Bug fix: Commit buffer will fill if the commit is current and the buffer dead.
2010-03-10 21:21:33 +00:00
Phil Jackson
f9f1c00c78
C-u will now keep the index when stashing.
2010-03-10 21:19:46 +00:00
Phil Jackson
a421f9f936
Merge remote branch 'refs/remotes/philjackson/squashable-merges'
2010-03-10 21:12:32 +00:00
Phil Jackson
131f9d1db3
Merge remote branch 'refs/remotes/philjackson/magit-completing-read'
2010-03-10 21:08:32 +00:00
Rémi Vanicat
dc48483ad6
Make magit ask for ssh passphrase
...
Thanks to Rüdiger Sonderfeld <ruediger@c-plusplus.de>
2010-02-23 08:00:47 +01:00
Phil Jackson
f8f6a2c103
Use `magit-present-log-line-function'.
2009-12-16 14:57:16 +00:00
Rémi Vanicat
cea34e5f8c
[Tramp] Two more fix, make staging with magit on tramp dir possible
2009-11-09 11:14:44 +02:00
Rémi Vanicat
3b661f5db4
Always use magit-git-standard-options when calling git
2009-11-09 11:14:44 +02:00
Phil Jackson
dcbb449238
Box around labels.
2009-11-08 15:59:58 +00:00
Phil Jackson
5661df2222
Better label colours for lighter backgrounds.
2009-11-08 15:59:44 +00:00
Phil Jackson
02432300e1
Highlight refs according to their origin.
2009-11-08 14:54:53 +00:00
Marius Vollmer
d5b60fc53f
Use --decorate=full so that it works again with Git 1.6.4.
...
* magit.el (magit-configure-have-decorate):
(magit-refresh-log-buffer): Here.
2009-11-08 13:45:20 +00:00
Marius Vollmer
78c098361c
Use --decorate=full so that it works again with Git 1.6.4.
...
* magit.el (magit-configure-have-decorate):
(magit-refresh-log-buffer): Here.
2009-11-07 20:37:43 +02:00
Phil Jackson
83992a9ec2
`magit-svn-find-rev' now supports the prefix arg.
...
* magit.el (magit-svn-find-rev): Prefix support for branch name.
* magit.texi: Documenting magit-svn-find-rev.
2009-11-06 14:52:33 +00:00
Phil Jackson
869c6059b6
Basic functionality, only asking for revision.
2009-11-04 21:46:06 +00:00
Phil Jackson
c90f134a74
Moved graph to the second column.
2009-11-02 10:34:25 +00:00
Phil Jackson
2ec5ee71f1
Highlighting of sha and graph in log buffer.
2009-11-02 10:24:21 +00:00
Phil Jackson
e3a37dbc39
Set the remote string to the svn url and revision when in a git-svn repo.
2009-10-28 20:41:43 +00:00
Phil Jackson
8ea39540d9
A simple caching mechanism to ease the `magit-get-svn-ref-info' pain.
...
* magit.el: Every call to `magit-get-svn-ref-info', post the first, retrieves a cached list.
2009-10-28 20:37:35 +00:00
Phil Jackson
3bfe230051
More detailed and structured information from git-svn.
...
* magit.el (magit-svn-enabled): alist of git-svn information returned.
2009-10-28 20:33:35 +00:00
Phil Jackson
c368295a32
completing-read-configuration: Great with anything-completing-read' or perhaps
ido-completing-read'.
...
* magit.el: Added `magit-completing-read' variable, replaced `completing-read' references.
2009-10-28 20:19:02 +00:00
Phil Jackson
333e7d0cb7
Squashable, manual merges.
...
* magit.el (magit-manual-merge): Given a prefix arg, add --squash and remove --no-ff.
* magit.texi: Docs for the above.
2009-10-28 20:13:28 +00:00
Phil Jackson
ee01adf1f3
`magit-get-svn-ref' now emulates the git-svn way of remote fetching.
...
* magit.el (magit-get-svn-ref): Parse log output for the remote svn url.
2009-10-28 19:54:11 +00:00
Marius Vollmer
e38987412d
Produce cleaner status buffer for unmerged files.
...
By ignoring duplicate entries for the unmerged files.
2009-09-06 20:27:18 +03:00
Marius Vollmer
2a8bb03a6f
Towards 0.8.
2009-09-06 18:06:47 +03:00
Marius Vollmer
fb7b135220
Don't use the heavy machinery to run "git update-index".
...
And ignore exit code.
2009-08-18 11:46:38 +03:00
Marius Vollmer
c8c6e01a15
Refresh the index before constructing the status buffer.
...
This should get rid of files that are spuriously listed as modified,
while they in fact aren't.
2009-08-17 20:10:08 +03:00
Marius Vollmer
60ae735a10
Speed up washing of untracked files a bit.
2009-08-17 20:07:09 +03:00
Marius Vollmer
6838ae135c
Hide diffs by default again.
...
* magit.el (magit-wash-raw-diff): Here.
2009-07-28 21:58:12 +03:00
Marius Vollmer
843814ac25
Make sure current-prefix-arg is a cons before caring it.
2009-07-28 02:32:19 +03:00
Marius Vollmer
ea6105fbbf
Support for magit-repo-dirs and nice completion based on it.
...
Thanks to Travis B. Hartwell for the initial implementation!
2009-07-28 02:25:44 +03:00
Marius Vollmer
31b8be948a
Only revert buffers that belong to the current repo.
2009-07-28 00:21:34 +03:00
Marius Vollmer
3731a18b49
Reinitialize modes when reverting file contents.
...
* magit.el (magit-revert-buffers): Here, by passing nil for
preserve-modes in the call to revert-buffer.
2009-07-28 00:05:07 +03:00
Marius Vollmer
9dfd604cd8
Optionally stage also untracked files in magit-stage-all.
2009-07-27 23:47:21 +03:00
Marius Vollmer
aec91c216f
Stage all untracked files when on "Untracked files" title.
...
* magit.el (magit-stage-item): Here.
2009-07-27 23:15:56 +03:00
Marius Vollmer
6e33fdf6c7
Use diff-index and diff-files for the status buffer.
...
Instead of a --numstat diff. This gives more information.
* magit.el (magit-insert-diff-title): Factored out of
magit-wash-diff-section. Don't handle mode changes separately from
content changes.
(magit-wash-raw-diffs, magit-wash-raw-diff): New.
(magit-wash-numstat-diffs, magit-wash-numstat-diff): Removed.
(magit-insert-unstaged-changes): Use git diff-files.
(magit-insert-staged-changes): Use git diff-index.
2009-07-27 23:02:02 +03:00
Marius Vollmer
3e77accab9
Document why empty diff sections are no problem.
...
Remove debug output for numstat diffs.
2009-07-27 22:03:35 +03:00
Marius Vollmer
d5caf3c15a
Do not run Git via the shell, ever.
2009-07-15 02:15:54 +03:00
Marius Vollmer
06675c5b7d
Fix "resolge" type in error message.
2009-07-15 00:48:26 +03:00
Marius Vollmer
bd8fca2fb7
Make 'a' and 'v' work with whole diffs.
...
* magit.el (magit-apply-diff-item): Actually use *magit-tmp* as input
when running the command, instead of ignoring it. D'oh.
2009-07-15 00:42:33 +03:00
Marius Vollmer
ad04fba40a
Fix -U for diffs in the status buffer.
2009-06-21 22:13:21 +03:00
Marius Vollmer
aac73da95d
Fix display of unmerged paths.
...
* magit.el (magit-wash-diff-section): Pick out 'file' from match data.
2009-06-21 22:09:35 +03:00
Marius Vollmer
46b462bc24
Hide status diffs by default again.
...
* magit.el (magit-wash-diff): By binding magit-section-hidden-default
appropriately here...
(magit-wash-numstat-diff): ...and here.
2009-06-08 21:37:16 +03:00
Marius Vollmer
c1b0da8afd
Don't include git-svn branches in the 'interesting branches'.
...
* magit.el (magit-list-interesting-refs): Here.
2009-06-08 01:09:48 +03:00
Marius Vollmer
2c9e6d7ee4
Make magit-ref-exists-p work.
...
* magit.el (magit-ref-exists-p): Use correct invocation and turn exit
code into a boolean. (Saturday night hacking sessions are not my
forte. Sundays on the other hand...)
2009-06-07 22:05:07 +03:00
Marius Vollmer
6fcff5f170
Cosmetics.
2009-06-07 22:05:07 +03:00
Marius Vollmer
c208d194b6
Directly look for git-svn ref name, don't use magit-list-interesting-refs.
...
* magit.el (magit-get-svn-ref): Here, by using magit-ref-exists-p.
2009-06-07 22:05:05 +03:00
Marius Vollmer
03329dbfc3
Only discard staged diffs for files that don't have unstaged changes.
...
The unstaged changes will be discarded, too, which might be unexpected.
* magit.el (magit-discard-item): Here.
2009-06-07 21:42:42 +03:00
Marius Vollmer
d7be60af1c
Don't allow slashes in remote nicknames.
...
* magit.el (magit-list-interesting-refs): Here.
(magit-maybe-create-local-tracking-branch): And here.
2009-06-07 21:41:09 +03:00
Steve Purcell
29eafdc993
Fix display of unpushed/unpulled git-svn patches
...
git-svn remotes are listed by "git show-ref" in a pattern that magit-list-interesting-refs did
not support, e.g. "refs/remotes/git-svn".
2009-06-07 21:24:47 +03:00
Marius Vollmer
b2072a3604
It' magit-wash-diff-section, not magit-wash-section-diff...
...
* magit.el (magit-wash-diff): Here.
2009-06-07 21:17:07 +03:00
Marius Vollmer
56df9cac09
Don't use make-variable-buffer-local during mode setup.
...
* magit.el (magit-mode): Use make-local-variable instead.
2009-06-06 23:49:56 +03:00
Marius Vollmer
fb7ede719c
Delay inserting and washing of big diffs.
...
* magit.el (magit-set-section-needs-refresh-on-show): New.
(magit-section-set-hidden): Call magit-refresh when a
'needs-refresh-on-show' section is shown.
(magit-show-level): Wrap it in magit-with-refresh.
(magit-wash-diff, magit-wash-diff-section): Factored washing and
section construction into seperate functions.
(magit-insert-diff, magit-wash-numstat-diffs,
magit-wash-numstat-diff): New. Use magit-insert-diff for visible
sections or for small changes.
(magit-insert-unstaged-changes): Use a numstat diff instead of a full diff.
(magit-insert-staged-changes): Likewise.
2009-06-06 23:49:02 +03:00
Marius Vollmer
98e2b50a52
Be robust against the *magit-process* buffer getting killed.
...
* magit.el (magit-run*): Only consider Git to be running when
the *magit-process* buffer still exists.
2009-06-06 19:50:16 +03:00
Marius Vollmer
a76f44c1d8
Make discarding staged diffs work.
...
* magit.el (magit-discard-diff): Added stagedp parameter and checkout
from HEAD if it is true.
(magit-discard-item): Use it.
2009-06-06 19:42:02 +03:00
Marius Vollmer
01f37a8c2d
Don't mess with the global value of line-move-visual.
...
* magit.el (magit-mode): Make line-move-visual buffer local before
setting it. Thanks Leo!
2009-06-06 19:29:52 +03:00
Marcin Bachry
cd4f15f314
Explicitly disallow rewriting history from the first commit.
...
* magit.el (magit-rewrite-start): Use magit-commit-parents to find
base commit for rewrite and signal error if there isn't any.
2009-06-06 19:23:02 +03:00
Marcin Bachry
7700954ee4
Fix shell escaping.
...
* magit.el (magit-escape-for-shell): use literal argument to
replace-regexp-in-string function.
2009-06-06 19:16:35 +03:00
Marius Vollmer
65e5363170
Allow overriding of magit-commit-signoff per commit.
...
Signed-off-by: Marius Vollmer <marius.vollmer@gmail.com>
2009-06-06 15:23:08 +03:00
Marius Vollmer
1183c3af94
Don't use refs/heads/ prefix when checking out branches.
...
* magit.el (magit-list-interesting-refs): Here.
2009-06-06 15:02:58 +03:00
Marius Vollmer
e2fdbc2d01
Offer to create tracking branches when switching to a remote branch.
...
* magit.el (magit-ref-exists-p): New.
(magit-maybe-create-localtracking-branch): New.
(magit-checkout): Use it.
2009-06-06 15:02:55 +03:00
Marius Vollmer
2d5aff1b87
Use git show-ref to find interesting refs.
...
* magit.el (magit-list-interesting-refs): Use "git show-ref" instead
of trying to parse output of "git branch". Return alist with name /
ref pairs.
(magit-read-rev, magit-get-svn-branch-name): Updated.
(magit-refresh-wazzup-buffer): Use magit-list-interesting-refs instead
of parsing "git branch" output.
2009-06-06 14:26:18 +03:00
Marius Vollmer
e0911af08e
We are interested in refs not revs.
...
* magit.el (magit-list-interesting-refs): Renamed from
magit-list-interesting-revisions. Updated all callers.
2009-06-06 13:40:29 +03:00
Marius Vollmer
824f0e0e05
Merge commit 'jwiegley/master'
2009-03-22 13:04:46 +02:00
Marius Vollmer
6f2d0955e5
Improve treatment of unmerged files in "Staged changes".
...
* magit.el (magit-wash-diff): Recognize "Unmerged path" lines and
create a diff section for it.
* magit.el (magit-unstage-item): Don't unstage unmerged files.
2009-03-22 01:48:43 +02:00
Marius Vollmer
9af5c9b707
When pulling, ask for branch if none is configured.
...
* magit.el (magit-pull): Here.
2009-03-22 01:21:02 +02:00
Marius Vollmer
27389b9e5e
Make rebasing work again, and improve it a bit.
...
* magit.el (magit-rebase-info): Also look for .git/rebase-apply.
(magit-log-edit): Don't commit in the middle of a rebase, offer to
continue it instead.
(magit-add-log): Likewise.
2009-03-22 00:55:58 +02:00
John Wiegley
96de3a7863
A tiny bit of refactoring
2009-03-17 04:25:08 -04:00
John Wiegley
9a09235a07
When committing a merge, use .git/MERGE_MSG
...
If someone does a manual merge and then types 'c', Magit will now fill
the log-edit buffer with the contents of .git/MERGE_MSG as a starting
point.
2009-03-17 04:25:08 -04:00
John Wiegley
0d897e61c4
Preliminary support for "topic branches"
...
If you have a topic branch (any branch named t/foo), Magit will create a
section named Topics and show you all outstanding topic branches.
Hitting RET on a topic does a checkout.
2009-03-17 04:25:01 -04:00
John Wiegley
b45e638154
Added new ! command (magit-shell-command)
...
This gives users an easy way to interface with external tools like
"topgit". You type !, followed by "tg create t/foo", and then
everything including magit refreshing the buffer gets handled
automatically.
2009-03-17 04:24:19 -04:00
Marius Vollmer
417dd46093
Elpanized.
...
From Tom Tromey. Thanks!
* Makefile.am (elpa): New target to create elpa tarball.
* magit-pkg.el.in: New.
* configure.ac: Create magit-pkg.el from it.
* magit.el: Added autoload for magit-status.
2009-03-09 22:15:07 +02:00
Marius Vollmer
20f35de127
Released 0.7.
2009-03-08 18:51:35 +02:00
Marius Vollmer
5c7b6b2efe
Make 'i' toggle the ignore flag for wazzup.
...
* magit.el (magit-write-file-lines): New.
(magit-wazzup-toggle-ignore): New, use it instead of magit-wazzup-ignore.
* magit.texi: Document it.
2009-03-08 14:42:55 +02:00
Marius Vollmer
d9f86642ec
Merge commit 'remi/master'
2009-03-08 03:50:29 +02:00
Marius Vollmer
e57887dc2e
Cache Git configuration per buffer, not globally.
...
Thanks to Alexey Voinov and Marcin Bachry!
2009-03-08 03:43:44 +02:00
Marius Vollmer
a868715885
Select the proper name for the svn branch.
...
Thanks to Travis B. Hartwell!
* magit.el (magit-get-svn-branch-name): New.
(magit-insert-unpulled-svn-commits, magit-insert-unpushed-svn-commits,
magit-svn-enabled): Use it.
2009-03-08 03:27:19 +02:00
Rémi Vanicat
6d2c6b7d98
in interactive merge, rename ours to current and their to merged.
...
When rebasing it's not clear which commit is ours, and which is
theirs, the new name should be clearer.
2009-03-02 10:43:56 +01:00
Marius Vollmer
07e316777f
Make it work with tramp some more.
...
* magit.el (magit-shell-lines): Use magit-shell-command-to-string
instead of shell-command-to-string.
2009-03-01 21:45:02 +02:00
Marius Vollmer
a2d08222c6
Make standard options customizable.
...
* magit.el (magit-git-standard-options): Here, by using defcustom.
2009-03-01 21:35:44 +02:00
Marius Vollmer
3857ce227a
Allow ignoring of branches in the Wazzup view.
...
* magit.el (magit-wazzup-ignore): New.
(magit-refresh-wazzup-buffer): Read wazzup-exclude and optionally omit
the branches listed in it. Added 'all' parameter to control this.
(magit-wazzup): Show all branches with prefix.
(magit-ignore-item): Call magit-wazzup-ignore for wazzup branches.
* magit.texi: Document it.
2009-03-01 21:29:08 +02:00
Marius Vollmer
2fcdd916b9
Don't run shell for magit-file-lines.
...
* magit.el (magit-file-lines): Read contents into temporary buffer and
split into lines using split-string.
2009-03-01 20:59:44 +02:00
Marius Vollmer
e6a1fd4e70
Tell people that they are going to do a hard reset.
...
* magit.el (magit-reset-head): Reflect it in the prompt whether this
is going to be a hard reset or not. Added optional argument instead
of using current-prefix-arg directly.
* magit.texi: Document it.
2009-03-01 15:09:39 +02:00
Rémi Vanicat
1eac6b70c6
Use ediff interactive merge to help conflict resolution.
...
Idea from smerge code, adapted to git, new key binding on "e"
2009-03-01 13:01:19 +01:00
Rémi Vanicat
5cd62fa9ac
Removing one of the two "i" bindings
2009-03-01 13:01:19 +01:00
Jesse Alama
44763451f1
Permit cancelling log edits.
...
* magit.el: Permit cancelling log edits.
magit-log-edit-confirm-cancellation: New defcustom.
magit-log-edit-map: New keybinding: C-c C-k to cancel the log.
magit-log-edit-cancel-log-message: New function.
magit-pop-to-log-edit: Indicate that cancellation is possible.
2009-03-01 05:10:41 -04:00
John Wiegley
5c42f45f53
'C-u x' will do a hard reset
2009-03-01 05:10:41 -04:00
John Wiegley
8583b8c39d
Made git-svn support usable for the average user
...
Previously it was insisting on a branch named "git-svn", but I'm not
sure if this is ever created by default. Also, there is no need to call
"remote update", and if it is called asynchronously, it blocks the
subsequent call to svn fetch.
2009-03-01 05:10:40 -04:00