Commit graph

549 commits

Author SHA1 Message Date
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
80f990f94e README updates. 2009-06-06 23:17:12 +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
9f9370ce62 Document C-c C-s signoff toggling. 2009-06-06 15:23:29 +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
e9c108a972 Document changes. 2009-06-06 15:06:46 +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
9dedc1b8f0 Some news. 2009-03-22 02:02:31 +02:00
Marius Vollmer
4bc9bc2c73 Document new behavior of 'c' and 'C' during a rebase. 2009-03-22 01:54:52 +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
904e6ee405 Document changes to pull. 2009-03-22 01:26:45 +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
abd643c681 Prepare 0.8. Removed debian/ bits. 2009-03-08 20:31:41 +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
67a0c1ada7 Document C-c C-k in the *magit-log-edit* buffer. 2009-03-01 15:15:23 +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
Marius Vollmer
63e78891d8 Only try to fit current section into window when it is not hidden.
* magit.el (magit-goto-next-section): Here.
2009-03-01 03:02:19 +02:00
Marius Vollmer
5c3ac91e0f Documentation updates. 2009-03-01 03:00:23 +02:00
Ian Eure
e4032c3d17 Allow magit to work with Tramp. 2009-02-28 19:29:41 +02:00
Marius Vollmer
549a2cb836 No idea how to present tags in the UI. 2009-02-28 19:25:20 +02:00
Marius Vollmer
5a1039cd6f Show correct filenames in the "Pending changes" section.
* magit.el (magit-diff-line-file): Don't insist on "a/..." being the
first file.
2009-02-28 19:22:22 +02:00