Commit graph

2973 commits

Author SHA1 Message Date
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
07269f1782 Mention performance improvements in NEWS. 2009-07-15 03:25:52 +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
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