Re: [RFC/PATCHv8 00/10] git notes
From: Alex Riesen <hidden>
Date: 2016-06-15 22:48:03
On Fri, Nov 20, 2009 at 11:46, Junio C Hamano [off-list ref] wrote:
quoted hunk ↗ jump to hunk
@@ -716,7 +719,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)if (!strcmp(arg, "-")) arg = "@{-1}"; - if (get_sha1(arg, rev)) { + if (get_sha1_mb(arg, rev)) { if (has_dash_dash) /* case (1) */ die("invalid reference: %s", arg); if (!patch_mode &&
This is a bit of a problem on Windows, as the arg (eventually containing something like "master..."), will be passed to resolve_ref below. Now, Windows, being the piece of shit it is, will lie and tell that a file "refs/heads/master..." exists and be same as "refs/heads/master". This breaks "checkout to merge base" on Windows and t2012 in particular. BTW, why should the arg be run through resolve_ref at all if get_sha1(_mb) has succeeded? Isn't the commit already resolved by lookup_commit_reference_gently?