From: Asheesh Laroia Date: Wed, 21 Jan 2009 21:00:36 GMT Subject: Short "git commit $file" syntax fails in the face of a resolved conflict Message-ID: I have found what seems to be a bug in the short "git commit $file" mode of interaction with git. To reproduce it, you can: 1. Create a repository with some content. $ (mkdir a ; cd a ; git init ; echo hi > file ; git add file ; git commit -m 'initial commit') Initialized empty Git repository in /tmp/playground.2009-01-21.w15613/a/.git/ Created initial commit 276d6eb: initial commit 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 file 2. Clone that repository. $ git clone a b Initialized empty Git repository in /tmp/playground.2009-01-21.w15613/b/.git/ 3. Create changes in "a" that are not yet cloned into "b". $ (cd a ; echo ho > file ; git add file ; git commit -m update) Created commit 91deff9: update 1 files changed, 1 insertions(+), 1 deletions(-) 4. Make changes in "b", the clone. $ echo lol > file $ git add file ; git commit -m 'Some changes' Created commit 5d74b5b: Some changes 1 files changed, 1 insertions(+), 1 deletions(-) 5. Fetch and merge (AKA pull) from the first repo. $ git pull remote: Counting objects: 5, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. From /tmp/playground.2009-01-21.w15613/a/ 276d6eb..91deff9 master -> origin/master Auto-merged file CONFLICT (content): Merge conflict in file Automatic merge failed; fix conflicts and then commit the result. 6. Resolve the conflict (in our case, by discarding the changes in the "b" clone). $ echo ho > file 7. Commit the resolved conflict. NOTE: The normal way to do step 6 is to "git add file ; git commit -m yay". But I will now try to use the "git commit file" shorthand: $ git commit file -m 'Resolved conflict' fatal: cannot do a partial commit during a merge. 8. Declare a bug. I believe that the "git commit file" command issued in step 6 should have worked as well as the "git add file ; git commit" that us old-time git users do. 9. Discuss on the git list. Do y'all agree that the git behavior is strange and unnecessarily user-impeding here? Cheers! -- Asheesh. P.S. I'm not the one who ran into the bad behavior here; Nathan (CC:d) is the one who did. You don't have to keep him CC:d, though. -- Avoid gunfire in the bathroom tonight.