threads / patch / 20791

patchgit.el: Make it easy to add unmerged files

Subject: [PATCH] git.el: Make it easy to add unmerged files

## tl;dr

4 messages between Aug 30, 2009 and Sep 2, 2009. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Martin Nordholts· Aug 30, 2009, 14:55 UTC · lore
(Resending as I managed to mangle the previous patch despite trying not to...)

It is nice and easy to git-add ignored and unknown files in a git-status buffer. Make it equally easy to add unmerged files which is a common use case.

Signed-off-by: Martin Nordholts <martinn@src.gnome.org>
---
 contrib/emacs/git.el |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to contrib/emacs/git.el +1 −1
diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el
index 8c70ad8..3af5d00 100644
--- a/contrib/emacs/git.el
+++ b/contrib/emacs/git.el
@@ -1046,7 +1046,7 @@ The FILES list must be sorted."
 (defun git-add-file ()
   "Add marked file(s) to the index cache."
   (interactive)
-  (let ((files (git-get-filenames (git-marked-files-state 'unknown 'ignored))))
+  (let ((files (git-get-filenames (git-marked-files-state 'unknown 'ignored 'unmerged))))
     ;; FIXME: add support for directories
     (unless files
       (push (file-relative-name (read-file-name "File to add: " nil nil t)) files))
-- 
1.6.2.5
Alexandre Julliard· Aug 30, 2009, 15:58 UTC · re: Martin Nordholts · lore

Re: [PATCH] git.el: Make it easy to add unmerged files

Martin Nordholts <martin@chromecode.com> writes:
Show 5 quoted lines
> (Resending as I managed to mangle the previous patch despite trying not to...)
>
> It is nice and easy to git-add ignored and unknown files in a
> git-status buffer. Make it equally easy to add unmerged files which is
> a common use case.

That's not quite what adding a file means in git.el, unmerged files are considered added already, and marking them resolved is done through the git-resolve-file command. Of course that was implemented before git overloaded the meaning of git-add to mean git-update-index, so maybe we should follow the trend and use git-add-file for all index updates. In that case git-resolve-file should probably be removed.

-- 
Alexandre Julliard
julliard@winehq.org
Martin Nordholts· Sep 2, 2009, 05:48 UTC · re: Alexandre Julliard · lore

Re: [PATCH] git.el: Make it easy to add unmerged files

On 08/30/2009 05:58 PM, Alexandre Julliard wrote:
Show 14 quoted lines
> Martin Nordholts <martin@chromecode.com> writes:
> 
>> (Resending as I managed to mangle the previous patch despite trying not to...)
>>
>> It is nice and easy to git-add ignored and unknown files in a
>> git-status buffer. Make it equally easy to add unmerged files which is
>> a common use case.
> 
> That's not quite what adding a file means in git.el, unmerged files are
> considered added already, and marking them resolved is done through the
> git-resolve-file command. Of course that was implemented before git
> overloaded the meaning of git-add to mean git-update-index, so maybe we
> should follow the trend and use git-add-file for all index updates. In
> that case git-resolve-file should probably be removed.

Since git instructs the user to use git-add for marking unmerged files as resolved ("After resolving the conflicts, mark the corrected paths with 'git add <paths>' or 'git rm <paths>' and commit the result.") and doesn't even mention git-update-index, I think we should change git.el accordingly.

But why do we need to also remove and disable git-resolve-file from git.el? It doesn't hurt to keep that function and the keybinding, does it?

 / Martin
Alexandre Julliard· Sep 2, 2009, 08:48 UTC · re: Martin Nordholts · lore

Re: [PATCH] git.el: Make it easy to add unmerged files

Martin Nordholts <martin@chromecode.com> writes:
Show 25 quoted lines
> On 08/30/2009 05:58 PM, Alexandre Julliard wrote:
>> Martin Nordholts <martin@chromecode.com> writes:
>> 
>>> (Resending as I managed to mangle the previous patch despite trying not to...)
>>>
>>> It is nice and easy to git-add ignored and unknown files in a
>>> git-status buffer. Make it equally easy to add unmerged files which is
>>> a common use case.
>> 
>> That's not quite what adding a file means in git.el, unmerged files are
>> considered added already, and marking them resolved is done through the
>> git-resolve-file command. Of course that was implemented before git
>> overloaded the meaning of git-add to mean git-update-index, so maybe we
>> should follow the trend and use git-add-file for all index updates. In
>> that case git-resolve-file should probably be removed.
>
> Since git instructs the user to use git-add for marking unmerged files
> as resolved ("After resolving the conflicts, mark the corrected paths
> with 'git add <paths>' or 'git rm <paths>' and commit the result.") and
> doesn't even mention git-update-index, I think we should change git.el
> accordingly.
>
> But why do we need to also remove and disable git-resolve-file from
> git.el? It doesn't hurt to keep that function and the keybinding, does
> it?

It doesn't hurt much, but having two keybindings for the same thing is a bit wasteful since there aren't that many simple bindings available. If we remove it, it opens the door to later reusing the 'R' key for something else (a git-rename function would be the obvious choice).

-- 
Alexandre Julliard
julliard@winehq.org

← back to recent threads