When checkout-cache -a is run, currently it attempts to extract
each existing unmerged stage to the same destination and
complains to what it itself has done. This is nonsensical.
Presumably, the user is running checkout-cache -a in order to
verify the result of the part that has cleanly been merged. So
check out only stage 0 entries and give warnings for paths that
are unmerged.
Signed-off-by: Junio C Hamano <[EMAIL PROTECTED]>
---
checkout-cache.c | 11 +++++++++++
1 files changed, 11 insertions(+)
checkout-cache.c: 431b7032576f40d93a08be801e26f76c168ed57b
--- checkout-cache.c
+++ checkout-cache.c 2005-04-16 22:23:15.000000000 -0700
@@ -121,10 +121,21 @@
static int checkout_all(void)
{
+ struct cache_entry *unmerge_skipping = NULL;
int i;
for (i = 0; i < active_nr ; i++) {
struct cache_entry *ce = active_cache[i];
+ if (ce_stage(ce)) {
+ if (!unmerge_skipping ||
+ strcmp(unmerge_skipping->name, ce->name))
+ fprintf(stderr,
+ "checkout-cache: needs merge %s\n",
+ ce->name);
+ unmerge_skipping = ce;
+ continue;
+ }
+ unmerge_skipping = NULL;
if (checkout_entry(ce) < 0)
return -1;
}
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html