Commit graph

575 commits

Author SHA1 Message Date
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
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