Commit graph

130 commits

Author SHA1 Message Date
Marius Vollmer
c0d6281dd8 Support for committing without staging.
* magit.el (magit-anything-staged-p): New.
(magit-update-status): Use it to determine name of the 'unstaged' section.
(magit-log-edit-commit): Pass "--all" to git commit when nothing is staged.
2008-08-31 18:30:37 +03:00
Marius Vollmer
d49639463a Updated TODO. 2008-08-31 18:20:10 +03:00
Marius Vollmer
2a5da19c7f Commit amending.
* magit.el (magit-log-edit-commit): Look at 'amend' field and pass
"--amend" to git commit when true.
2008-08-31 18:18:46 +03:00
Marius Vollmer
1e7a9e3d66 Support for fields in the log-edit buffer.
* magit.el (magit-log-edit-map): Define as recommended by the Elisp manual.
(magit-log-edit-append): Renamed from magit-append-to-log-edit.
(magit-log-edit-get-fields, magit-log-edit-set-fields,
magit-log-edit-set-field, magit-log-edit-toggle-amending): New.
(magit-apply-item): Set author.
2008-08-31 18:11:38 +03:00
Marius Vollmer
4f3d2ee26f Updated TODO. 2008-08-31 02:52:17 +03:00
Marius Vollmer
69288bf030 More interesting hide/show behavior.
* magit.el: (magit-section-set-visibility,
magit-section-set-children-visibility,
magit-section-toggle-visibility): New.
(magit-mode-map): Bind the last one to 'TAB'.
2008-08-31 02:50:04 +03:00
Marius Vollmer
f042b74925 Fix magit-section-beginning-position.
* magit.el (magit-section-beginning-position): Just search backwards
for the first property change, don't try to skip over children.
2008-08-31 02:48:05 +03:00
Marius Vollmer
ae5b5d4fe0 Better indication of "git remote update" in mode line.
* magit.el (magit-process-indicator-from-command): New.
(magit-run-command): Use it.
2008-08-31 00:41:22 +03:00
Marius Vollmer
7ad6d4dd55 Don't fail in magit-describe-item when item is nil. 2008-08-31 00:34:03 +03:00
Marius Vollmer
864248a582 Better discarding of staged changes.
* magit.el (magit-shell-exit-code, magit-file-uptodate-p): New.
(magit-run-shell): Use shell-file-name and shell-command-switch
instead of hardcoding "sh" and "-c".
(magit-discard-item): Use "--index" to discard staged changes, but
only allow it when the file is uptodate.
2008-08-31 00:28:58 +03:00
Marius Vollmer
a284ac86ff Don't allow staging/unstaging in the wrong context.
* magit.el (*magit-item-context*): New.
(magit-item): Add context field from *magit-item-context* special
variable.
(magit-insert-section): Set *magit-item-context* to section id while
calling the washer.
(magit-must-be-unstaged, magit-must-be-staged): New:
(magit-stage-item, magit-unstage-item): Use them to fail early.
2008-08-30 23:18:27 +03:00
Marius Vollmer
12ae7132c4 Make reverting work with unclean working trees.
* magit.el (magit-revert-item): Like with magit-apply-item, use diff
plus apply instead of revert so that we can work with a unclean working tree.
2008-08-30 22:47:43 +03:00
Marius Vollmer
c1cce797d0 Updated TODO. 2008-08-30 22:44:06 +03:00
Marius Vollmer
8912ac22fc New magit-run-shell utility.
* magit.el (magit-run-command): Renamed from magit-run, explicitly
take line to log in the buffer.
(magit-run): Use it.
(magit-run-shell): New, use it as well.
2008-08-30 22:34:40 +03:00
Marius Vollmer
1658e50c0d Only show the first line of a section when hiding it, not the whole header. 2008-08-30 22:32:30 +03:00
Marius Vollmer
45055cdf3e Real cherry picking.
* magit.el (magit-mode-map): Bind it to 'A'.
(magit-cherry-pick): New.
(magit-apply-item): Use diff and apply instead of cherry-pick so that
we can change a unclean work tree.
2008-08-30 21:37:01 +03:00
Marius Vollmer
45bff9c642 Pre-fill the log-edit buffer for reverts and cherry-picks.
* magit.el (magit-append-to-log-edit, magit-escape-for-shell,
magit-format-commit): New.
(magit-apply-item, magit-revert-item): Use them.
2008-08-30 21:15:02 +03:00
Marius Vollmer
226ad5a956 More discarding.
* magit.el (magit-apply-hunk-item): New.
(magit-stage-item, magit-unstage-item): Use it instead of explicit code.
(magit-discard-item): Handle hunks and diffs.
2008-08-30 20:54:51 +03:00
Marius Vollmer
1161d292f6 Goto "Unstaged changed" when creating status buffer.
* magit.el (magit-update-status): Goto first unstaged change when
point is still at beginning of buffer.
2008-08-30 20:37:44 +03:00
Marius Vollmer
4916b98e4a Use *magit-log-edit* as buffer name. 2008-08-29 01:39:01 +03:00
Marius Vollmer
670cbf80e5 Use dim gray for dark background color classes.
Thanks to Phil Hagelberg!
2008-08-24 05:37:13 +03:00
Marius Vollmer
20c9eccccf Rewrite apply and revert using magit-item-case. 2008-08-24 05:28:38 +03:00
Marius Vollmer
7bbde7724d Oops. 2008-08-24 05:26:21 +03:00
Marius Vollmer
1d5385b782 Rewritten sections. Initial hide/show of sections. 2008-08-24 05:21:36 +03:00
Marius Vollmer
f6b57a77dc Bugfix.
* magit.el (magit-visit-item): Pass commit to magit-show-commit, as required.
2008-08-24 03:33:24 +03:00
Marius Vollmer
8b4b909821 Improve visiting and scroll the other window.
* magit.el (magit-show-commit): Made non-interactive.  Scroll window
when requested and appropriate.
(magit-visit-item): Select *magit-commit* buffer when visiting a commit.
(magit-show-item-or-scroll-up, magit-show-item-or-scroll-down): New.
(magit-mode-map): Bind them to SPC and DEL.
2008-08-24 03:01:29 +03:00
Marius Vollmer
322208708e Nicer dispatching on item types.
* magit.el (magit-item-case): New.
(magit-stage-item, magit-unstage-item, magit-ignore-item,
magit-discard-item, magit-visit-item): Use it.
2008-08-24 02:31:49 +03:00
Marius Vollmer
358ed0abd0 Garbage collection. 2008-08-24 02:30:26 +03:00
Marius Vollmer
dc371ff868 Make status buffer names special. Thanks to John Wiegley!
* magit.el (magit-status): Use a name of the form "*magit: foo*
instead of just "foo".
2008-08-24 00:59:10 +03:00
Marius Vollmer
ea626dbb0e Fix two bugs from introducing the item abstraction.
* magit.el (magit-unstage-item): It's magit-diff-or-hunk-item-file,
not magit-diffor-hunk-item-file, stupid.
(magit-visit-item): magit-diff-item-position does not exist, use nil
instead.
2008-08-21 22:58:33 +03:00
Marius Vollmer
52abed7629 Discarding items.
* magit.el (magit-discard-item): New.
(magit-mode-map): Bind it to 'k'.
2008-08-21 02:41:43 +03:00
Marius Vollmer
909c793cf2 Add finished indication to process buffer.
* magit.el (magit-process-sentinel): Simplified.  Add event to process buffer.
2008-08-21 02:34:05 +03:00
Marius Vollmer
d4aacdbd73 * magit.el (magit-write-hunk-item-patch): Corrected 'info' argument to 'item'.
Damn dynamic scope covered this up for us.
2008-08-21 02:25:57 +03:00
Marius Vollmer
23bdc84c46 Removed magit-diff-or-hunk-item-position. 2008-08-21 02:23:08 +03:00
Marius Vollmer
51c54a329e Replaced horrible magit-info with nice Item abstraction. 2008-08-21 02:19:58 +03:00
Marius Vollmer
e54ab875e3 Use quit-window instead of magit-quit.
Thanks to Phil Hagelberg!
2008-08-21 00:29:50 +03:00
Marius Vollmer
022463442b Bind magit-unstage-all to 'U'.
* magit.el (magit-unstage-all): New.
2008-08-21 00:19:15 +03:00
Marius Vollmer
151ae0a8a3 Redone key bindings for pulling, leaving 'U' free for unstage-all. 2008-08-21 00:18:04 +03:00
Marius Vollmer
52f61d6107 Better defaults for 'x'.
* magit.el (magit-reset-head): Default to "HEAD^" when there is no
commit at point.
2008-08-20 23:57:51 +03:00
Marius Vollmer
822adda331 Omit empty sections.
* magit.el (magit-insert-section): Insert final newline only when
inserted output is not empty.  Delete title when it is.
2008-08-20 23:57:07 +03:00
Marius Vollmer
cb3b44282d Bind 'q' to magit-quit. 2008-08-20 01:21:50 +03:00
Marius Vollmer
5421e52262 Fix untracked files.
* magit.el (magit-wash-other-files): Skip empty lines.
2008-08-20 01:05:21 +03:00
Marius Vollmer
4c9659405b Hightlight current item.
* magit.el (magit-put-line-property): Don't use line-end-position, use
line-beginning-position of next line instead.
2008-08-20 00:58:34 +03:00
Marius Vollmer
b1a3cf9a07 Remove outdated comment. 2008-08-20 00:56:11 +03:00
Marius Vollmer
9189074037 Removed "-face" suffix from face names.
As recommended by the Elisp Manual.
2008-08-20 00:55:42 +03:00
Marius Vollmer
e227560477 Faces.
From Linh Dang.
2008-08-19 23:43:34 +03:00
Marius Vollmer
79239e3ae2 Updated TODO. 2008-08-19 02:06:17 +03:00
Marius Vollmer
5e6ac7730e Move with n and p, like God intended.
* magit.el (magit-mode-map): Put magit-next-section and
magit-previous-section on 'n' and 'p', respectively.  Put
magit-display-process on '$'.
2008-08-19 02:06:08 +03:00
Marius Vollmer
a72d0ceec1 Added lost key bindings.
* magit.el (magit-mode-map): Added bindings for 'a' magit-apply-commit
and 'v' magit-revert-commit.
2008-08-19 01:34:38 +03:00
Marius Vollmer
601d26bf5a Use named functions for the section jumpers so that the online help
has something to show.
2008-08-19 00:42:44 +03:00