about summary refs log tree commit diff
path: root/third_party/git/t/t9351-fast-export-anonymize.sh
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t9351-fast-export-anonymize.sh
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/t/t9351-fast-export-anonymize.sh')
-rwxr-xr-xthird_party/git/t/t9351-fast-export-anonymize.sh134
1 files changed, 0 insertions, 134 deletions
diff --git a/third_party/git/t/t9351-fast-export-anonymize.sh b/third_party/git/t/t9351-fast-export-anonymize.sh
deleted file mode 100755
index 5ac2c3b5eef0..000000000000
--- a/third_party/git/t/t9351-fast-export-anonymize.sh
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/bin/sh
-
-test_description='basic tests for fast-export --anonymize'
-. ./test-lib.sh
-
-test_expect_success 'setup simple repo' '
-	test_commit base &&
-	test_commit foo &&
-	test_commit retain-me &&
-	git checkout -b other HEAD^ &&
-	mkdir subdir &&
-	test_commit subdir/bar &&
-	test_commit subdir/xyzzy &&
-	fake_commit=$(echo $ZERO_OID | sed s/0/a/) &&
-	git update-index --add --cacheinfo 160000,$fake_commit,link1 &&
-	git update-index --add --cacheinfo 160000,$fake_commit,link2 &&
-	git commit -m "add gitlink" &&
-	git tag -m "annotated tag" mytag
-'
-
-test_expect_success 'export anonymized stream' '
-	git fast-export --anonymize --all \
-		--anonymize-map=retain-me \
-		--anonymize-map=xyzzy:custom-name \
-		--anonymize-map=other \
-		>stream
-'
-
-# this also covers commit messages
-test_expect_success 'stream omits path names' '
-	! grep base stream &&
-	! grep foo stream &&
-	! grep subdir stream &&
-	! grep bar stream &&
-	! grep xyzzy stream
-'
-
-test_expect_success 'stream contains user-specified names' '
-	grep retain-me stream &&
-	grep custom-name stream
-'
-
-test_expect_success 'stream omits gitlink oids' '
-	# avoid relying on the whole oid to remain hash-agnostic; this is
-	# plenty to be unique within our test case
-	! grep a000000000000000000 stream
-'
-
-test_expect_success 'stream retains other as refname' '
-	grep other stream
-'
-
-test_expect_success 'stream omits other refnames' '
-	! grep master stream &&
-	! grep mytag stream
-'
-
-test_expect_success 'stream omits identities' '
-	! grep "$GIT_COMMITTER_NAME" stream &&
-	! grep "$GIT_COMMITTER_EMAIL" stream &&
-	! grep "$GIT_AUTHOR_NAME" stream &&
-	! grep "$GIT_AUTHOR_EMAIL" stream
-'
-
-test_expect_success 'stream omits tag message' '
-	! grep "annotated tag" stream
-'
-
-# NOTE: we chdir to the new, anonymized repository
-# after this. All further tests should assume this.
-test_expect_success 'import stream to new repository' '
-	git init new &&
-	cd new &&
-	git fast-import <../stream
-'
-
-test_expect_success 'result has two branches' '
-	git for-each-ref --format="%(refname)" refs/heads >branches &&
-	test_line_count = 2 branches &&
-	other_branch=refs/heads/other &&
-	main_branch=$(grep -v $other_branch branches)
-'
-
-test_expect_success 'repo has original shape and timestamps' '
-	shape () {
-		git log --format="%m %ct" --left-right --boundary "$@"
-	} &&
-	(cd .. && shape master...other) >expect &&
-	shape $main_branch...$other_branch >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'root tree has original shape' '
-	# the output entries are not necessarily in the same
-	# order, but we should at least have the same set of
-	# object types.
-	git -C .. ls-tree HEAD >orig-root &&
-	cut -d" " -f2 <orig-root | sort >expect &&
-	git ls-tree $other_branch >root &&
-	cut -d" " -f2 <root | sort >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'paths in subdir ended up in one tree' '
-	git -C .. ls-tree other:subdir >orig-subdir &&
-	cut -d" " -f2 <orig-subdir | sort >expect &&
-	tree=$(grep tree root | cut -f2) &&
-	git ls-tree $other_branch:$tree >tree &&
-	cut -d" " -f2 <tree >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'identical gitlinks got identical oid' '
-	awk "/commit/ { print \$3 }" <root | sort -u >commits &&
-	test_line_count = 1 commits
-'
-
-test_expect_success 'tag points to branch tip' '
-	git rev-parse $other_branch >expect &&
-	git for-each-ref --format="%(*objectname)" | grep . >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'idents are shared' '
-	git log --all --format="%an <%ae>" >authors &&
-	sort -u authors >unique &&
-	test_line_count = 1 unique &&
-	git log --all --format="%cn <%ce>" >committers &&
-	sort -u committers >unique &&
-	test_line_count = 1 unique &&
-	! test_cmp authors committers
-'
-
-test_done