Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: >> $ time git for-each-ref --format='%(refname:short)' refs/tags >/dev/null >> >> real 0m0.009s >> user 0m0.004s >> sys 0m0.004s > > And the timings in the ticket I mentioned above are not pretty small: > 0.055s vs 1.341s > >> The upcoming refname:strip does much better: >> >> $ time git for-each-ref --format='%(refname:strip=2)' refs/tags >/dev/null >> >> real 0m0.004s >> user 0m0.000s >> sys 0m0.004s > > This is funny: after reading the commit message at > https://github.com/git/git/commit/0571979b it eludes me why strip=2 should > be so much faster than short... "short" tries to ensure that the result is not ambiguous within the repository, so when asked to shorten refs/heads/foo, it needs to check if refs/tags/foo exists. "strip=2" textually strips two levels from the top without worrying about ambiguity across different hierarchies. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html