From: Junio C Hamano Date: Fri, 12 Oct 2018 07:35:16 GMT Subject: Re: [PATCH v2 0/4] Multiple subtree split fixes regarding complex repos Message-ID: In-Reply-To: <20181011194605.19518-1-rstrain@swri.org> Roger Strain writes: > After doing some testing at scale, determined that one call was > taking too long; replaced that with an alternate call which > returns the same data significantly faster. Curious where the time goes. Do you know? > Also, if anyone has any other feedback on these I'd really love to > hear it. It's working better for us (as in, it actually generates The previous one is already in 'next'; please make it incremental with explanation as to why "show -s" is worse than "log -1" (but see below). > # processing commit without normal parent information; > # fetch from repo > - parents=$(git show -s --pretty=%P "$rev") > + parents=$(git log --pretty=%P -n 1 "$rev") If you want to learn the parents of a given commit: $ git help revisions says ^@, e.g. HEAD^@ A suffix ^ followed by an at sign is the same as listing all parents of (meaning, include anything reachable from its parents, but not the commit itself). so parents=$(git rev-parse "$rev^@") ought to be the most efficient way to do this, I suspect.