blob 1c1490ca6855e4703005dc4e0fa29bb1a04c6ab2 2106 bytes (raw)
name: t/t3302-notes-index-expensive.sh # note: path name is non-authoritative(*)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
| | #!/bin/sh
#
# Copyright (c) 2007 Johannes E. Schindelin
#
test_description='Test commit notes index (expensive!)'
. ./test-lib.sh
create_repo () {
number_of_commits=$1
nr=0
test -d .git || {
git init &&
(
while test $nr -lt $number_of_commits
do
nr=$(($nr+1))
mark=$(($nr+$nr))
notemark=$(($mark+1))
test_tick &&
cat <<-INPUT_END &&
commit refs/heads/main
mark :$mark
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #$nr
COMMIT
M 644 inline file
data <<EOF
file in commit #$nr
EOF
blob
mark :$notemark
data <<EOF
note for commit #$nr
EOF
INPUT_END
echo "N :$notemark :$mark" >>note_commit
done &&
test_tick &&
cat <<-INPUT_END &&
commit refs/notes/commits
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
notes
COMMIT
INPUT_END
cat note_commit
) |
git fast-import --quiet &&
git config core.notesRef refs/notes/commits
}
}
test_notes () {
count=$1 &&
git config core.notesRef refs/notes/commits &&
git log | grep "^ " >output &&
i=$count &&
while test $i -gt 0
do
echo " commit #$i" &&
echo " note for commit #$i" &&
i=$(($i-1))
done >expect &&
test_cmp expect output
}
write_script time_notes <<\EOF
mode=$1
i=1
while test $i -lt $2
do
case $1 in
no-notes)
GIT_NOTES_REF=non-existing
export GIT_NOTES_REF
;;
notes)
unset GIT_NOTES_REF
;;
esac
git log
i=$(($i+1))
done >/dev/null
EOF
time_notes () {
for mode in no-notes notes
do
echo $mode
/usr/bin/time ../time_notes $mode $1
done
}
do_tests () {
count=$1 pr=${2-}
test_expect_success $pr "setup $count" '
mkdir "$count" &&
(
cd "$count" &&
create_repo "$count"
)
'
test_expect_success $pr 'notes work' '
(
cd "$count" &&
test_notes "$count"
)
'
test_expect_success "USR_BIN_TIME${pr:+,$pr}" 'notes timing with /usr/bin/time' '
(
cd "$count" &&
time_notes 100
)
'
}
do_tests 10
for count in 100 1000 10000
do
do_tests "$count" EXPENSIVE
done
test_done
|
debug log:
solving 1c1490ca68 ...
found 1c1490ca68 in https://public-inbox.org/git/0697ef9742af1ab15bd886990bbc0080bad6f41c.1605221039.git.gitgitgadget@gmail.com/ ||
https://public-inbox.org/git/aee29a0528462137af6811d22da50dfcad585b84.1605629548.git.gitgitgadget@gmail.com/
found 7217c5e222 in https://80x24.org/mirrors/git.git
preparing index
index prepared:
100755 7217c5e222baf0b99b934e36b9418c9d8e13ae9d t/t3302-notes-index-expensive.sh
applying [1/1] https://public-inbox.org/git/0697ef9742af1ab15bd886990bbc0080bad6f41c.1605221039.git.gitgitgadget@gmail.com/
diff --git a/t/t3302-notes-index-expensive.sh b/t/t3302-notes-index-expensive.sh
index 7217c5e222..1c1490ca68 100755
Checking patch t/t3302-notes-index-expensive.sh...
Applied patch t/t3302-notes-index-expensive.sh cleanly.
skipping https://public-inbox.org/git/aee29a0528462137af6811d22da50dfcad585b84.1605629548.git.gitgitgadget@gmail.com/ for 1c1490ca68
index at:
100755 1c1490ca6855e4703005dc4e0fa29bb1a04c6ab2 t/t3302-notes-index-expensive.sh
(*) Git path names are given by the tree(s) the blob belongs to.
Blobs themselves have no identifier aside from the hash of its contents.^
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).