Subject: [PATCH] Make 'rerere forget' work from a subdirectory.

From: Johannes Sixt <[email-masked]>
Date: Thu, 21 Jan 2010 09:23:48 +0100

From: Johannes Sixt <[email-masked]>

It forgot to apply the prefix to the paths given on the command line.

Signed-off-by: Johannes Sixt <[email-masked]>
---
 Johannes Sixt schrieb:
 > Junio C Hamano schrieb:
 >> * jc/cache-unmerge (2009-12-25) 9 commits
 >>   (merged to 'next' on 2010-01-13 at 2290c44)
 >>  + rerere forget path: forget recorded resolution
 >
 > Heads up: there is something fishy with the pathspec on Windows (foo\bar
 > is not recognized as foo/bar, but it should be). Will investigate.

 A call get_pathspec is necessary, which applies the prefix and also
 converts Windows's backslashes to forward-slashes.

 -- Hannes

 builtin-rerere.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/builtin-rerere.c b/builtin-rerere.c
index 25f507a..34f9ace 100644
--- a/builtin-rerere.c
+++ b/builtin-rerere.c
@@ -120,8 +120,10 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
 	if (argc < 2)
 		return rerere(flags);

-	if (!strcmp(argv[1], "forget"))
-		return rerere_forget(argv + 2);
+	if (!strcmp(argv[1], "forget")) {
+		const char **pathspec = get_pathspec(prefix, argv + 2);
+		return rerere_forget(pathspec);
+	}

 	fd = setup_rerere(&merge_rr, flags);
 	if (fd < 0)
-- 
1.6.6.1.1388.g96b4