merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4
' as 'third_party/git'
This commit is contained in:
commit
7ef0d62730
3629 changed files with 1139935 additions and 0 deletions
122
third_party/git/t/t6001-rev-list-graft.sh
vendored
Executable file
122
third_party/git/t/t6001-rev-list-graft.sh
vendored
Executable file
|
@ -0,0 +1,122 @@
|
|||
#!/bin/sh
|
||||
|
||||
test_description='Revision traversal vs grafts and path limiter'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
mkdir subdir &&
|
||||
echo >fileA fileA &&
|
||||
echo >subdir/fileB fileB &&
|
||||
git add fileA subdir/fileB &&
|
||||
git commit -a -m "Initial in one history." &&
|
||||
A0=$(git rev-parse --verify HEAD) &&
|
||||
|
||||
echo >fileA fileA modified &&
|
||||
git commit -a -m "Second in one history." &&
|
||||
A1=$(git rev-parse --verify HEAD) &&
|
||||
|
||||
echo >subdir/fileB fileB modified &&
|
||||
git commit -a -m "Third in one history." &&
|
||||
A2=$(git rev-parse --verify HEAD) &&
|
||||
|
||||
rm -f .git/refs/heads/master .git/index &&
|
||||
|
||||
echo >fileA fileA again &&
|
||||
echo >subdir/fileB fileB again &&
|
||||
git add fileA subdir/fileB &&
|
||||
git commit -a -m "Initial in alternate history." &&
|
||||
B0=$(git rev-parse --verify HEAD) &&
|
||||
|
||||
echo >fileA fileA modified in alternate history &&
|
||||
git commit -a -m "Second in alternate history." &&
|
||||
B1=$(git rev-parse --verify HEAD) &&
|
||||
|
||||
echo >subdir/fileB fileB modified in alternate history &&
|
||||
git commit -a -m "Third in alternate history." &&
|
||||
B2=$(git rev-parse --verify HEAD) &&
|
||||
: done
|
||||
'
|
||||
|
||||
check () {
|
||||
type=$1
|
||||
shift
|
||||
|
||||
arg=
|
||||
which=arg
|
||||
rm -f test.expect
|
||||
for a
|
||||
do
|
||||
if test "z$a" = z--
|
||||
then
|
||||
which=expect
|
||||
child=
|
||||
continue
|
||||
fi
|
||||
if test "$which" = arg
|
||||
then
|
||||
arg="$arg$a "
|
||||
continue
|
||||
fi
|
||||
if test "$type" = basic
|
||||
then
|
||||
echo "$a"
|
||||
else
|
||||
if test "z$child" != z
|
||||
then
|
||||
echo "$child $a"
|
||||
fi
|
||||
child="$a"
|
||||
fi
|
||||
done >test.expect
|
||||
if test "$type" != basic && test "z$child" != z
|
||||
then
|
||||
echo >>test.expect $child
|
||||
fi
|
||||
if test $type = basic
|
||||
then
|
||||
git rev-list $arg >test.actual
|
||||
elif test $type = parents
|
||||
then
|
||||
git rev-list --parents $arg >test.actual
|
||||
elif test $type = parents-raw
|
||||
then
|
||||
git rev-list --parents --pretty=raw $arg |
|
||||
sed -n -e 's/^commit //p' >test.actual
|
||||
fi
|
||||
test_cmp test.expect test.actual
|
||||
}
|
||||
|
||||
for type in basic parents parents-raw
|
||||
do
|
||||
test_expect_success 'without grafts' "
|
||||
rm -f .git/info/grafts &&
|
||||
check $type $B2 -- $B2 $B1 $B0
|
||||
"
|
||||
|
||||
test_expect_success 'with grafts' "
|
||||
echo '$B0 $A2' >.git/info/grafts &&
|
||||
check $type $B2 -- $B2 $B1 $B0 $A2 $A1 $A0
|
||||
"
|
||||
|
||||
test_expect_success 'without grafts, with pathlimit' "
|
||||
rm -f .git/info/grafts &&
|
||||
check $type $B2 subdir -- $B2 $B0
|
||||
"
|
||||
|
||||
test_expect_success 'with grafts, with pathlimit' "
|
||||
echo '$B0 $A2' >.git/info/grafts &&
|
||||
check $type $B2 subdir -- $B2 $B0 $A2 $A0
|
||||
"
|
||||
|
||||
done
|
||||
|
||||
test_expect_success 'show advice that grafts are deprecated' '
|
||||
git show HEAD 2>err &&
|
||||
test_i18ngrep "git replace" err &&
|
||||
test_config advice.graftFileDeprecated false &&
|
||||
git show HEAD 2>err &&
|
||||
test_i18ngrep ! "git replace" err
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Add table
Add a link
Reference in a new issue