From: Michael J Gruber Date: Mon, 29 Oct 2012 09:02:47 GMT Subject: Re: [PATCH] replace: parse revision argument for -d Message-ID: <508E4637.2060903@drmicha.warpmail.net> In-Reply-To: <20121029065836.GC5102@sigill.intra.peff.net> Jeff King venit, vidit, dixit 29.10.2012 07:58: > On Fri, Oct 26, 2012 at 03:33:27PM +0200, Michael J Gruber wrote: > >> for (p = argv; *p; p++) { >> - if (snprintf(ref, sizeof(ref), "refs/replace/%s", *p) >> + q = *p; >> + if (get_sha1(q, sha1)) >> + warning("Failed to resolve '%s' as a valid ref; taking it literally.", q); >> + else >> + q = sha1_to_hex(sha1); > > Doesn't get_sha1 already handle this for 40-byte sha1s (and for anything > else, it would not work anyway)? What is "this"??? So far, "git replace -d " only accepts a full sha1, because it uses it literally as a ref name "resf/replace/" without resolving anything. The patch makes it so that gets resolved to a sha1 even if it is abbreviated, and then it gets used. Or do you mean the warning? Michael