Commit graph

3374 commits

Author SHA1 Message Date
Marius Vollmer
e4ccc99536 Move unpulled commits before local changes. 2008-09-07 17:24:32 +03:00
Marius Vollmer
72fa30a698 Renamed "unmerged" to "unpulled". 2008-09-07 16:50:30 +03:00
Marius Vollmer
8c09f66694 Experimental showing of unmerged commits.
* magit.el (magit-insert-unmerged-commits): New.
(magit-update-status): Use it.
2008-09-07 16:48:44 +03:00
Marius Vollmer
6b839c8df0 Cleanly unstage file deletions.
* magit.el (magit-unstage-item): Use "-q" to shut up git reset when
unstaging a deletion.  Otherwise it would complain about local
changes.
2008-09-07 16:45:46 +03:00
Marius Vollmer
0721a4c951 Bug fix.
* magit.el (magit-visit-item): It's magit-diff-item-file, stupid.
2008-09-07 16:44:18 +03:00
Marius Vollmer
707d5dbde1 Deleted. 2008-09-07 16:42:18 +03:00
Marius Vollmer
79c901b71a Don't detect renames yet. Record more information for diffs. 2008-09-07 16:32:11 +03:00
Marius Vollmer
6b464fd509 Use "Unmerged" instead of "Unresolved". 2008-09-07 15:38:24 +03:00
Marius Vollmer
ce964ab2e1 Have a stab at detecting unresolved files. 2008-09-07 14:41:14 +03:00
Marius Vollmer
6935045e82 Updated TODO. 2008-09-07 05:27:57 +03:00
Marius Vollmer
e5ec239c31 Indicate deleted and renamed files. 2008-09-07 05:25:35 +03:00
Marius Vollmer
a379bb1e0f Better file status indication.
* magit.el (magit-wash-diff): Grep diff header for status of file.
2008-09-07 05:19:11 +03:00
Marius Vollmer
8ca446c4bd Detect renamed files.
* magit.el (magit-insert-staged-changes): Pass "-M" to git diff.
2008-09-07 05:12:32 +03:00
Marius Vollmer
5f34a05b3a Refactored magit-update-status. 2008-09-07 03:53:25 +03:00
Marius Vollmer
d045293801 Make sure that there is always a current section.
* magit.el (magit-current-section): Return magit-top-section when
there is no magit-section property.  This happens at eob.
2008-09-07 03:24:14 +03:00
Marius Vollmer
4623a798b3 More functions for visibility control. 2008-09-07 03:19:52 +03:00
Marius Vollmer
d6e4c40364 Fix visibility memory. How did this ever work?
* magit.el (magit-top-section): Make the right variable permanent.
(magit-new-section): Don't fail when there are no old sections.
2008-09-07 03:15:37 +03:00
Marius Vollmer
0ea2d919c8 Put point at start of log.
* magit.el (magit-log): Goto point-min.
(magit-reflog): Likewise.
2008-09-07 02:23:22 +03:00
Marius Vollmer
d100f40298 Remember section visibility across buffer reconstructions.
* magit.el (magit-new-section): Find old section and inherit hidden
attribute.
(magit-create-buffer-sections): Make old top section available to
magit-new-section.
2008-09-07 02:15:45 +03:00
Marius Vollmer
c315191639 Big rewrite of the 'section' and 'item' machinery. 2008-09-07 02:00:26 +03:00
Marius Vollmer
6d4414d826 Properfy TODO. 2008-09-04 20:50:17 +03:00
Marius Vollmer
49c2e544cc Make author email and date work as well.
* magit.el (magit-log-edit-setup-author-env): Cope with setenv
destroying the match data.
2008-09-03 23:40:42 +03:00
Marius Vollmer
a64949523c Fix process filter.
* magit.el (magit-process-filter): Use 'position' instead of a regexp
search to find last ^M.  Regexps have trouble with newlines.
2008-09-02 23:36:33 +03:00
Marius Vollmer
d1f0df38f9 Better handling of running counters in Git output.
* magit.el (magit-process-filter): New, for dealing with ^M in output.
(magit-run-command): Install it.
2008-09-02 23:18:23 +03:00
Marius Vollmer
2f4c2eed23 List modified files in a nicer way.
* magit.el (magit-wash-diff): Insert header line for diffs.  Updated
all functions that know where a diff begins.
2008-09-02 01:36:06 +03:00
Marius Vollmer
55a7c63c51 TODO 2008-09-01 01:44:11 +03:00
Marius Vollmer
9f6f5b3c19 Enable standard M-n and M-p in log-edit buffer.
* magit.el (magit-log-edit-push-to-comment-ring): New.
(magit-log-edit-commit): Use it.
(magit-log-edit-map): Bind M-n and M-p to log-edit functions.
2008-09-01 01:10:07 +03:00
Marius Vollmer
c8cdc5eda1 Manual updates. 2008-08-31 21:50:20 +03:00
Marius Vollmer
a040eb8038 Bugfix.
* magit.el (magit-revert-item): Use magit-log-edit-append instead of
the removed magit-append-to-log-edit.
2008-08-31 21:49:14 +03:00
Marius Vollmer
db06a91204 Automatically collapse big "Changes" sections.
* magit.el (magit-collapse-threshold): New.
(magit-insert-section): Take threshold argument.  Updated all callers.
2008-08-31 20:04:02 +03:00
Marius Vollmer
05174053c5 Handle "Author:" field in log edit buffer.
* magit.el (magit-log-edit-setup-author-env): New.
(magit-log-edit-commit): Use it.
2008-08-31 19:34:42 +03:00
Marius Vollmer
ef8cfa1b28 Oops. 2008-08-31 19:16:58 +03:00
Marius Vollmer
b84719b56b Cosmetics. 2008-08-31 19:11:32 +03:00
Marius Vollmer
4ec82c45de Reflog browsing.
* magit.el (magit-reflog, magit-reflog-head): New.
(magit-mode-map): Bind them to 'h' and 'H' respectively.
2008-08-31 18:47:26 +03:00
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