diff options
author | Vincent Ambo <mail@tazj.in> | 2021-09-21T10·03+0300 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-09-21T11·29+0300 |
commit | 43b1791ec601732ac31195df96781a848360a9ac (patch) | |
tree | daae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t5613-info-alternate.sh | |
parent | 2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (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/t5613-info-alternate.sh')
-rwxr-xr-x | third_party/git/t/t5613-info-alternate.sh | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/third_party/git/t/t5613-info-alternate.sh b/third_party/git/t/t5613-info-alternate.sh deleted file mode 100755 index 895f46bb9118..000000000000 --- a/third_party/git/t/t5613-info-alternate.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2006 Martin Waitz <tali@admingilde.org> -# - -test_description='test transitive info/alternate entries' -. ./test-lib.sh - -test_expect_success 'preparing first repository' ' - test_create_repo A && ( - cd A && - echo "Hello World" > file1 && - git add file1 && - git commit -m "Initial commit" file1 && - git repack -a -d && - git prune - ) -' - -test_expect_success 'preparing second repository' ' - git clone -l -s A B && ( - cd B && - echo "foo bar" > file2 && - git add file2 && - git commit -m "next commit" file2 && - git repack -a -d -l && - git prune - ) -' - -test_expect_success 'preparing third repository' ' - git clone -l -s B C && ( - cd C && - echo "Goodbye, cruel world" > file3 && - git add file3 && - git commit -m "one more" file3 && - git repack -a -d -l && - git prune - ) -' - -test_expect_success 'count-objects shows the alternates' ' - cat >expect <<-EOF && - alternate: $(pwd)/B/.git/objects - alternate: $(pwd)/A/.git/objects - EOF - git -C C count-objects -v >actual && - grep ^alternate: actual >actual.alternates && - test_cmp expect actual.alternates -' - -# Note: These tests depend on the hard-coded value of 5 as the maximum depth -# we will follow recursion. We start the depth at 0 and count links, not -# repositories. This means that in a chain like: -# -# A --> B --> C --> D --> E --> F --> G --> H -# 0 1 2 3 4 5 6 -# -# we are OK at "G", but break at "H", even though "H" is actually the 8th -# repository, not the 6th, which you might expect. Counting the links allows -# N+1 repositories, and counting from 0 to 5 inclusive allows 6 links. -# -# Note also that we must use "--bare -l" to make the link to H. The "-l" -# ensures we do not do a connectivity check, and the "--bare" makes sure -# we do not try to checkout the result (which needs objects), either of -# which would cause the clone to fail. -test_expect_success 'creating too deep nesting' ' - git clone -l -s C D && - git clone -l -s D E && - git clone -l -s E F && - git clone -l -s F G && - git clone --bare -l -s G H -' - -test_expect_success 'validity of seventh repository' ' - git -C G fsck -' - -test_expect_success 'invalidity of eighth repository' ' - test_must_fail git -C H fsck -' - -test_expect_success 'breaking of loops' ' - echo "$(pwd)"/B/.git/objects >>A/.git/objects/info/alternates && - git -C C fsck -' - -test_expect_success 'that info/alternates is necessary' ' - rm -f C/.git/objects/info/alternates && - test_must_fail git -C C fsck -' - -test_expect_success 'that relative alternate is possible for current dir' ' - echo "../../../B/.git/objects" >C/.git/objects/info/alternates && - git fsck -' - -test_expect_success 'that relative alternate is recursive' ' - git -C D fsck -' - -# we can reach "A" from our new repo both directly, and via "C". -# The deep/subdir is there to make sure we are not doing a stupid -# pure-text comparison of the alternate names. -test_expect_success 'relative duplicates are eliminated' ' - mkdir -p deep/subdir && - git init --bare deep/subdir/duplicate.git && - cat >deep/subdir/duplicate.git/objects/info/alternates <<-\EOF && - ../../../../C/.git/objects - ../../../../A/.git/objects - EOF - cat >expect <<-EOF && - alternate: $(pwd)/C/.git/objects - alternate: $(pwd)/B/.git/objects - alternate: $(pwd)/A/.git/objects - EOF - git -C deep/subdir/duplicate.git count-objects -v >actual && - grep ^alternate: actual >actual.alternates && - test_cmp expect actual.alternates -' - -test_expect_success CASE_INSENSITIVE_FS 'dup finding can be case-insensitive' ' - git init --bare insensitive.git && - # the previous entry for "A" will have used uppercase - cat >insensitive.git/objects/info/alternates <<-\EOF && - ../../C/.git/objects - ../../a/.git/objects - EOF - cat >expect <<-EOF && - alternate: $(pwd)/C/.git/objects - alternate: $(pwd)/B/.git/objects - alternate: $(pwd)/A/.git/objects - EOF - git -C insensitive.git count-objects -v >actual && - grep ^alternate: actual >actual.alternates && - test_cmp expect actual.alternates -' - -test_done |