[PATCH 3/4] Prepare testsuite for a "git clone" that packs refs
From: Johan Herland <hidden>
Date: 2016-06-15 22:44:28
Subsystem:
the rest · Maintainer:
Linus Torvalds
t5515-fetch-merge-logic removes many, but not all, refs between each test. This is done by removing the corresponding refs/foo/* files in the .git/refs hierarchy. However, once "git clone" starts producing packed refs, these refs will no longer be in the .git/refs hierarchy, but rather listed in .git/packed-refs. This patch therefore teaches t5515-fetch-merge-logic to also remove the refs in question from the packed-refs file. Signed-off-by: Johan Herland <redacted> --- t/t5515-fetch-merge-logic.sh | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/t/t5515-fetch-merge-logic.sh b/t/t5515-fetch-merge-logic.sh
index 65c3774..8a8c35c 100755
--- a/t/t5515-fetch-merge-logic.sh
+++ b/t/t5515-fetch-merge-logic.sh@@ -145,6 +145,25 @@ do rm -f .git/refs/heads/* rm -f .git/refs/remotes/rem/* rm -f .git/refs/tags/* + cat .git/packed-refs | \ + while read sha1 refname + do + case "$sha1" in + ^*) # remove peeled tags + ;; + *) + case "$refname" in + refs/heads/*|\ + refs/remotes/rem/*|\ + refs/tags/*) # remove same as above + ;; + *) # keep everything else + echo "$sha1 $refname" + ;; + esac + esac + done > .git/packed-refs.new + mv .git/packed-refs.new .git/packed-refs git fetch "$@" >/dev/null cat .git/FETCH_HEAD } >"$actual_f" &&
--
1.5.5.159.g8c84b