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

4 messages from 2009-08-30 to 2009-09-02. Participants: Martin Nordholts, Alexandre Julliard.
Thread: https://gitlist.dev/t/20791

## Martin Nordholts, 2009-08-30 14:55

Subject: [PATCH] git.el: Make it easy to add unmerged files
Message-ID: <4A9A92F4.2090209@chromecode.com>
URL: https://gitlist.dev/e/4A9A92F4.2090209%40chromecode.com

```
(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(-)

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, 2009-08-30 15:58

Subject: Re: [PATCH] git.el: Make it easy to add unmerged files
Message-ID: <87ws4l47k2.fsf@wine.dyndns.org>
URL: https://gitlist.dev/e/87ws4l47k2.fsf%40wine.dyndns.org
In-Reply-To: <4A9A92F4.2090209@chromecode.com>

```
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.

-- 
Alexandre Julliard
julliard@winehq.org

```

## Martin Nordholts, 2009-09-02 05:48

Subject: Re: [PATCH] git.el: Make it easy to add unmerged files
Message-ID: <4A9E0717.9040801@chromecode.com>
URL: https://gitlist.dev/e/4A9E0717.9040801%40chromecode.com
In-Reply-To: <87ws4l47k2.fsf@wine.dyndns.org>

```
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?

 / Martin

```

## Alexandre Julliard, 2009-09-02 08:48

Subject: Re: [PATCH] git.el: Make it easy to add unmerged files
Message-ID: <87iqg120ln.fsf@wine.dyndns.org>
URL: https://gitlist.dev/e/87iqg120ln.fsf%40wine.dyndns.org
In-Reply-To: <4A9E0717.9040801@chromecode.com>

```
Martin Nordholts <martin@chromecode.com> writes:

> 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

```
