3 test_description='Test commit notes organized in subtrees'
12 commit refs/notes/commits
13 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
18 from refs/notes/commits^0
25 git log | grep "^ " > output &&
26 i=$number_of_commits &&
27 while [ $i -gt 0 ]; do
29 echo " note for commit #$i" &&
32 test_cmp expect output
35 test_expect_success "setup: create $number_of_commits commits" '
39 while [ $nr -lt $number_of_commits ]; do
43 commit refs/heads/master
44 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
59 commit refs/notes/commits
60 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
70 git fast-import --quiet &&
71 git config core.notesRef refs/notes/commits
77 nr=$number_of_commits &&
78 git rev-list refs/heads/master |
80 note_path=$(echo "$sha1" | sed "$1")
82 M 100644 inline $note_path
92 git fast-import --quiet
95 test_expect_success 'test notes in 2/38-fanout' 'test_sha1_based "s|^..|&/|"'
96 test_expect_success 'verify notes in 2/38-fanout' 'verify_notes'
98 test_expect_success 'test notes in 4/36-fanout' 'test_sha1_based "s|^....|&/|"'
99 test_expect_success 'verify notes in 4/36-fanout' 'verify_notes'
101 test_expect_success 'test notes in 2/2/36-fanout' 'test_sha1_based "s|^\(..\)\(..\)|\1/\2/|"'
102 test_expect_success 'verify notes in 2/2/36-fanout' 'verify_notes'
107 nr=$number_of_commits &&
108 git rev-list refs/heads/master |
110 preferred_note_path=$(echo "$sha1" | sed "$1")
111 ignored_note_path=$(echo "$sha1" | sed "$2")
113 M 100644 inline $ignored_note_path
115 IGNORED note for commit #$nr
118 M 100644 inline $preferred_note_path
128 git fast-import --quiet
131 test_expect_success 'test notes in 4/36-fanout overriding 2/38-fanout' 'test_preferred "s|^....|&/|" "s|^..|&/|"'
132 test_expect_success 'verify notes in 4/36-fanout overriding 2/38-fanout' 'verify_notes'
134 test_expect_success 'test notes in 2/38-fanout overriding 2/2/36-fanout' 'test_preferred "s|^..|&/|" "s|^\(..\)\(..\)|\1/\2/|"'
135 test_expect_success 'verify notes in 2/38-fanout overriding 2/2/36-fanout' 'verify_notes'