rerere "remaining"
authorMartin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Wed, 16 Feb 2011 10:47:44 +0000 (05:47 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Feb 2011 21:20:50 +0000 (13:20 -0800)
commitac49f5ca84d82e5b10bc1eb022dfdd9b0e8f7749
tree418f03c9befc275a222889dde09610b5e9440cc2
parent685e9d9145a186a4b2036ecf2be73cc86d99a9b7
rerere "remaining"

After "rerere" resolves conflicts by reusing old resolution, there would
be three kinds of paths with conflict in the index:

 * paths that have been resolved in the working tree by rerere;
 * paths that need further work whose resolution could be recorded;
 * paths that need resolving that rerere won't help.

When the user wants a list of paths that need hand-resolving, output from
"rerere status" does not help, as it shows only the second category, but
the paths in the third category still needs work (rerere only makes sense
for regular files that have both our side and their side, and does not
help other kinds of conflicts, e.g. "we modified, they deleted").

The new subcommand "rerere remaining" can be used to show both. As
opposed to "rerere status", this subcommand also skips printing paths
that have been added to the index, since these paths are already
resolved and are no longer "remaining".

Initial patch provided by Junio. Refactored and modified to skip
resolved paths by Martin. Commit message mostly by Junio.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rerere.c
rerere.c
rerere.h