update-index --unresolve: work from a subdirectory.
It completely forgot to take the prefix into account, so you had to feed the full path even when you start from a subdirectory, which was nonsensical. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
@ -576,7 +576,8 @@ static void read_head_pointers(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_unresolve(int ac, const char **av)
|
static int do_unresolve(int ac, const char **av,
|
||||||
|
const char *prefix, int prefix_length)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
@ -588,7 +589,10 @@ static int do_unresolve(int ac, const char **av)
|
|||||||
|
|
||||||
for (i = 1; i < ac; i++) {
|
for (i = 1; i < ac; i++) {
|
||||||
const char *arg = av[i];
|
const char *arg = av[i];
|
||||||
err |= unresolve_one(arg);
|
const char *p = prefix_path(prefix, prefix_length, arg);
|
||||||
|
err |= unresolve_one(p);
|
||||||
|
if (p != arg)
|
||||||
|
free((char*)p);
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@ -704,7 +708,8 @@ int main(int argc, const char **argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!strcmp(path, "--unresolve")) {
|
if (!strcmp(path, "--unresolve")) {
|
||||||
has_errors = do_unresolve(argc - i, argv + i);
|
has_errors = do_unresolve(argc - i, argv + i,
|
||||||
|
prefix, prefix_length);
|
||||||
if (has_errors)
|
if (has_errors)
|
||||||
active_cache_changed = 0;
|
active_cache_changed = 0;
|
||||||
goto finish;
|
goto finish;
|
||||||
|
Reference in New Issue
Block a user