Ovidiu Gheorghioiu <ovidiug@xxxxxxxxx> wrote: > Hi git guys, > > The bug is fairly simple: if we have a conflicted merge, AND all the > conflicts have been resolved to the version in HEAD, the commit > --dry-run error code says nothing to commit. As expected, git commit > goes through. > > The commit message IS correct (-ish), just not the error code: > > """ > All conflicts fixed but you are still merging. > (use "git commit" to conclude merge) > > nothing to commit, working directory clean > """ > > The script below demonstrates the problem; version tested was 2.5.0. > Let me know if you need any more details. > > Best, > Ovidiu > > ------ > #!/bin/bash > mkdir test-repository || exit 1 > cd test-repository > git init > echo "Initial contents, unimportant" > test-file > git add test-file > git commit -m "Initial commit" > echo "commit-1-state" > test-file > git commit -m "commit 1" -i test-file > git tag commit-1 > git checkout -b branch-2 HEAD^1 > echo "commit-2-state" > test-file > git commit -m "commit 2" -i test-file > > # Creates conflicted state. > git merge --no-commit commit-1 > > # Resolved entirely to commit-2, aka HEAD. > echo "commit-2-state" > test-file > # If we'd set to commit-1=state, all would work as expected (changes vs HEAD). > git add test-file > > # ===== Bug is here. > git commit --dry-run && echo "Git said something to commit" \ > || echo "Git said NOTHING to commit" > > git commit -m "Something to commit after all" && echo "Commit went through" > > git log --pretty=oneline > > cd .. I've reproduced the bug with git 2.7.1. [1] I plan on adding a test case and a patch to fix this. [1] http://article.gmane.org/gmane.comp.version-control.git/276591 I would have responded to the original email but the gmane "follow-up" is not sending out the email. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html