*** This log is abridged to its last 500 KB: fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 17 - git fetch (fetch all remotes with fetch.all = true) ok 80 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 18 - git fetch one (explicit remote overrides fetch.all) ok 19 - git config fetch.all false (fetch only default remote) ok 81 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/*; branch:kept tag:pruned ok 20 - git fetch --no-all (fetch only default remote with fetch.all = true) ok 21 - git fetch --no-all (fetch only default remote with fetch.all = false) ok 82 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/*; branch:kept tag:pruned ok 22 - git fetch --no-all (fetch only default remote without fetch.all) ok 23 - git fetch --all --no-all (fetch only default remote) ok 83 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:pruned ok 24 - git fetch --no-all one (fetch only explicit remote) ok 84 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:pruned ok 25 - git fetch --no-all --all (fetch all remotes) # passed all 25 test(s) 1..25 *** t5515-fetch-merge-logic.sh *** ok 85 - name prune fetch.prune=false remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 86 - link prune fetch.prune=false remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 87 - name prune fetch.prune=false remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 88 - link prune fetch.prune=false remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 1 - setup ok 89 - name prune fetch.prune=false remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 2 - br-config-explicit ok 90 - link prune fetch.prune=false remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 3 - br-config-explicit config-explicit ok 91 - name prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 4 - br-config-explicit-merge ok 92 - link prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 5 - br-config-explicit-merge config-explicit ok 93 - name prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 6 - br-config-explicit-octopus ok 7 - br-config-explicit-octopus config-explicit ok 94 - link prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 8 - br-config-glob ok 95 - name prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 9 - br-config-glob config-glob ok 96 - link prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 10 - br-config-glob-merge ok 97 - name prune fetch.prune=unset remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 11 - br-config-glob-merge config-glob ok 98 - link prune fetch.prune=unset remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 12 - br-config-glob-octopus ok 99 - name prune fetch.prune=unset remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 13 - br-config-glob-octopus config-glob ok 100 - link prune fetch.prune=unset remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 14 - br-remote-explicit ok 101 - name prune fetch.prune=unset remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 15 - br-remote-explicit remote-explicit ok 16 - br-remote-explicit-merge ok 102 - link prune fetch.prune=unset remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 17 - br-remote-explicit-merge remote-explicit ok 103 - name prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 18 - br-remote-explicit-octopus ok 104 - link prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 19 - br-remote-explicit-octopus remote-explicit ok 105 - name prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 20 - br-remote-glob ok 106 - link prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 21 - br-remote-glob remote-glob ok 107 - name prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 22 - br-remote-glob-merge ok 23 - br-remote-glob-merge remote-glob ok 108 - link prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 24 - br-remote-glob-octopus ok 109 - name prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/*; branch:kept tag:pruned ok 25 - br-remote-glob-octopus remote-glob ok 110 - link prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/*; branch:kept tag:pruned ok 26 - br-branches-default ok 111 - name prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:pruned ok 27 - br-branches-default branches-default ok 28 - br-branches-default-merge ok 112 - link prune fetch.prune=false remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:pruned ok 29 - br-branches-default-merge branches-default ok 113 - name prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 30 - br-branches-default-octopus ok 114 - link prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:kept tag:kept ok 31 - br-branches-default-octopus branches-default ok 32 - br-branches-one ok 115 - name prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 33 - br-branches-one branches-one ok 116 - link prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 34 - br-branches-one-merge ok 117 - name prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 35 - br-branches-one-merge branches-one ok 36 - br-branches-one-octopus ok 118 - link prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 37 - br-branches-one-octopus branches-one ok 119 - name prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 38 - main ok 120 - link prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 39 - main config-explicit ok 121 - name prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 40 - main config-glob ok 41 - main remote-explicit ok 122 - link prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 42 - main remote-glob ok 123 - name prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 43 - main branches-default ok 124 - link prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 44 - main branches-one ok 125 - name prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 45 - br-unconfig ok 46 - br-unconfig config-explicit ok 126 - link prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 47 - br-unconfig config-glob ok 127 - name prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 48 - br-unconfig remote-explicit ok 128 - link prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 49 - br-unconfig remote-glob ok 129 - name prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 50 - br-unconfig branches-default ok 130 - link prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 51 - br-unconfig branches-one ok 52 - main ../.git ok 131 - name prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 53 - main ../.git one ok 54 - main ../.git one two ok 132 - link prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset; branch:pruned tag:kept ok 55 - main --tags ../.git ok 56 - main ../.git tag tag-one tag tag-three ok 133 - name prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 57 - main ../.git tag tag-one-tree tag tag-three-file ok 134 - link prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune; branch:pruned tag:kept ok 58 - main ../.git one tag tag-one tag tag-three-file ok 59 - br-unconfig ../.git ok 135 - name prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 60 - br-unconfig ../.git one ok 61 - br-unconfig ../.git one two ok 136 - link prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --no-prune; branch:kept tag:kept ok 62 - br-unconfig --tags ../.git ok 63 - br-unconfig ../.git tag tag-one tag tag-three ok 137 - name prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/*; branch:kept tag:pruned ok 64 - br-unconfig ../.git tag tag-one-tree tag tag-three-file ok 138 - link prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/*; branch:kept tag:pruned ok 65 - br-unconfig ../.git one tag tag-one tag tag-three-file # passed all 65 test(s) 1..65 *** t5516-fetch-push.sh *** ok 139 - name prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:pruned ok 1 - setup ok 2 - reject 'git push --no-ipv4' ok 3 - reject 'git push --no-ipv6' ok 4 - reject 'git fetch --no-ipv4' ok 5 - reject 'git fetch --no-ipv6' ok 140 - link prune fetch.prune=true remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=unset --prune origin refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:pruned ok 6 - fetch without wildcard ok 7 - fetch with wildcard ok 141 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune-tags; branch:kept tag:kept ok 8 - fetch with insteadOf ok 9 - fetch with pushInsteadOf (should not rewrite) ok 142 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune-tags; branch:kept tag:kept ok 10 - push without negotiation ok 143 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset; branch:kept tag:kept ok 11 - push with negotiation ok 144 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset; branch:kept tag:kept ok 12 - push with negotiation proceeds anyway even if negotiation fails ok 145 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=true; branch:kept tag:kept ok 13 - push deletion with negotiation ok 146 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=true; branch:kept tag:kept ok 147 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune --prune-tags; branch:pruned tag:pruned ok 14 - push with negotiation does not attempt to fetch submodules ok 15 - push without wildcard ok 148 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune --prune-tags; branch:pruned tag:pruned ok 16 - push with wildcard ok 17 - push with insteadOf ok 149 - name prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset; branch:pruned tag:pruned ok 18 - push with pushInsteadOf ok 19 - push with pushInsteadOf and explicit pushurl (pushInsteadOf should not rewrite) ok 150 - link prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset; branch:pruned tag:pruned ok 20 - push with matching heads ok 151 - name prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=true; branch:pruned tag:pruned ok 21 - push with matching heads on the command line ok 152 - link prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=true; branch:pruned tag:pruned ok 22 - failed (non-fast-forward) push with matching heads ok 153 - name prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset; branch:pruned tag:pruned ok 23 - push --force with matching heads ok 154 - link prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset; branch:pruned tag:pruned ok 155 - name prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=false remote.origin.pruneTags=true; branch:pruned tag:pruned ok 24 - push with matching heads and forced update ok 25 - push with no ambiguity (1) ok 156 - link prune fetch.prune=false remote.origin.prune=true fetch.pruneTags=false remote.origin.pruneTags=true; branch:pruned tag:pruned ok 26 - push with no ambiguity (2) ok 157 - name prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=true remote.origin.pruneTags=false; branch:kept tag:kept ok 158 - link prune fetch.prune=true remote.origin.prune=false fetch.pruneTags=true remote.origin.pruneTags=false; branch:kept tag:kept ok 27 - push with colon-less refspec, no ambiguity ok 159 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune --prune-tags origin +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:kept ok 28 - push with weak ambiguity (1) ok 160 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune --prune-tags origin +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:kept ok 161 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset --prune origin +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:kept ok 29 - push with weak ambiguity (2) ok 162 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset --prune origin +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:kept ok 30 - push with ambiguity ok 31 - push with onelevel ref ok 163 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=true --prune origin +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:kept ok 164 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=true --prune origin +refs/heads/*:refs/remotes/origin/*; branch:pruned tag:kept ok 32 - push with colon-less refspec (1) ok 165 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset origin --prune-tags; branch:kept tag:kept ok 33 - push with colon-less refspec (2) ok 166 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset origin --prune-tags; branch:kept tag:kept ok 34 - push with colon-less refspec (3) ok 167 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset origin --prune --prune-tags; branch:pruned tag:pruned ok 35 - push with colon-less refspec (4) ok 36 - push head with non-existent, incomplete dest ok 168 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset origin --prune --prune-tags; branch:kept tag:pruned ok 37 - push tag with non-existent, incomplete dest ok 38 - push sha1 with non-existent, incomplete dest ok 169 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune --prune-tags origin; branch:pruned tag:pruned ok 39 - push ref expression with non-existent, incomplete dest ok 170 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset --prune --prune-tags origin; branch:kept tag:pruned ok 40 - push with HEAD ok 171 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset --prune origin; branch:pruned tag:pruned ok 41 - push with HEAD nonexisting at remote ok 172 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset --prune origin; branch:kept tag:pruned ok 42 - push with +HEAD ok 173 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=true --prune origin; branch:pruned tag:pruned ok 43 - push HEAD with non-existent, incomplete dest ok 174 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=true --prune origin; branch:kept tag:pruned ok 175 - name prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset origin; branch:pruned tag:pruned ok 44 - push with config remote.*.push = HEAD ok 45 - push with @ ok 176 - link prune fetch.prune=true remote.origin.prune=unset fetch.pruneTags=true remote.origin.pruneTags=unset origin; branch:kept tag:pruned ok 177 - name prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=true remote.origin.pruneTags=unset origin; branch:pruned tag:pruned ok 46 - push with @ nonexisting at remote ok 178 - link prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=true remote.origin.pruneTags=unset origin; branch:kept tag:pruned ok 47 - push with +@ ok 179 - name prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=true origin; branch:pruned tag:pruned ok 48 - push @ with non-existent, incomplete dest ok 180 - link prune fetch.prune=unset remote.origin.prune=true fetch.pruneTags=unset remote.origin.pruneTags=true origin; branch:kept tag:pruned ok 181 - remove remote.origin.fetch "one" ok 49 - push with config remote.*.push = @ ok 182 - name prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset origin --prune --prune-tags; branch:kept tag:pruned ok 183 - link prune fetch.prune=unset remote.origin.prune=unset fetch.pruneTags=unset remote.origin.pruneTags=unset origin --prune --prune-tags; branch:kept tag:pruned ok 50 - push to remote with no explicit refspec and config remote.*.push = src:dest ok 184 - all boundary commits are excluded ok 185 - fetch --prune prints the remotes url ok 51 - push with remote.pushdefault ok 186 - branchname D/F conflict resolved by --prune ok 52 - push with config remote.*.pushurl ok 187 - branchname D/F conflict rejected with targeted error message ok 188 - fetching a one-level ref works ok 189 - fetching with auto-gc does not lock up ok 53 - push with config branch.*.pushremote ok 190 - fetch.hideRefs affects connectivity check ok 191 - transfer.hideRefs affects connectivity check ok 192 - prepare source branch ok 193 - fetch trumps transfer limit ok 194 - fetch trumps transfer limit ok 54 - branch.*.pushremote config order is irrelevant ok 55 - push rejects empty branch name entries ok 195 - --negotiation-tip limits "have" lines sent ok 56 - push ignores "branch." config without subsection ok 57 - push with dry-run ok 196 - --negotiation-tip understands globs ok 58 - push updates local refs ok 197 - --negotiation-tip understands abbreviated SHA-1 ok 59 - push updates up-to-date local refs ok 60 - push preserves up-to-date packed refs ok 198 - --negotiation-tip rejects missing OIDs ok 199 - clone does not get confused by a D/F conflict ok 61 - push does not update local refs on failure # passed all 199 test(s) # SKIP no web server found at '' 1..199 ok 62 - allow deleting an invalid remote ref *** t5517-push-mirror.sh *** ok 63 - pushing valid refs triggers post-receive and post-update hooks ok 1 - push mirror creates new branches ok 64 - deleting dangling ref triggers hooks with correct args ok 2 - push mirror updates existing branches ok 65 - deletion of a non-existent ref is not fed to post-receive and post-update hooks ok 3 - push mirror force updates existing branches ok 66 - deletion of a non-existent ref alone does trigger post-receive and post-update hooks ok 4 - push mirror removes branches ok 67 - mixed ref updates, deletes, invalid deletes trigger hooks with correct input ok 5 - push mirror adds, updates and removes branches together ok 68 - allow deleting a ref using --delete ok 6 - push mirror creates new tags ok 69 - allow deleting a tag using --delete ok 7 - push mirror updates existing tags ok 70 - push --delete without args aborts ok 71 - push --delete refuses src:dest refspecs ok 72 - push --delete refuses empty string ok 8 - push mirror force updates existing tags ok 73 - push --delete onelevel refspecs ok 9 - push mirror removes tags ok 74 - warn on push to HEAD of non-bare repository ok 75 - deny push to HEAD of non-bare repository ok 10 - push mirror adds, updates and removes tags together ok 76 - allow push to HEAD of bare repository (bare) ok 11 - remote.foo.mirror adds and removes branches ok 77 - allow push to HEAD of non-bare repository (config) ok 12 - remote.foo.mirror=no has no effect ok 78 - fetch with branches ok 13 - push to mirrored repository with refspec fails # passed all 13 test(s) 1..13 *** t5518-fetch-exit-status.sh *** ok 79 - fetch with branches containing # ok 80 - push with branches ok 1 - setup ok 81 - push with branches containing # ok 2 - non-fast-forward fetch ok 3 - forced update # passed all 3 test(s) 1..3 *** t5519-push-alternates.sh *** ok 82 - push into aliased refs (consistent) ok 1 - setup ok 2 - alice works and pushes ok 83 - push into aliased refs (inconsistent) ok 3 - bob fetches from alice, works and pushes ok 4 - clean-up in case the previous failed ok 5 - alice works and pushes again ok 6 - bob works and pushes ok 7 - alice works and pushes yet again ok 8 - bob works and pushes again # passed all 8 test(s) 1..8 *** t5520-pull.sh *** ok 84 - force pushing required to update lightweight tag ok 1 - setup ok 2 - pulling into void ok 3 - pulling into void using main:main ok 4 - pulling into void does not overwrite untracked files ok 5 - pulling into void does not overwrite staged files ok 6 - pulling into void does not remove new staged files ok 7 - pulling into void must not create an octopus ok 8 - test . as a remote ok 85 - force pushing required to update annotated tag ok 9 - the default remote . should not break explicit pull ok 10 - fail if wildcard spec does not match any refs ok 11 - fail if no branches specified with non-default remote ok 12 - fail if not on a branch ok 86 - fetch will not clobber an existing lightweight tag without --force ok 13 - fail if no configuration for current branch ok 14 - pull --all: fail if no configuration for current branch ok 15 - fail if upstream branch does not exist ok 87 - fetch will not clobber an existing annotated tag without --force ok 16 - fetch upstream branch even if refspec excludes it ok 88 - push --porcelain ok 89 - push --porcelain bad url ok 17 - fail if the index has unresolved entries ok 90 - push --porcelain rejected ok 18 - fast-forwards working tree if branch head is updated ok 91 - push --porcelain --dry-run rejected ok 19 - fast-forward fails with conflicting work tree ok 20 - --rebase ok 92 - push --prune ok 21 - --rebase (merge) fast forward ok 22 - --rebase (am) fast forward ok 93 - push --prune refspec ok 23 - --rebase --autostash fast forward ok 24 - --rebase with rebase.autostash succeeds on ff ok 25 - --rebase with conflicts shows advice ok 94 - push to update a ref hidden by transfer.hiderefs ok 26 - failed --rebase shows advice ok 27 - --rebase fails with multiple branches ok 28 - pull --rebase succeeds with dirty working directory and rebase.autostash set ok 95 - push to update a ref hidden by receive.hiderefs ok 29 - pull --rebase --autostash & rebase.autostash=true ok 30 - pull --rebase --autostash & rebase.autostash=false ok 31 - pull --rebase --autostash & rebase.autostash unset ok 96 - fetch exact SHA1 ok 32 - pull --rebase --no-autostash & rebase.autostash=true ok 33 - pull --rebase --no-autostash & rebase.autostash=false ok 34 - pull --rebase --no-autostash & rebase.autostash unset ok 35 - pull succeeds with dirty working directory and merge.autostash set ok 97 - fetch exact SHA1 in protocol v2 ok 36 - pull --autostash & merge.autostash=true ok 98 - shallow fetch reachable SHA1 (but not a ref), allowtipsha1inwant=true ok 37 - pull --autostash & merge.autostash=false ok 38 - pull --autostash & merge.autostash unset ok 39 - pull --no-autostash & merge.autostash=true ok 99 - deny fetch unreachable SHA1, allowtipsha1inwant=true ok 40 - pull --no-autostash & merge.autostash=false ok 100 - shallow fetch reachable SHA1 (but not a ref), allowtipsha1inwant=false ok 41 - pull --no-autostash & merge.autostash unset ok 42 - pull.rebase ok 101 - deny fetch unreachable SHA1, allowtipsha1inwant=false ok 43 - pull --autostash & pull.rebase=true ok 44 - pull --no-autostash & pull.rebase=true ok 45 - branch.to-rebase.rebase ok 102 - fetch follows tags by default ok 46 - branch.to-rebase.rebase should override pull.rebase ok 103 - peeled advertisements are not considered ref tips ok 47 - pull --rebase warns on --verify-signatures ok 48 - pull --rebase does not warn on --no-verify-signatures ok 49 - preserve merge setup ok 104 - pushing a specific ref applies remote.$name.push as refmap ok 50 - pull.rebase=false create a new merge commit ok 51 - pull.rebase=true flattens keep-merge ok 105 - with no remote.$name.push, it is not used as refmap ok 52 - pull.rebase=1 is treated as true and flattens keep-merge ok 53 - pull.rebase=interactive ok 54 - pull --rebase=i ok 55 - pull.rebase=invalid fails ok 106 - with no remote.$name.push, upstream mapping is used ok 56 - --rebase=false create a new merge commit ok 57 - --rebase=true rebases and flattens keep-merge ok 58 - --rebase=invalid fails ok 107 - push does not follow tags by default ok 59 - --rebase overrides pull.rebase=merges and flattens keep-merge ok 108 - push --follow-tags only pushes relevant tags ok 60 - --rebase with rebased upstream ok 61 - --rebase -f with rebased upstream ok 109 - push --no-thin must produce non-thin pack ok 62 - --rebase with rebased default upstream ok 110 - pushing a tag pushes the tagged object ok 111 - push into bare respects core.logallrefupdates ok 63 - rebased upstream + fetch + pull --rebase ok 112 - fetch into bare respects core.logallrefupdates ok 64 - pull --rebase dies early with dirty working directory ok 65 - pull --rebase works on branch yet to be born ok 66 - pull --rebase fails on unborn branch with staged changes ok 67 - pull --rebase fails on corrupt HEAD ok 68 - setup for detecting upstreamed changes ok 69 - git pull --rebase detects upstreamed changes ok 70 - setup for avoiding reapplying old patches ok 71 - git pull --rebase does not reapply old patches ok 72 - git pull --rebase against local branch # passed all 72 test(s) 1..72 ok 113 - receive.denyCurrentBranch = updateInstead *** t5521-pull-options.sh *** ok 1 - setup ok 2 - git pull -q --no-rebase ok 3 - git pull -q --rebase ok 4 - git pull --no-rebase ok 5 - git pull --rebase ok 6 - git pull -v --no-rebase ok 114 - updateInstead with push-to-checkout hook ok 7 - git pull -v --rebase ok 8 - git pull -v -q --no-rebase ok 9 - git pull -q -v --no-rebase ok 10 - git pull --cleanup errors early on invalid argument ok 11 - git pull --no-write-fetch-head fails ok 115 - denyCurrentBranch and worktrees ok 12 - git pull --force ok 13 - git pull --all ok 14 - git pull --dry-run ok 116 - denyCurrentBranch and bare repository worktrees ok 15 - git pull --all --dry-run ok 117 - refuse fetch to current branch of worktree ok 118 - refuse fetch to current branch of bare repository worktree ok 16 - git pull --allow-unrelated-histories ok 119 - refuse to push a hidden ref, and make sure do not pollute the repository ok 17 - git pull does not add a sign-off line ok 18 - git pull --no-signoff does not add sign-off line ok 120 - push with config push.useBitmaps # passed all 120 test(s) 1..120 *** t5522-pull-symlink.sh *** ok 19 - git pull --signoff add a sign-off line ok 1 - setup ok 20 - git pull --no-signoff flag cancels --signoff flag ok 2 - pulling from real subdir ok 3 - pulling from symlinked subdir ok 4 - pushing from symlinked subdir # passed all 4 test(s) 1..4 *** t5523-push-upstream.sh *** ok 21 - git pull --no-verify flag passed to merge ok 1 - setup bare parent ok 2 - setup local commit ok 22 - git pull --no-verify --verify passed to merge # passed all 22 test(s) 1..22 *** t5524-pull-msg.sh *** ok 3 - push -u main:main ok 4 - push -u main:other ok 5 - push -u --dry-run main:otherX ok 6 - push -u topic_2:topic_2 ok 7 - push -u topic_2:other2 ok 8 - push -u :topic_2 ok 1 - setup ok 2 - pull ok 9 - push -u --all(the same behavior with--branches) ok 3 - --log=1 limits shortlog length ok 10 - push -u HEAD # passed all 3 test(s) 1..3 *** t5525-fetch-tagopt.sh *** ok 11 # skip progress messages go to tty (missing TTY) ok 12 - progress messages do not go to non-tty ok 13 - progress messages go to non-tty (forced) ok 14 # skip push -q suppresses progress (missing TTY) ok 15 # skip push --no-progress suppresses progress (missing TTY) ok 16 # skip quiet push (missing TTY) ok 17 # skip quiet push -u (missing TTY) # passed all 17 test(s) 1..17 *** t5526-fetch-submodules.sh *** ok 1 - setup ok 2 - fetch with tagopt=--no-tags does not get tag ok 3 - fetch --tags with tagopt=--no-tags gets tag ok 4 - fetch --no-tags with tagopt=--tags does not get tag ok 5 - fetch with tagopt=--tags gets tag # passed all 5 test(s) 1..5 *** t5527-fetch-odd-refs.sh *** ok 1 - setup repo with odd suffix ref ok 2 - suffix ref is ignored during fetch ok 3 - try to create repo with absurdly long refname ok 1 - setup ok 4 - fetch handles extremely long refname ok 5 - push handles extremely long refname # passed all 5 test(s) 1..5 *** t5528-push-default.sh *** ok 2 - fetch --recurse-submodules recurses into submodules ok 1 - setup bare remotes ok 3 - fetch --recurse-submodules honors --no-write-fetch-head ok 2 - "upstream" pushes to configured upstream ok 3 - "upstream" does not push on unconfigured remote ok 4 - submodule.recurse option triggers recursive fetch ok 4 - "upstream" does not push on unconfigured branch ok 5 - "upstream" does not push when remotes do not match ok 5 - fetch --recurse-submodules -j2 has the same output behaviour ok 6 - "current" does not push when multiple remotes and none origin ok 6 - fetch alone only fetches superproject ok 7 - fetch --no-recurse-submodules only fetches superproject ok 7 - "current" pushes when remote explicitly specified ok 8 - using fetchRecurseSubmodules=true in .gitmodules recurses into submodules ok 8 - "current" pushes to origin when no remote specified among multiple ok 9 - --no-recurse-submodules overrides .gitmodules config ok 10 - using fetchRecurseSubmodules=false in .git/config overrides setting in .gitmodules ok 9 - "current" pushes to single remote even when not specified ok 11 - --recurse-submodules overrides fetchRecurseSubmodules setting from .git/config ok 10 - push from/to new branch with non-defaulted remote fails with upstream, matching, current and simple ok 11 - push from/to new branch fails with upstream and simple ok 12 - --quiet propagates to submodules not ok 12 - push from/to new branch fails with matching # TODO known breakage ok 13 - --quiet propagates to parallel submodules ok 13 - push from/to branch with tracking fails with nothing ok 14 - push from/to new branch succeeds with upstream if push.autoSetupRemote ok 14 - --dry-run propagates to submodules ok 15 - push from/to new branch succeeds with simple if push.autoSetupRemote ok 16 - "matching" fails if none match ok 15 - Without --dry-run propagates to submodules ok 17 - push ambiguously named branch with upstream, matching and simple ok 16 - recurseSubmodules=true propagates into submodules ok 18 - push from/to new branch with current creates remote branch ok 19 - push to existing branch, with no upstream configured ok 17 - --recurse-submodules overrides config in submodule ok 20 - push to existing branch, upstream configured with same name ok 18 - --no-recurse-submodules overrides config setting ok 19 - Recursion doesn't happen when no new commits are fetched in the superproject ok 20 - Recursion stops when no new submodule commits are fetched ok 21 - push to existing branch, upstream configured with different name ok 21 - Recursion doesn't happen when new superproject commits don't change any submodules ok 22 - push.default = current success in central workflows ok 23 - push.default = upstream success in central workflows ok 24 - push.default = simple failure in central workflows ok 22 - Recursion picks up config in submodule ok 25 - push.default = matching success in central workflows ok 26 - push.default = current success in triangular workflows ok 27 - push.default = upstream failure in triangular workflows ok 23 - Recursion picks up all submodules when necessary ok 28 - push.default = simple success in triangular workflows ok 24 - '--recurse-submodules=on-demand' doesn't recurse when no new commits are fetched in the superproject (and ignores config) ok 29 - push.default = matching success in triangular workflows ok 30 - default behavior allows "simple" push ok 31 - default behavior rejects non-simple push ok 25 - '--recurse-submodules=on-demand' recurses as deep as necessary (and ignores config) ok 32 - default triangular behavior acts like "current" # still have 1 known breakage(s) # passed all remaining 31 test(s) 1..32 *** t5529-push-errors.sh *** ok 26 - setup downstream branch without submodules ok 1 - setup commits ok 2 - setup remote ok 3 - setup fake receive-pack ok 4 - detect missing branches early ok 5 - detect missing sha1 expressions early ok 6 - detect empty remote with existing local ref ok 7 - detect empty remote with targeted refspec ok 8 - detect ambiguous refs early # passed all 8 test(s) 1..8 *** t5530-upload-pack-error.sh *** ok 1 - setup and corrupt repository ok 2 - fsck fails ok 3 - upload-pack fails due to error in pack-objects packing ok 4 - corrupt repo differently ok 5 - fsck fails ok 6 - upload-pack fails due to error in rev-list ok 7 - upload-pack fails due to bad want (no object) ok 8 - upload-pack fails due to bad want (not tip) ok 9 - upload-pack fails due to error in pack-objects enumeration ok 10 - upload-pack tolerates EOF just after stateless client wants ok 11 - create empty repository ok 12 - fetch fails # passed all 12 test(s) 1..12 *** t5531-deep-submodule-push.sh *** ok 27 - '--recurse-submodules=on-demand' should fetch submodule commits if the submodule is changed but the index has no submodules ok 1 - setup ok 2 - push works with recorded gitlink ok 3 - push if submodule has no remote ok 28 - '--recurse-submodules' should fetch submodule commits if the submodule is changed but the index has no submodules ok 4 - push fails if submodule commit not on remote ok 5 - push succeeds after commit was pushed to remote ok 29 - '--recurse-submodules' should ignore changed, inactive submodules ok 6 - push succeeds if submodule commit not on remote but using on-demand on command line ok 7 - push succeeds if submodule commit not on remote but using on-demand from config ok 8 - push succeeds if submodule commit not on remote but using auto-on-demand via submodule.recurse config ok 30 - setup downstream branch with other submodule ok 9 - push recurse-submodules on command line overrides config ok 31 - '--recurse-submodules' should fetch submodule commits in changed submodules and the index ok 10 - push recurse-submodules last one wins on command line ok 32 - '--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config) ok 11 - push succeeds if submodule commit not on remote using on-demand from cmdline overriding config ok 33 - 'fetch.recurseSubmodules=on-demand' overrides global config ok 12 - push succeeds if submodule commit disabling recursion from cmdline overriding config ok 13 - push succeeds if submodule commit disabling recursion from cmdline (alternative form) overriding config ok 34 - 'submodule..fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules ok 14 - submodule entry pointing at a tag is error ok 35 - don't fetch submodule when newly recorded commits are already present ok 15 - push fails if recurse submodules option passed as yes ok 16 - push fails when commit on multiple branches if one branch has no remote ok 17 - push succeeds if submodule has no remote and is on the first superproject commit ok 36 - 'fetch.recurseSubmodules=on-demand' works also without .gitmodules entry ok 37 - fetching submodules respects parallel settings ok 18 - push unpushed submodules when not needed ok 19 - push unpushed submodules when not needed 2 ok 38 - fetching submodule into a broken repository ok 20 - push unpushed submodules recursively ok 21 - push unpushable submodule recursively fails ok 39 - fetch new commits when submodule got renamed ok 22 - push --dry-run does not recursively update submodules ok 23 - push --dry-run does not recursively update submodules ok 24 - push only unpushed submodules recursively ok 25 - push with push.recurseSubmodules=only on superproject ok 40 - fetch new submodule commits on-demand outside standard refspec ok 26 - push with push.recurseSubmodules=only on superproject and top-level submodule ok 41 - fetch new submodule commit on-demand in FETCH_HEAD ok 27 - push propagating the remotes name to a submodule ok 28 - push propagating refspec to a submodule ok 42 - fetch new submodule commits on-demand without .gitmodules entry ok 29 - push propagating HEAD refspec to a submodule # passed all 29 test(s) 1..29 *** t5532-fetch-proxy.sh *** ok 43 - fetch new submodule commit intermittently referenced by superproject ok 1 - setup remote repo ok 2 - setup proxy script ok 3 - setup local repo ok 4 - fetch through proxy works ok 5 - funny hostnames are rejected before running proxy # passed all 5 test(s) 1..5 *** t5533-push-cas.sh *** ok 1 - setup ok 2 - push to update (protected) ok 3 - push to update (protected, forced) ok 4 - push to update (protected, tracking) ok 44 - setup nested submodule fetch test ok 5 - push to update (protected, tracking, forced) ok 45 - fetching a superproject containing an uninitialized sub/sub project ok 6 - push to update (allowed) ok 46 - setup recursive fetch with uninit submodule ok 47 - recursive fetch with uninit submodule ok 7 - push to update (allowed, tracking) ok 8 - push to update (allowed even though no-ff) ok 48 - recursive fetch after deinit a submodule ok 9 - push to delete (protected) ok 10 - push to delete (protected, forced) ok 11 - push to delete (allowed) ok 12 - cover everything with default force-with-lease (protected) ok 49 - setup repo with upstreams that share a submodule name ok 13 - cover everything with default force-with-lease (allowed) ok 14 - new branch covered by force-with-lease ok 50 - fetch --recurse-submodules updates name-conflicted, populated submodule ok 15 - new branch covered by force-with-lease (explicit) ok 16 - new branch already exists ok 51 - fetch --recurse-submodules updates name-conflicted, unpopulated submodule ok 52 - fetch --all with --recurse-submodules ok 17 - background updates of REMOTE can be mitigated with a non-updated REMOTE-push ok 53 - fetch --all with --recurse-submodules with multiple ok 54 - fetch --all with --no-recurse-submodules only fetches superproject # passed all 54 test(s) 1..54 *** t5534-push-signed.sh *** ok 18 - background updates to remote can be mitigated with "--force-if-includes" ok 1 - setup ok 2 - unsigned push does not send push certificate ok 3 - talking with a receiver without push certificate support ok 4 - push --signed fails with a receiver without push certificate support ok 5 - push --signed=1 is accepted ok 6 # skip no certificate for a signed push with no update (missing GPG) ok 7 # skip signed push sends push certificate (missing GPG) ok 8 # skip ssh signed push sends push certificate (missing GPGSSH) ok 9 # skip inconsistent push options in signed push not allowed (missing GPG) ok 10 # skip fail without key and heed user.signingkey (missing GPG) ok 11 # skip fail without key and heed user.signingkey x509 (missing GPGSM) ok 12 # skip fail without key and heed user.signingkey ssh (missing GPGSSH) ok 13 # skip failed atomic push does not execute GPG (missing GPG) # passed all 13 test(s) 1..13 *** t5535-fetch-push-symref.sh *** ok 1 - setup ok 19 - background updates to remote can be mitigated with "push.useForceIfIncludes" ok 2 - push ok 3 - fetch # passed all 3 test(s) 1..3 *** t5536-fetch-conflicts.sh *** ok 1 - setup ok 2 - fetch with no conflict ok 3 - fetch conflict: config vs. config ok 4 - fetch duplicate: config vs. config ok 5 - fetch conflict: arg overrides config ok 6 - fetch conflict: arg vs. arg ok 7 - fetch conflict: criss-cross args # passed all 7 test(s) 1..7 *** t5537-fetch-shallow.sh *** ok 20 - "--force-if-includes" should be disabled for --force-with-lease=":" ok 1 - setup ok 2 - setup shallow clone ok 3 - clone from shallow clone ok 4 - fetch from shallow clone ok 5 - fetch --depth from shallow clone ok 6 - fetch --unshallow from shallow clone ok 7 - fetch --unshallow from a full clone ok 8 - fetch something upstream has but hidden by clients shallow boundaries ok 9 - fetch that requires changes in .git/shallow is filtered ok 21 - "--force-if-includes" should allow forced update after a rebase ("pull --rebase") ok 10 - fetch --update-shallow ok 11 - fetch --update-shallow into a repo with submodules ok 12 - fetch --update-shallow a commit that is also a shallow point into a repo with submodules ok 13 - fetch --update-shallow (with fetch.writeCommitGraph) ok 14 - shallow fetch from a read-only repo ok 22 - "--force-if-includes" should allow forced update after a rebase ("pull --rebase", local rebase) ok 15 - .git/shallow is edited by repack # passed all 15 test(s) # SKIP no web server found at '' 1..15 *** t5538-push-shallow.sh *** ok 23 - "--force-if-includes" should allow deletes # passed all 23 test(s) 1..23 *** t5539-fetch-http-shallow.sh *** ok 1 - setup ok 2 - push from shallow clone 1..0 # SKIP no web server found at '' *** t5540-http-push-webdav.sh *** ok 3 - push from shallow clone, with grafted roots ok 4 - add new shallow root with receive.updateshallow on 1..0 # SKIP no web server found at '' *** t5541-http-push-smart.sh *** ok 5 - push from shallow to shallow ok 6 - push from full to shallow 1..0 # SKIP no web server found at '' # passed all 6 test(s) 1..6 *** t5542-push-http-shallow.sh *** *** t5543-atomic-push.sh *** 1..0 # SKIP no web server found at '' *** t5544-pack-objects-hook.sh *** ok 1 - create some history to fetch ok 2 - create debugging hook script ok 1 - atomic push works for a single branch ok 3 - hook runs via global config ok 4 - hook outputs are sane ok 5 - hook runs from -c config ok 2 - atomic push works for two branches ok 6 - hook does not run from repo config ok 7 - hook works with partial clone # passed all 7 test(s) 1..7 *** t5545-push-options.sh *** ok 3 - atomic push works in combination with --mirror ok 1 - one push option works for a single branch ok 4 - atomic push works in combination with --force ok 2 - push option denied by remote ok 3 - two push options work ok 5 - atomic push fails if one branch fails ok 6 - atomic push fails if one tag fails remotely ok 4 - push options and submodules ok 7 - atomic push obeys update hook preventing a branch to be pushed ok 5 - default push option ok 8 - atomic push is not advertised if configured ok 6 - two default push options ok 9 - atomic push reports (reject by update hook) ok 10 - atomic push reports (mirror, but reject by update hook) ok 11 - atomic push reports (reject by non-ff) ok 7 - push option from command line overrides from-config push option ok 12 - atomic push reports exit code failure ok 13 - atomic push reports exit code failure with porcelain # passed all 13 test(s) 1..13 *** t5546-receive-limits.sh *** ok 8 - empty value of push.pushOption in config clears the list ok 1 - create known-size (1024 bytes) commit ok 2 - prepare destination repository ok 3 - set unpacklimit to 1 ok 4 - setting receive.maxInputSize to 512 rejects push ok 5 - bumping limit to 4k allows push ok 6 - prepare destination repository (again) ok 9 - invalid push option in config ok 7 - lifting the limit allows push ok 8 - prepare destination repository (once more) ok 9 - receive trumps transfer ok 10 - prepare destination repository ok 11 - set unpacklimit to 10000 ok 10 - push options keep quoted characters intact (direct) ok 12 - setting receive.maxInputSize to 512 rejects push # passed all 10 test(s) # SKIP no web server found at '' 1..10 *** t5547-push-quarantine.sh *** ok 13 - bumping limit to 4k allows push ok 14 - prepare destination repository (again) ok 15 - lifting the limit allows push ok 16 - prepare destination repository (once more) ok 1 - create picky dest repo ok 17 - receive trumps transfer # passed all 17 test(s) 1..17 *** t5548-push-porcelain.sh *** ok 2 - accepted objects work ok 3 - rejected objects are not installed ok 4 - rejected objects are removed ok 5 - push to repo path with path separator (colon) ok 1 - setup upstream repository and workbench ok 6 - updating a ref from quarantine is forbidden # passed all 6 test(s) 1..6 *** t5549-fetch-push-http.sh *** ok 2 - .. git-push --porcelain (builtin protocol) 1..0 # SKIP no web server found at '' ok 3 - .. git-push --porcelain --force (builtin protocol) *** t5550-http-fetch-dumb.sh *** ok 4 - .. git push --porcelain --atomic (builtin protocol) 1..0 # SKIP no web server found at '' *** t5551-http-fetch-smart.sh *** ok 5 - .. pre-receive hook declined (builtin protocol) ok 6 - .. non-fastforward push (builtin protocol) 1..0 # SKIP no web server found at '' ok 7 - .. git push --porcelain --atomic --force (builtin protocol) *** t5552-skipping-fetch-negotiator.sh *** ok 8 - setup upstream repository and workbench ok 9 - .. git-push --porcelain --dry-run (builtin protocol) ok 10 - .. git-push --porcelain --dry-run --force (builtin protocol) ok 1 - fetch.negotiationalgorithm config ok 11 - .. git-push --porcelain --dry-run --atomic (builtin protocol) ok 12 - .. git-push --porcelain --dry-run --atomic --force (builtin protocol) # passed all 12 test(s) # SKIP no web server found at '' 1..12 *** t5553-set-upstream.sh *** ok 1 - setup bare parent fetch ok 2 - commits with no parents are sent regardless of skip distance ok 2 - setup commit on main and other fetch ok 3 - fetch --set-upstream does not set upstream w/o branch ok 4 - fetch --set-upstream upstream main sets branch main but not other ok 5 - fetch --set-upstream upstream other sets branch other ok 6 - fetch --set-upstream main:other does not set the branch other2 ok 7 - fetch --set-upstream ./does-not-exist fails with invalid url ok 8 - fetch --set-upstream with valid URL sets upstream to URL ok 9 - fetch --set-upstream with a detached HEAD ok 10 - setup bare parent pull ok 3 - when two skips collide, favor the larger one ok 11 - setup commit on main and other pull ok 12 - pull --set-upstream upstream main sets branch main but not other ok 13 - pull --set-upstream main:other2 does not set the branch other2 ok 14 - pull --set-upstream upstream other sets branch main ok 15 - pull --set-upstream upstream tag does not set the tag ok 4 - use ref advertisement to filter out commits ok 16 - pull --set-upstream ./does-not-exist fails with invalid url ok 17 - pull --set-upstream upstream HEAD sets branch HEAD ok 18 - pull --set-upstream upstream with more than one branch does nothing ok 5 - handle clock skew ok 19 - pull --set-upstream with valid URL sets upstream to URL ok 20 - pull --set-upstream with valid URL and branch sets branch ok 21 - pull --set-upstream with a detached HEAD # passed all 21 test(s) 1..21 *** t5554-noop-fetch-negotiator.sh *** ok 1 - noop negotiator does not emit any "have" # passed all 1 test(s) 1..1 *** t5555-http-smart-common.sh *** ok 1 - setup ok 2 - git upload-pack --http-backend-info-refs and --advertise-refs are aliased ok 3 - git receive-pack --http-backend-info-refs and --advertise-refs are aliased ok 4 - git upload-pack --advertise-refs ok 5 - git upload-pack --advertise-refs: v0 ok 6 - git receive-pack --advertise-refs: v0 ok 7 - git upload-pack --advertise-refs: v1 ok 8 - git receive-pack --advertise-refs: v1 ok 9 - git upload-pack --advertise-refs: v2 ok 10 - git receive-pack --advertise-refs: v2 # passed all 10 test(s) 1..10 *** t5557-http-get.sh *** 1..0 # SKIP no web server found at '' *** t5558-clone-bundle-uri.sh *** ok 1 - fail to clone from non-existent file ok 2 - fail to clone from non-bundle file ok 3 - create bundle ok 4 - clone with path bundle ok 5 - clone with bundle that has bad header ok 6 - clone with bundle that has bad object ok 7 - clone with path bundle and non-default hash ok 8 - clone with file:// bundle ok 9 - construct incremental bundle list ok 10 - clone bundle list (file, no heuristic) ok 11 - clone bundle list (file, all mode, some failures) ok 12 - clone bundle list (file, all mode, all failures) ok 13 - clone bundle list (file, any mode) ok 14 - clone bundle list (file, any mode, all failures) ok 15 - negotiation: bundle with part of wanted commits ok 16 - negotiation: bundle with all wanted commits ok 17 - negotiation: bundle list (no heuristic) ok 18 - negotiation: bundle list (creationToken) ok 19 - negotiation: bundle list with all wanted commits # passed all 19 test(s) # SKIP no web server found at '' 1..19 *** t5559-http-fetch-smart-http2.sh *** 1..0 # SKIP no web server found at '' *** t5560-http-backend-noserver.sh *** ok 1 - setup repository ok 2 - direct refs/heads/main not found ok 3 - static file is ok ok 4 - no export by default ok 5 - export if git-daemon-export-ok ok 6 - static file if http.getanyfile true is ok ok 7 - static file if http.getanyfile false fails ok 8 - http.uploadpack default enabled ok 9 - http.uploadpack true ok 10 - http.uploadpack false ok 11 - http.receivepack default disabled ok 12 - http.receivepack true ok 13 - http.receivepack false ok 14 - http-backend blocks bad PATH_INFO # passed all 14 test(s) 1..14 *** t5561-http-backend.sh *** 1..0 # SKIP no web server found at '' *** t5562-http-backend-content-length.sh *** ok 1 - setup ok 2 # skip setup, compression related (missing GZIP) ok 3 - fetch plain ok 4 - fetch plain truncated ok 5 - fetch plain empty ok 6 # skip fetch gzipped (missing GZIP) ok 7 # skip fetch gzipped truncated (missing GZIP) ok 8 # skip fetch gzipped empty (missing GZIP) ok 9 # skip push plain (missing GZIP) ok 10 - push plain truncated ok 11 - push plain empty ok 12 # skip push gzipped (missing GZIP) ok 13 # skip push gzipped truncated (missing GZIP) ok 14 # skip push gzipped empty (missing GZIP) ok 15 - CONTENT_LENGTH overflow ssite_t ok 16 - empty CONTENT_LENGTH # passed all 16 test(s) 1..16 *** t5563-simple-http-auth.sh *** 1..0 # SKIP no web server found at '' *** t5564-http-proxy.sh *** 1..0 # SKIP no web server found at '' *** t5570-git-daemon.sh *** ok 1 - daemon rejects invalid --init-timeout values ok 2 - daemon rejects invalid --timeout values ok 3 - daemon rejects invalid --max-connections values ok 4 - setup repository ok 5 - create git-accessible bare repository ok 6 - clone git repository ok 7 - fetch changes via git protocol ok 8 - no-op fetch -v stderr is as expected ok 9 - no-op fetch without "-v" is quiet ok 6 - do not send "have" with ancestors of commits that server ACKed # passed all 6 test(s) 1..6 *** t5571-pre-push-hook.sh *** ok 1 - setup ok 10 - remote detects correct HEAD ok 2 - push with failing hook ok 11 - prepare pack objects ok 3 - --no-verify bypasses hook ok 4 - push with hook ok 5 - add a branch ok 6 - push to default ok 7 - push non-branches ok 8 - push delete ok 9 - push to URL ok 12 - fetch notices corrupt pack ok 10 - set up many-ref tests ok 13 - fetch notices corrupt idx ok 14 - client refuses to ask for repo with newline ok 15 - clone non-existent ok 16 - push disabled ok 17 - read access denied ok 18 - not exported ok 19 - clone non-existent ok 20 - push disabled ok 21 - read access denied ok 22 - not exported ok 11 - sigpipe does not cause pre-push hook failure # passed all 11 test(s) 1..11 ok 23 - access repo via interpolated hostname ok 24 - hostname cannot break out of directory *** t5572-pull-submodule.sh *** ok 25 - hostname interpolation works after LF-stripping # passed all 25 test(s) 1..25 *** t5573-pull-verify-signatures.sh *** ok 1 # skip create repositories with signed commits (missing GPG) ok 2 # skip pull unsigned commit with --verify-signatures (missing GPG) ok 3 # skip pull commit with bad signature with --verify-signatures (missing GPG) ok 4 # skip pull commit with untrusted signature with --verify-signatures (missing GPG) ok 5 # skip pull commit with untrusted signature with --verify-signatures and minTrustLevel=ultimate (missing GPG) ok 6 # skip pull commit with untrusted signature with --verify-signatures and minTrustLevel=marginal (missing GPG) ok 7 # skip pull commit with untrusted signature with --verify-signatures and minTrustLevel=undefined (missing GPG) ok 8 # skip pull signed commit with --verify-signatures (missing GPG) ok 9 # skip pull commit with bad signature without verification (missing GPG) ok 10 # skip pull commit with bad signature with --no-verify-signatures (missing GPG) ok 11 # skip pull unsigned commit into unborn branch (missing GPG) ok 12 # skip pull commit into unborn branch with bad signature and --verify-signatures (missing GPG) ok 13 # skip pull commit into unborn branch with untrusted signature and --verify-signatures (missing GPG) ok 14 # skip pull commit into unborn branch with untrusted signature and --verify-signatures and minTrustLevel=ultimate (missing GPG) ok 15 # skip pull commit into unborn branch with untrusted signature and --verify-signatures and minTrustLevel=marginal (missing GPG) ok 16 # skip pull commit into unborn branch with untrusted signature and --verify-signatures and minTrustLevel=undefined (missing GPG) # passed all 16 test(s) 1..16 *** t5574-fetch-output.sh *** ok 1 - fetch with invalid output format configuration ok 2 - fetch aligned output ok 3 - fetch compact output ok 4 - setup for fetch porcelain output ok 5 - fetch porcelain output ok 6 - fetch porcelain output (atomic) ok 7 - fetch porcelain with multiple remotes ok 8 - fetch porcelain refuses to work with submodules ok 9 - fetch porcelain overrides fetch.output config ok 10 - fetch --no-porcelain overrides previous --porcelain ok 11 - fetch output with HEAD ok 1 - git_pull: added submodule creates empty directory ok 12 - fetch porcelain output with HEAD ok 13 - fetch output with object ID ok 14 - --no-show-forced-updates # passed all 14 test(s) 1..14 *** t5580-unc-paths.sh *** ok 2 - git_pull: added submodule leaves existing empty directory alone 1..0 # SKIP skipping Windows-only path tests *** t5581-http-curl-verbose.sh *** 1..0 # SKIP no web server found at '' *** t5582-fetch-negative-refspec.sh *** ok 1 - setup ok 3 - git_pull: replace tracked file with submodule creates empty directory ok 2 - clone and setup child repos ok 3 - fetch one ok 4 - fetch with negative refspec on commandline ok 5 - fetch with negative sha1 refspec fails ok 6 - fetch with negative pattern refspec ok 7 - fetch with negative pattern refspec does not expand prefix ok 4 - git_pull: replace directory with submodule ok 8 - fetch with negative refspec avoids duplicate conflict ok 9 - push --prune with negative refspec ok 10 - push --prune with negative refspec apply to the destination ok 11 - fetch --prune with negative refspec ok 5 - git_pull: removed submodule leaves submodule directory and its contents in place ok 12 - push with matching : and negative refspec ok 13 - push with matching +: and negative refspec ok 14 - --prefetch correctly modifies refspecs ok 15 - --prefetch succeeds when refspec becomes empty ok 16 - --prefetch succeeds with empty command line refspec # passed all 16 test(s) 1..16 ok 6 - git_pull: removed submodule leaves submodule containing a .git directory alone *** t5583-push-branches.sh *** ok 1 - setup bare remote ok 2 - setup different types of references ok 7 - git_pull: replace submodule with a directory must fail ok 3 - --all and --branches have the same behavior ok 4 - --all or --branches can not be combined with refspecs ok 5 - --all or --branches can not be combined with --mirror ok 6 - --all or --branches can not be combined with --tags ok 7 - --all or --branches can not be combined with --delete ok 8 - --all or --branches combines with --follow-tags have same behavior # passed all 8 test(s) 1..8 *** t5600-clone-fail-cleanup.sh *** ok 1 - clone of non-existent source should fail ok 2 - failed clone should not leave a directory ok 3 - create a repo to clone ok 8 - git_pull: replace submodule containing a .git directory with a directory must fail ok 4 - create objects in repo for later corruption ok 5 - clone of non-existent (relative to $PWD) source should fail ok 6 - clone should work now that source exists ok 7 - successful clone must leave the directory ok 8 - failed clone --separate-git-dir should not leave any directories ok 9 - failed clone into empty leaves directory (vanilla) ok 10 - failed clone into empty leaves directory (bare) ok 11 - failed clone into empty leaves directory (separate) ok 12 - failed clone into empty leaves directory (separate, git) ok 13 - failed clone into empty leaves directory (separate, wt) ok 14 - transport failure cleans up directory # passed all 14 test(s) 1..14 *** t5601-clone.sh *** not ok 9 - git_pull: replace submodule with a file must fail # TODO known breakage ok 1 - setup ok 2 - clone with excess parameters (1) ok 3 - clone with excess parameters (2) ok 4 - output from clone ok 5 - output from clone with core.abbrev does not crash ok 6 - clone does not keep pack not ok 10 - git_pull: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 7 - clone checks out files ok 8 - clone respects GIT_WORK_TREE ok 9 - clone from hooks ok 10 - clone creates intermediate directories ok 11 - clone creates intermediate directories for bare repo ok 12 - clone --mirror ok 13 - clone --mirror with detached HEAD ok 14 - clone --bare with detached HEAD ok 15 - clone --bare names the local repository .git ok 16 - clone --mirror does not repeat tags ok 17 - clone with files ref format ok 11 - git_pull: modified submodule does not update submodule work tree ok 18 - clone with garbage ref format ok 19 - clone to destination with trailing / ok 20 - clone to destination with extra trailing / ok 21 - clone to an existing empty directory ok 22 - clone to an existing non-empty directory ok 23 - clone to an existing path ok 24 - clone a void ok 25 - clone respects global branch.autosetuprebase ok 26 - respect url-encoding of file:// ok 27 - do not query-string-decode + in URLs ok 28 - do not respect url-encoding of non-url path ok 29 - clone separate gitdir ok 30 - clone separate gitdir: output ok 31 - clone from .git file ok 12 - git_pull: modified submodule does not update submodule work tree to invalid commit ok 32 - fetch from .git gitfile ok 33 - fetch from gitfile parent ok 34 - clone separate gitdir where target already exists ok 35 - clone --reference from original ok 36 - clone with more than one --reference ok 37 - clone from original with relative alternate ok 38 - clone checking out a tag ok 39 - set up ssh wrapper ok 40 - clone myhost:src uses ssh ok 41 - clone local path foo:bar ok 13 - git_pull: modified submodule does not update submodule work tree from invalid commit ok 42 - bracketed hostnames are still ssh ok 43 - OpenSSH variant passes -4 ok 44 - variant can be overridden ok 14 - git_pull: added submodule doesn't remove untracked unignored file with same name ok 45 - variant=auto picks based on basename ok 46 - simple does not support -4/-6 ok 47 - simple does not support port ok 48 - uplink is treated as simple ok 49 - OpenSSH-like uplink is treated as ssh ok 50 - plink is treated specially (as putty) ok 51 - plink.exe is treated specially (as putty) ok 15 - git_pull_ff: added submodule creates empty directory ok 52 - tortoiseplink is like putty, with extra arguments ok 53 - double quoted plink.exe in GIT_SSH_COMMAND ok 54 - single quoted plink.exe in GIT_SSH_COMMAND ok 55 - GIT_SSH_VARIANT overrides plink detection ok 56 - ssh.variant overrides plink detection ok 16 - git_pull_ff: added submodule leaves existing empty directory alone ok 57 - GIT_SSH_VARIANT overrides plink detection to plink ok 58 - GIT_SSH_VARIANT overrides plink to tortoiseplink ok 59 - clean failure on broken quoting ok 60 - clone c:temp is ssl ok 61 # skip clone c:temp is dos drive (missing MINGW) ok 62 - clone host:rep ok 63 - clone host:rep/home/project ok 64 - clone host:123 ok 65 - clone [::1]:rep ok 66 - clone [::1]:rep/home/project ok 67 - clone [::1]:123 ok 68 - clone host:/~repo ok 69 - clone [::1]:/~repo ok 70 - clone foo/bar:baz is not ssh ok 71 - clone [foo]bar/baz:qux is not ssh ok 17 - git_pull_ff: replace tracked file with submodule creates empty directory ok 72 - clone [foo/bar]:baz is not ssh ok 73 - clone ssh://host.xz/home/user/repo ok 74 - clone ssh://host.xz/~repo ok 75 - clone ssh://host.xz:/home/user/repo ok 76 - clone ssh://host.xz:/~repo ok 77 - clone ssh://host.xz:22/home/user/repo ok 78 - clone ssh://host.xz:22/~repo ok 79 - clone ssh://::1/home/user/repo ok 80 - clone ssh://[::1]/home/user/repo ok 81 - clone ssh://[::1]:/home/user/repo ok 82 - clone ssh://user@::1/home/user/repo ok 83 - clone ssh://user@[::1]/home/user/repo ok 84 - clone ssh://user@[::1]:/home/user/repo ok 85 - clone ssh://[user@::1]/home/user/repo ok 18 - git_pull_ff: replace directory with submodule ok 86 - clone ssh://[user@::1]:/home/user/repo ok 87 - clone ssh://::1/~repo ok 88 - clone ssh://[::1]/~repo ok 89 - clone ssh://user@::1/~repo ok 90 - clone ssh://user@[::1]/~repo ok 91 - clone ssh://[user@::1]/~repo ok 92 - clone ssh://[::1]:22/home/user/repo ok 93 - clone ssh://user@[::1]:22/home/user/repo ok 94 - clone ssh://[user@::1]:22/home/user/repo ok 95 - clone ssh://[::1]:22/~repo ok 96 - clone ssh://user@[::1]:22/~repo ok 19 - git_pull_ff: removed submodule leaves submodule directory and its contents in place ok 97 - clone ssh://[user@::1]:22/~repo ok 98 - clone from a repository with two identical branches ok 99 - shallow clone locally ok 100 - GIT_TRACE_PACKFILE produces a usable pack ok 101 - clone on case-insensitive fs ok 102 # skip colliding file detection (missing CASE_INSENSITIVE_FS) ok 103 # skip colliding symlink/directory keeps directory (missing CASE_INSENSITIVE_FS of CASE_INSENSITIVE_FS,SYMLINKS) ok 20 - git_pull_ff: removed submodule leaves submodule containing a .git directory alone ok 104 - clone with GIT_DEFAULT_HASH ok 105 - partial clone ok 21 - git_pull_ff: replace submodule with a directory must fail ok 106 - partial clone with -o ok 107 - partial clone: warn if server does not support object filtering ok 22 - git_pull_ff: replace submodule containing a .git directory with a directory must fail ok 108 - batch missing blob request during checkout not ok 23 - git_pull_ff: replace submodule with a file must fail # TODO known breakage ok 109 - batch missing blob request does not inadvertently try to fetch gitlinks # passed all 109 test(s) # SKIP no web server found at '' 1..109 *** t5602-clone-remote-exec.sh *** not ok 24 - git_pull_ff: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 1 - setup ok 2 - clone calls git upload-pack unqualified with no -u option ok 3 - clone calls specified git upload-pack with -u option # passed all 3 test(s) 1..3 *** t5603-clone-dirname.sh *** ok 1 - setup ssh wrapper ok 2 - clone of host:foo goes to foo (non-bare) ok 3 - clone of host:foo goes to foo.git (bare) ok 4 - clone of host:foo.git goes to foo (non-bare) ok 5 - clone of host:foo.git goes to foo.git (bare) ok 6 - clone of host:foo/.git goes to foo (non-bare) ok 7 - clone of host:foo/.git goes to foo.git (bare) ok 25 - git_pull_ff: modified submodule does not update submodule work tree ok 8 - clone of ssh://host/foo goes to foo (non-bare) ok 9 - clone of ssh://host/foo goes to foo.git (bare) ok 10 - clone of ssh://host/foo.git goes to foo (non-bare) ok 11 - clone of ssh://host/foo.git goes to foo.git (bare) ok 12 - clone of ssh://host/foo/.git goes to foo (non-bare) ok 13 - clone of ssh://host/foo/.git goes to foo.git (bare) ok 14 - clone of ssh://host/foo/ goes to foo (non-bare) ok 15 - clone of ssh://host/foo/// goes to foo (non-bare) ok 16 - clone of ssh://host/foo/.git/ goes to foo (non-bare) ok 17 - clone of ssh://host/foo.git/ goes to foo (non-bare) ok 18 - clone of ssh://host/foo.git/// goes to foo (non-bare) ok 19 - clone of ssh://host/foo///.git/ goes to foo (non-bare) ok 20 - clone of ssh://host/foo/.git/// goes to foo (non-bare) ok 21 - clone of host:foo/ goes to foo (non-bare) ok 22 - clone of host:foo/// goes to foo (non-bare) ok 23 - clone of host:foo.git/ goes to foo (non-bare) ok 24 - clone of host:foo/.git/ goes to foo (non-bare) ok 25 - clone of host:foo.git/// goes to foo (non-bare) ok 26 - clone of host:foo///.git/ goes to foo (non-bare) ok 27 - clone of host:foo/.git/// goes to foo (non-bare) ok 26 - git_pull_ff: modified submodule does not update submodule work tree to invalid commit ok 28 - clone of ssh://host/ goes to host (non-bare) ok 29 - clone of ssh://host:1234/ goes to host (non-bare) ok 30 - clone of ssh://user@host/ goes to host (non-bare) ok 31 - clone of host:/ goes to host (non-bare) ok 32 - clone of ssh://user:password@host/ goes to host (non-bare) ok 33 - clone of ssh://user:password@host:1234/ goes to host (non-bare) ok 34 - clone of ssh://user:passw@rd@host:1234/ goes to host (non-bare) ok 35 - clone of user@host:/ goes to host (non-bare) ok 36 - clone of user:password@host:/ goes to host (non-bare) ok 37 - clone of user:passw@rd@host:/ goes to host (non-bare) ok 38 - clone of ssh://host/foo@bar goes to foo@bar (non-bare) ok 39 - clone of ssh://host/foo@bar.git goes to foo@bar (non-bare) ok 40 - clone of ssh://user:password@host/foo@bar goes to foo@bar (non-bare) ok 41 - clone of ssh://user:passw@rd@host/foo@bar.git goes to foo@bar (non-bare) ok 42 - clone of host:/foo@bar goes to foo@bar (non-bare) ok 43 - clone of host:/foo@bar.git goes to foo@bar (non-bare) ok 44 - clone of user:password@host:/foo@bar goes to foo@bar (non-bare) ok 27 - git_pull_ff: modified submodule does not update submodule work tree from invalid commit ok 45 - clone of user:passw@rd@host:/foo@bar.git goes to foo@bar (non-bare) ok 46 - clone of ssh://user:password@host/test:1234 goes to 1234 (non-bare) ok 47 - clone of ssh://user:password@host/test:1234.git goes to 1234 (non-bare) # passed all 47 test(s) 1..47 *** t5604-clone-reference.sh *** ok 28 - git_pull_ff: added submodule doesn't remove untracked unignored file with same name ok 1 - preparing first repository ok 2 - preparing second repository ok 3 - cloning with reference (-l -s) ok 4 - existence of info/alternates ok 5 - pulling from reference ok 6 - that reference gets used ok 7 - cloning with reference (no -l -s) ok 8 - fetched no objects ok 9 - existence of info/alternates ok 10 - pulling from reference ok 11 - that reference gets used ok 12 - updating origin ok 29 - git_pull_ff_only: added submodule creates empty directory ok 13 - pulling changes from origin ok 14 - that alternate to origin gets used ok 15 - pulling changes from origin ok 16 - check objects expected to exist locally ok 17 - preparing alternate repository #1 ok 18 - cloning alternate repo #2 and adding changes to repo #1 ok 19 - cloning alternate repo #1, using #2 as reference ok 20 - cloning with reference being subset of source (-l -s) ok 21 - cloning with multiple references drops duplicates ok 22 - clone with reference from a tagged repository ok 30 - git_pull_ff_only: added submodule leaves existing empty directory alone ok 23 - prepare branched repository ok 24 - fetch with incomplete alternates ok 25 - clone using repo with gitfile as a reference ok 26 - clone using repo pointed at by gitfile as reference ok 31 - git_pull_ff_only: replace tracked file with submodule creates empty directory ok 27 - clone and dissociate from reference ok 28 - clone, dissociate from partial reference and repack ok 29 - clone, dissociate from alternates ok 30 - setup repo with garbage in objects/* ok 32 - git_pull_ff_only: replace directory with submodule ok 31 - clone a repo with garbage in objects/* ok 33 - git_pull_ff_only: removed submodule leaves submodule directory and its contents in place ok 32 - setup repo with manually symlinked or unknown files at objects/ ok 33 - clone repo with symlinked or unknown files at objects/ ok 34 - clone repo with symlinked objects directory # passed all 34 test(s) 1..34 *** t5605-clone-local.sh *** ok 34 - git_pull_ff_only: removed submodule leaves submodule containing a .git directory alone ok 1 - preparing origin repository ok 2 - local clone without .git suffix ok 3 - local clone with .git suffix ok 35 - git_pull_ff_only: replace submodule with a directory must fail ok 4 - local clone from x ok 5 - local clone from x.git that does not exist ok 6 - With -no-hardlinks, local will make a copy ok 7 - Even without -l, local will make a hardlink ok 8 - local clone of repo with nonexistent ref in HEAD ok 9 - bundle clone without .bundle suffix ok 10 - bundle clone with .bundle suffix ok 11 - bundle clone from b4 ok 12 - bundle clone from b4.bundle that does not exist ok 13 - bundle clone with nonexistent HEAD (match default) ok 14 - bundle clone with nonexistent HEAD (no match default) ok 36 - git_pull_ff_only: replace submodule containing a .git directory with a directory must fail ok 15 - clone empty repository ok 16 - clone empty repository, and then push should not segfault. ok 17 - cloning non-existent directory fails ok 18 - cloning non-git directory fails ok 19 - cloning file:// does not hardlink ok 20 - cloning a local path with --no-local does not hardlink ok 21 - cloning a local path with --no-local from a different user succeeds ok 22 - cloning locally respects "-u" for fetching refs not ok 37 - git_pull_ff_only: replace submodule with a file must fail # TODO known breakage ok 23 - local clone from repo with corrupt refs fails gracefully # passed all 23 test(s) 1..23 *** t5606-clone-options.sh *** ok 1 - setup not ok 38 - git_pull_ff_only: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 2 - submodule.stickyRecursiveClone flag manipulates submodule.recurse value ok 3 - clone -o ok 4 - rejects invalid -o/--origin ok 5 - clone --bare -o ok 6 - disallows --bare with --separate-git-dir ok 7 - disallows --bundle-uri with shallow options ok 8 - reject cloning shallow repository ok 9 - reject cloning non-local shallow repository ok 39 - git_pull_ff_only: modified submodule does not update submodule work tree ok 10 - succeed cloning normal repository ok 11 - uses "origin" for default remote name ok 12 - prefers --template config over normal config ok 13 - prefers -c config over --template config ok 14 - ignore --template config for core.bare ok 15 - prefers config "clone.defaultRemoteName" over default ok 16 - prefers --origin over -c config ok 17 - redirected clone does not show progress ok 18 - redirected clone -v does show progress ok 19 - clone does not segfault with --bare and core.bare=false ok 40 - git_pull_ff_only: modified submodule does not update submodule work tree to invalid commit ok 20 - chooses correct default initial branch name ok 21 - guesses initial branch name correctly # passed all 21 test(s) 1..21 *** t5607-clone-bundle.sh *** ok 41 - git_pull_ff_only: modified submodule does not update submodule work tree from invalid commit ok 1 - setup ok 2 - "verify" needs a worktree ok 42 - git_pull_ff_only: added submodule doesn't remove untracked unignored file with same name ok 3 - annotated tags can be excluded by rev-list options ok 4 - die if bundle file cannot be created ok 5 - bundle --stdin ok 6 - bundle --stdin ok 7 - empty bundle file is rejected ok 8 - ridiculously long subject in boundary ok 9 - prerequisites with an empty commit message ok 10 - failed bundle creation does not leave cruft ok 43 - git_pull_noff: added submodule creates empty directory ok 11 - fetch SHA-1 from bundle ok 12 - clone bundle with different fsckObjects configurations ok 13 - git bundle uses expected default format ok 14 - git bundle v3 has expected contents ok 15 - git bundle v3 rejects unknown capabilities # passed all 15 test(s) 1..15 *** t5608-clone-2gb.sh *** ok 44 - git_pull_noff: added submodule leaves existing empty directory alone 1..0 # SKIP expensive 2GB clone test; enable with GIT_TEST_CLONE_2GB=true *** t5609-clone-branch.sh *** ok 1 - setup ok 2 - vanilla clone chooses HEAD ok 3 - clone -b chooses specified branch ok 4 - clone -b sets up tracking ok 5 - clone -b does not munge remotes/origin/HEAD ok 6 - clone -b with bogus branch ok 7 - clone -b not allowed with empty repos # passed all 7 test(s) 1..7 *** t5610-clone-detached.sh *** ok 45 - git_pull_noff: replace tracked file with submodule creates empty directory ok 1 - setup ok 2 - clone repo (detached HEAD points to branch) ok 3 - cloned HEAD matches not ok 4 - cloned HEAD is detached # TODO known breakage ok 5 - clone repo (detached HEAD points to tag) ok 6 - cloned HEAD matches ok 7 - cloned HEAD is detached ok 8 - clone repo (detached HEAD points to history) ok 9 - cloned HEAD matches ok 10 - cloned HEAD is detached ok 46 - git_pull_noff: replace directory with submodule ok 11 - clone repo (orphan detached HEAD) ok 12 - cloned HEAD matches ok 13 - cloned HEAD is detached # still have 1 known breakage(s) # passed all remaining 12 test(s) 1..13 *** t5611-clone-config.sh *** ok 1 - clone -c sets config in cloned repo ok 2 - clone -c can set multi-keys ok 3 - clone -c can set multi-keys, including some empty ok 4 - clone -c without a value is boolean true ok 47 - git_pull_noff: removed submodule leaves submodule directory and its contents in place ok 5 - clone -c config is available during clone ok 6 - clone -c remote.origin.fetch= works ok 7 - git -c remote.origin.fetch= clone works ok 8 - clone -c remote..fetch= --origin= ok 9 - set up shallow repository ok 10 - clone.rejectshallow=true should reject cloning shallow repo ok 11 - option --[no-]reject-shallow override clone.rejectshallow config ok 12 - clone.rejectshallow=true should succeed cloning normal repo ok 13 # skip clone -c core.hideDotFiles (missing MINGW) # passed all 13 test(s) 1..13 ok 48 - git_pull_noff: removed submodule leaves submodule containing a .git directory alone *** t5612-clone-refspec.sh *** ok 49 - git_pull_noff: replace submodule with a directory must fail ok 1 - setup ok 2 - by default all branches will be kept updated ok 3 - by default no tags will be kept updated ok 50 - git_pull_noff: replace submodule containing a .git directory with a directory must fail ok 4 - clone with --no-tags ok 5 - --single-branch while HEAD pointing at main ok 6 - --single-branch while HEAD pointing at main and --no-tags ok 7 - --single-branch while HEAD pointing at side not ok 51 - git_pull_noff: replace submodule with a file must fail # TODO known breakage ok 8 - --single-branch with explicit --branch side ok 9 - --single-branch with explicit --branch with tag fetches updated tag ok 10 - --single-branch with explicit --branch with tag fetches updated tag despite --no-tags ok 11 - --single-branch with --mirror ok 12 - --single-branch with explicit --branch and --mirror ok 13 - --single-branch with detached # passed all 13 test(s) 1..13 not ok 52 - git_pull_noff: replace submodule containing a .git directory with a file must fail # TODO known breakage *** t5613-info-alternate.sh *** ok 1 - preparing first repository ok 2 - preparing second repository ok 3 - preparing third repository ok 4 - count-objects shows the alternates ok 53 - git_pull_noff: modified submodule does not update submodule work tree ok 5 - creating too deep nesting ok 6 - validity of seventh repository ok 7 - invalidity of eighth repository ok 8 - breaking of loops ok 9 - that info/alternates is necessary ok 10 - that relative alternate is possible for current dir ok 11 - that relative alternate is recursive ok 12 - relative duplicates are eliminated ok 13 # skip dup finding can be case-insensitive (missing CASE_INSENSITIVE_FS) # passed all 13 test(s) 1..13 *** t5614-clone-submodules-shallow.sh *** ok 54 - git_pull_noff: modified submodule does not update submodule work tree to invalid commit ok 1 - setup ok 55 - git_pull_noff: modified submodule does not update submodule work tree from invalid commit ok 2 - nonshallow clone implies nonshallow submodule ok 56 - git_pull_noff: added submodule doesn't remove untracked unignored file with same name ok 57 - setup ok 3 - shallow clone with shallow submodule ok 4 - shallow clone does not imply shallow submodule ok 58 - pull --recurse-submodule setup ok 5 - shallow clone with non shallow submodule ok 59 - recursive pull updates working tree ok 6 - non shallow clone with shallow submodule ok 7 - clone follows shallow recommendation ok 60 - submodule.recurse option triggers recursive pull ok 8 - get unshallow recommended shallow submodule ok 9 - clone follows non shallow recommendation # passed all 9 test(s) 1..9 *** t5615-alternate-env.sh *** ok 1 - create alternate repositories ok 2 - objects inaccessible without alternates ok 3 - access alternate via absolute path ok 4 - access multiple alternates ok 5 - access alternate via relative path (bare) ok 6 - access alternate via relative path (worktree) ok 7 - access alternate via relative path (subdir) ok 8 - mix of quoted and unquoted alternates ok 9 - broken quoting falls back to interpreting raw # passed all 9 test(s) 1..9 *** t5616-partial-clone.sh *** ok 61 - --[no-]recurse-submodule and submodule.recurse ok 1 - setup normal src repo ok 62 - fetch.recurseSubmodules option triggers recursive fetch (but not recursive update) ok 2 - setup bare clone for server ok 3 - do partial clone 1 ok 63 - fetch.recurseSubmodules takes precedence over submodule.recurse ok 4 - rev-list --missing=allow-promisor on partial clone ok 5 - verify that .promisor file contains refs fetched ok 6 - verify checkout with dynamic object fetch ok 7 - push new commits to server ok 8 - partial fetch inherits filter settings ok 9 - verify diff causes dynamic object fetch ok 64 - pull --rebase --recurse-submodules (remote superproject submodule changes, local submodule changes) ok 10 - verify blame causes dynamic object fetch ok 11 - push new commits to server for file.2.txt ok 12 - override inherited filter-spec using --no-filter ok 65 - pull --rebase --recurse-submodules fails if both sides record submodule changes ok 13 - push new commits to server for file.3.txt ok 14 - manual prefetch of missing objects ok 15 - push new commits to server for file.4.txt ok 66 - pull --rebase --recurse-submodules (no submodule changes, no fork-point) ok 16 - apply a different filter using --refetch ok 17 - fetch --refetch works with a shallow clone ok 67 - branch has no merge base with remote-tracking counterpart ok 18 - fetch --refetch triggers repacking ok 19 - partial clone with transfer.fsckobjects=1 works with submodules ok 20 - lazily fetched .gitmodules works ok 68 - fetch submodule remote of different name from superproject # still have 8 known breakage(s) # passed all remaining 60 test(s) 1..68 *** t5617-clone-submodules-remote.sh *** ok 21 - partial clone with transfer.fsckobjects=1 uses index-pack --fsck-objects ok 1 - setup ok 2 - setup bare clone for server ok 3 - clone with --no-remote-submodules ok 4 - clone with --remote-submodules ok 5 - check the default is --no-remote-submodules ok 6 - clone with --single-branch ok 7 - clone with --filter ok 8 - filters applied with clone.filterSubmodules ok 9 - --no-also-filter-submodules overrides clone.filterSubmodules=true # passed all 9 test(s) 1..9 *** t5618-alternate-refs.sh *** ok 1 - set up local refs ok 2 - set up shared clone ok 3 - rev-list --alternate-refs ok 4 - rev-list --not --alternate-refs ok 5 - limiting with alternateRefsPrefixes ok 6 - log --source shows .alternate marker # passed all 6 test(s) 1..6 *** t5619-clone-local-ambiguous-transport.sh *** 1..0 # SKIP no web server found at '' *** t5620-backfill.sh *** ok 1 - setup repo for object creation ok 22 - use fsck before and after manually fetching a missing subtree ok 2 - setup bare clone for server ok 3 - do partial clone 1, backfill gets all objects ok 4 - do partial clone 2, backfill min batch size ok 5 - backfill --sparse without sparse-checkout fails ok 23 - implicitly construct combine: filter with repeated flags ok 24 - upload-pack complains of bogus filter config ok 25 - upload-pack fails banned object filters ok 26 - upload-pack fails banned combine object filters ok 27 - upload-pack fails banned object filters with fallback ok 6 - backfill --sparse ok 28 - upload-pack limits tree depth filters ok 7 - backfill --sparse without cone mode (positive) ok 29 - partial clone fetches blobs pointed to by refs even if normally filtered out ok 8 - backfill --sparse without cone mode (negative) # passed all 8 test(s) # SKIP no web server found at '' 1..8 *** t5621-clone-revision.sh *** ok 30 - fetch what is specified on CLI even if already promised ok 31 - setup src repo for sparse filter ok 32 - partial clone with sparse filter succeeds ok 1 - setup ok 33 - partial clone with unresolvable sparse filter fails cleanly ok 2 - clone with --revision being a branch ok 3 - clone with --depth and --revision being a branch ok 4 - clone with --revision being a tag ok 5 - clone with --revision being HEAD ok 6 - clone with --revision being a raw commit hash ok 7 - clone with --revision and --bare ok 8 - clone with --revision being a short raw commit hash ok 9 - clone with --revision being a tree hash ok 10 - clone with --revision being the parent of a ref fails ok 11 - clone with --revision and --branch fails ok 12 - clone with --revision and --mirror fails # passed all 12 test(s) 1..12 *** t5700-protocol-v1.sh *** ok 1 - create repo to be served by git-daemon ok 2 - clone with git:// using protocol v1 ok 34 - fetch lazy-fetches only to resolve deltas ok 3 - fetch with git:// using protocol v1 ok 4 - pull with git:// using protocol v1 ok 5 - push with git:// using protocol v1 ok 6 - create repo to be served by file:// transport ok 7 - clone with file:// using protocol v1 ok 8 - fetch with file:// using protocol v1 ok 9 - pull with file:// using protocol v1 ok 10 - push with file:// using protocol v1 ok 11 - cloning branchless tagless but not refless remote ok 12 - setup ssh wrapper ok 13 - create repo to be served by ssh:// transport ok 14 - clone with ssh:// using protocol v1 ok 15 - fetch with ssh:// using protocol v1 ok 35 - fetch lazy-fetches only to resolve deltas, protocol v2 ok 16 - pull with ssh:// using protocol v1 ok 17 - push with ssh:// using protocol v1 ok 18 - clone propagates object-format from empty repo ok 36 - fetch does not lazy-fetch missing targets of its refs # passed all 18 test(s) # SKIP no web server found at '' 1..18 *** t5701-git-serve.sh *** ok 1 - setup to generate files with expected content ok 2 - test capability advertisement ok 3 - stateless-rpc flag does not list capabilities ok 4 - request invalid capability ok 5 - request with no command ok 6 - request invalid command ok 7 - request capability as command ok 8 - request command as capability ok 9 - requested command is command=value ok 10 - wrong object-format ok 37 - verify fetch succeeds when asking for new tags ok 11 - setup some refs and tags ok 12 - basics of ls-refs ok 13 - ls-refs complains about unknown options ok 14 - basic ref-prefixes ok 15 - refs/heads prefix ok 38 - verify fetch downloads only one pack when updating refs ok 39 - single-branch tag following respects partial clone ok 40 - fetch from a partial clone, protocol v0 ok 41 - fetch from a partial clone, protocol v2 ok 16 - ignore very large set of prefixes ok 42 - repack does not loosen promisor objects ok 17 - peel parameter ok 18 - symrefs parameter ok 19 - sending server-options ok 20 - unexpected lines are not allowed in fetch request ok 21 - basics of object-info ok 22 - test capability advertisement with uploadpack.advertiseBundleURIs ok 23 - basics of bundle-uri: dies if not enabled ok 24 - object-info missing from capabilities when disabled ok 25 - object-info commands rejected when disabled # passed all 25 test(s) 1..25 *** t5702-protocol-v2.sh *** ok 1 - create repo to be served by git-daemon ok 43 - lazy-fetch in submodule succeeds ok 44 - after fetching descendants of non-promisor commits, gc works # passed all 44 test(s) # SKIP no web server found at '' 1..44 *** t5703-upload-pack-ref-in-want.sh *** ok 2 - list refs with git:// using protocol v2 ok 1 - setup repository ok 3 - ref advertisement is filtered with ls-remote using protocol v2 ok 2 - config controls ref-in-want advertisement ok 3 - invalid want-ref line ok 4 - basic want-ref ok 5 - multiple want-ref lines ok 6 - mix want and want-ref ok 7 - want-ref with ref we already have commit for ok 4 - clone with git:// using protocol v2 ok 8 - setup repos for fetching with ref-in-want tests ok 9 - fetching with exact OID ok 10 - fetching multiple refs ok 11 - fetching ref and exact OID ok 12 - fetching with wildcard that does not match any refs ok 13 - fetching with wildcard that matches multiple refs ok 5 - fetch with git:// using protocol v2 ok 14 - setup namespaced repo ok 15 - with namespace: want-ref is considered relative to namespace ok 16 - with namespace: want-ref outside namespace is unknown ok 6 - fetch by hash without tag following with protocol v2 does not list refs ok 17 - without namespace: want-ref outside namespace succeeds ok 18 - with namespace: hideRefs is matched, relative to namespace ok 19 - with namespace: want-ref succeeds if hideRefs is removed ok 20 - without namespace: relative hideRefs does not match # passed all 20 test(s) # SKIP no web server found at '' 1..20 *** t5704-protocol-violations.sh *** ok 1 - extra delim packet in v2 ls-refs args ok 2 - extra delim packet in v2 fetch args ok 7 - pull with git:// using protocol v2 ok 3 - bogus symref in v0 capabilities # passed all 3 test(s) 1..3 *** t5705-session-id-in-capabilities.sh *** ok 8 - push with git:// and a config of v2 does not request v2 ok 1 - setup repos for session ID capability tests ok 9 - create repo to be served by file:// transport ok 10 - list refs with file:// using protocol v2 ok 11 - ref advertisement is filtered with ls-remote using protocol v2 ok 2 - session IDs not advertised by default (fetch v0) ok 12 - server-options are sent when using ls-remote ok 3 - session IDs not advertised by default (push v0) ok 13 - server-options from configuration are used by ls-remote ok 14 - warn if using server-option with ls-remote with legacy protocol ok 4 - session IDs not advertised by default (fetch v1) ok 15 - clone with file:// using protocol v2 ok 16 - clone of empty repo propagates name of default branch ok 17 - ...but not if explicitly forbidden by config ok 5 - session IDs not advertised by default (push v1) ok 18 - bare clone propagates empty default branch ok 6 - session IDs not advertised by default (fetch v2) ok 19 - clone propagates unborn HEAD from non-empty repo ok 20 - clone propagates object-format from empty repo ok 7 - session IDs not advertised by default (push v2) ok 8 - enable SID advertisement ok 21 - bare clone propagates unborn HEAD from non-empty repo ok 9 - session IDs advertised (fetch v0) ok 22 - defaulted HEAD uses remote branch if available ok 10 - session IDs advertised (push v0) ok 23 - fetch with file:// using protocol v2 ok 11 - client & server log negotiated version (v0) ok 12 - session IDs advertised (fetch v1) ok 24 - ref advertisement is filtered during fetch using protocol v2 ok 25 - server-options are sent when fetching ok 13 - session IDs advertised (push v1) ok 14 - client & server log negotiated version (v1) ok 26 - server-options are sent when fetch multiple remotes ok 15 - session IDs advertised (fetch v2) ok 27 - server-options from configuration are used by git-fetch ok 16 - session IDs advertised (push v2) ok 28 - warn if using server-option with fetch with legacy protocol ok 17 - client & server log negotiated version (v2) # passed all 17 test(s) 1..17 *** t5710-promisor-remote-capability.sh *** ok 29 - server-options are sent when cloning ok 30 - server-options from configuration are used by git-clone ok 31 - warn if using server-option with clone with legacy protocol ok 1 - setup: create "template" repository ok 32 - server-option configuration with legacy protocol is ok ok 33 - invalid server-option configuration ok 2 - setup: create bare "server" repository ok 34 - upload-pack respects config using protocol v2 ok 3 - setup for testing promisor remote advertisement ok 35 - setup filter tests ok 4 - clone with promisor.advertise set to 'true' ok 36 - partial clone ok 37 - dynamically fetch missing object ok 38 - when dynamically fetching missing object, do not list refs ok 39 - partial fetch ok 5 - clone with promisor.advertise set to 'false' ok 40 - do not advertise filter if not configured to do so ok 41 - partial clone warns if filter is not advertised ok 42 - even with handcrafted request, filter does not work if not advertised ok 43 - default refspec is used to filter ref when fetchcing ok 6 - clone with promisor.acceptfromserver set to 'None' ok 7 - init + fetch with promisor.advertise set to 'true' ok 8 - clone with promisor.acceptfromserver set to 'KnownName' ok 44 - fetch supports various ways of have lines ok 45 - fetch supports include-tag and tag following ok 9 - clone with 'KnownName' and different remote names ok 10 - clone with promisor.acceptfromserver set to 'KnownUrl' ok 46 - upload-pack respects client shallows ok 11 - clone with 'KnownUrl' and different remote urls ok 12 - clone with promisor.advertise set to 'true' but don't delete the client ok 47 - ensure that multiple fetches in same process from a shallow repo works ok 13 - setup for subsequent fetches ok 14 - subsequent fetch from a client when promisor.advertise is true ok 48 - deepen-relative ok 15 - subsequent fetch from a client when promisor.advertise is false # passed all 15 test(s) 1..15 *** t5730-protocol-v2-bundle-uri-file.sh *** ok 49 - usage: --negotiate-only without --negotiation-tip ok 50 - usage: --negotiate-only with --recurse-submodules ok 1 - setup protocol v2 file:// tests ok 51 - file:// --negotiate-only ok 2 - connect with file:// using protocol v2: no bundle-uri ok 3 - connect with file:// using protocol v2: have bundle-uri ok 52 - file:// --negotiate-only with protocol v0 ok 4 - clone with file:// using protocol v2: request bundle-uris ok 5 - enable transfer.bundleURI for remaining tests ok 53 - push with custom path does not request v2 ok 6 - test bundle-uri with file:// using protocol v2 ok 54 - fetch with custom path does request v2 ok 55 - archive with custom path does not request v2 ok 7 - test bundle-uri with file:// using protocol v2 and extra data ok 56 - reject client packfile-uris if not advertised # passed all 56 test(s) # SKIP no web server found at '' 1..56 ok 8 - test bundle-uri with file:// using protocol v2 with list # passed all 8 test(s) 1..8 *** t5731-protocol-v2-bundle-uri-git.sh *** *** t5732-protocol-v2-bundle-uri-http.sh *** 1..0 # SKIP no web server found at '' *** t5750-bundle-uri-parse.sh *** ok 1 - setup protocol v2 git:// tests ok 1 - bundle_uri_parse_line() just URIs ok 2 - bundle_uri_parse_line(): relative URIs ok 3 - bundle_uri_parse_line(): relative URIs and parent paths ok 4 - bundle_uri_parse_line() parsing edge cases: empty key or value ok 5 - bundle_uri_parse_line() parsing edge cases: empty lines ok 6 - bundle_uri_parse_line() parsing edge cases: duplicate lines ok 7 - parse config format: just URIs ok 8 - parse config format: relative URIs ok 9 - parse config format edge cases: empty key or value ok 10 - parse config format: creationToken heuristic ok 11 - parse config format edge cases: creationToken heuristic ok 2 - connect with git:// using protocol v2: no bundle-uri # passed all 11 test(s) 1..11 *** t5801-remote-helpers.sh *** ok 1 - setup repository ok 2 - cloning from local repo ok 3 - clone with remote.*.vcs config ok 3 - connect with git:// using protocol v2: have bundle-uri ok 4 - fetch with configured remote.*.vcs ok 5 - vcs remote with no url ok 6 - create new commit on remote ok 7 - pulling from local repo ok 8 - pushing to local repo ok 9 - fetch new branch ok 10 - fetch multiple branches ok 11 - push when remote has extra refs ok 12 - push new branch by name ok 13 - push new branch with old:new refspec ok 14 - push new branch with HEAD:new refspec ok 15 - push delete branch ok 16 - forced push ok 17 - cloning without refspec ok 18 - pulling without refspecs ok 19 - pushing without refspecs ok 20 - pulling without marks not ok 21 - pushing without marks # TODO known breakage ok 22 - push all with existing object ok 23 - push ref with existing object ok 24 # skip push signed tag (missing GPG) ok 25 # skip push signed tag with signed-tags capability (missing GPG) ok 4 - clone with git:// using protocol v2: request bundle-uris ok 26 - push update refs ok 5 - enable transfer.bundleURI for remaining tests ok 27 - push update refs disabled by no-private-update ok 28 - push update refs failure ok 29 - proper failure checks for fetching ok 30 - proper failure checks for pushing ok 6 - test bundle-uri with git:// using protocol v2 ok 31 - push messages ok 32 - fetch HEAD ok 7 - test bundle-uri with git:// using protocol v2 and extra data ok 33 - fetch url ok 34 - fetch tag ok 35 - totally broken helper reports failure message # still have 1 known breakage(s) # passed all remaining 34 test(s) 1..35 *** t5802-connect-helper.sh *** ok 8 - test bundle-uri with git:// using protocol v2 with list # passed all 8 test(s) 1..8 *** t5810-proto-disable-local.sh *** ok 1 - setup ok 2 - clone ok 1 - setup repository to clone ok 3 - update following tag ok 2 - clone file:// (enabled) ok 3 - fetch file:// (enabled) ok 4 - push file:// (enabled) ok 5 - push file:// (disabled) ok 6 - fetch file:// (disabled) ok 7 - clone file:// (disabled) ok 4 - update backfilled tag ok 8 - clone file:// (env var has precedence) ok 9 - clone file:// (enabled with config) ok 10 - fetch file:// (enabled) ok 5 - update backfilled tag without primary transfer ok 11 - push file:// (enabled) ok 12 - push file:// (disabled) ok 13 - fetch file:// (disabled) ok 6 - set up fake git-daemon ok 14 - clone file:// (disabled) ok 7 - ext command can connect to git daemon (no vhost) ok 15 - clone file:// (enabled) ok 16 - fetch file:// (enabled) ok 8 - ext command can connect to git daemon (vhost) ok 17 - push file:// (enabled) # passed all 8 test(s) 1..8 ok 18 - push file:// (disabled) ok 19 - fetch file:// (disabled) *** t5811-proto-disable-git.sh *** ok 20 - clone file:// (disabled) ok 21 - clone file:// (enabled) ok 22 - fetch file:// (enabled) ok 23 - push file:// (enabled) ok 24 - push file:// (disabled) ok 25 - fetch file:// (disabled) ok 26 - clone file:// (disabled) ok 27 - clone path (enabled) ok 28 - fetch path (enabled) ok 29 - push path (enabled) ok 1 - create git-accessible repo ok 30 - push path (disabled) ok 31 - fetch path (disabled) ok 32 - clone path (disabled) ok 33 - clone path (env var has precedence) ok 34 - clone path (enabled with config) ok 35 - fetch path (enabled) ok 36 - push path (enabled) ok 37 - push path (disabled) ok 38 - fetch path (disabled) ok 39 - clone path (disabled) ok 40 - clone path (enabled) ok 41 - fetch path (enabled) ok 42 - push path (enabled) ok 43 - push path (disabled) ok 44 - fetch path (disabled) ok 45 - clone path (disabled) ok 46 - clone path (enabled) ok 47 - fetch path (enabled) ok 48 - push path (enabled) ok 49 - push path (disabled) ok 50 - fetch path (disabled) ok 51 - clone path (disabled) ok 52 - setup repo with dash ok 53 - repo names starting with dash are rejected ok 54 - full paths still work # passed all 54 test(s) 1..54 *** t5812-proto-disable-http.sh *** ok 2 - clone git:// (enabled) 1..0 # SKIP no web server found at '' *** t5813-proto-disable-ssh.sh *** ok 1 - setup ssh wrapper ok 2 - setup repository to clone ok 3 - fetch git:// (enabled) ok 3 - clone host:path (enabled) ok 4 - fetch host:path (enabled) ok 5 - push host:path (enabled) ok 6 - push host:path (disabled) ok 7 - fetch host:path (disabled) ok 8 - clone host:path (disabled) ok 9 - clone host:path (env var has precedence) ok 10 - clone host:path (enabled with config) ok 4 - push git:// (enabled) ok 5 - push git:// (disabled) ok 11 - fetch host:path (enabled) ok 6 - fetch git:// (disabled) ok 12 - push host:path (enabled) ok 7 - clone git:// (disabled) ok 13 - push host:path (disabled) ok 14 - fetch host:path (disabled) ok 15 - clone host:path (disabled) ok 8 - clone git:// (env var has precedence) ok 16 - clone host:path (enabled) ok 17 - fetch host:path (enabled) ok 18 - push host:path (enabled) ok 19 - push host:path (disabled) ok 20 - fetch host:path (disabled) ok 21 - clone host:path (disabled) ok 22 - clone host:path (enabled) ok 23 - fetch host:path (enabled) ok 24 - push host:path (enabled) ok 25 - push host:path (disabled) ok 26 - fetch host:path (disabled) ok 27 - clone host:path (disabled) ok 28 - clone ssh:// (enabled) ok 29 - fetch ssh:// (enabled) ok 30 - push ssh:// (enabled) ok 31 - push ssh:// (disabled) ok 32 - fetch ssh:// (disabled) ok 33 - clone ssh:// (disabled) ok 34 - clone ssh:// (env var has precedence) ok 35 - clone ssh:// (enabled with config) ok 36 - fetch ssh:// (enabled) ok 37 - push ssh:// (enabled) ok 38 - push ssh:// (disabled) ok 39 - fetch ssh:// (disabled) ok 9 - clone git:// (enabled with config) ok 40 - clone ssh:// (disabled) ok 41 - clone ssh:// (enabled) ok 42 - fetch ssh:// (enabled) ok 43 - push ssh:// (enabled) ok 44 - push ssh:// (disabled) ok 45 - fetch ssh:// (disabled) ok 46 - clone ssh:// (disabled) ok 47 - clone ssh:// (enabled) ok 48 - fetch ssh:// (enabled) ok 49 - push ssh:// (enabled) ok 50 - push ssh:// (disabled) ok 51 - fetch ssh:// (disabled) ok 52 - clone ssh:// (disabled) ok 53 - clone git+ssh:// (enabled) ok 10 - fetch git:// (enabled) ok 54 - fetch git+ssh:// (enabled) ok 11 - push git:// (enabled) ok 12 - push git:// (disabled) ok 55 - push git+ssh:// (enabled) ok 13 - fetch git:// (disabled) ok 56 - push git+ssh:// (disabled) ok 57 - fetch git+ssh:// (disabled) ok 14 - clone git:// (disabled) ok 58 - clone git+ssh:// (disabled) ok 59 - clone git+ssh:// (env var has precedence) ok 60 - clone git+ssh:// (enabled with config) ok 61 - fetch git+ssh:// (enabled) ok 62 - push git+ssh:// (enabled) ok 63 - push git+ssh:// (disabled) ok 64 - fetch git+ssh:// (disabled) ok 65 - clone git+ssh:// (disabled) ok 66 - clone git+ssh:// (enabled) ok 67 - fetch git+ssh:// (enabled) ok 68 - push git+ssh:// (enabled) ok 69 - push git+ssh:// (disabled) ok 70 - fetch git+ssh:// (disabled) ok 71 - clone git+ssh:// (disabled) ok 72 - clone git+ssh:// (enabled) ok 73 - fetch git+ssh:// (enabled) ok 74 - push git+ssh:// (enabled) ok 75 - push git+ssh:// (disabled) ok 76 - fetch git+ssh:// (disabled) ok 77 - clone git+ssh:// (disabled) ok 78 - hostnames starting with dash are rejected ok 79 - setup repo with dash ok 80 - repo names starting with dash are rejected ok 15 - clone git:// (enabled) ok 81 - full paths still work # passed all 81 test(s) 1..81 *** t5814-proto-disable-ext.sh *** ok 1 - setup ext wrapper ok 2 - setup repository to clone ok 3 - clone remote-helper (enabled) ok 4 - fetch remote-helper (enabled) ok 16 - fetch git:// (enabled) ok 17 - push git:// (enabled) ok 5 - push remote-helper (enabled) ok 18 - push git:// (disabled) ok 6 - push remote-helper (disabled) ok 19 - fetch git:// (disabled) ok 7 - fetch remote-helper (disabled) ok 20 - clone git:// (disabled) ok 8 - clone remote-helper (disabled) ok 9 - clone remote-helper (env var has precedence) ok 10 - clone remote-helper (enabled with config) ok 11 - fetch remote-helper (enabled) ok 12 - push remote-helper (enabled) ok 13 - push remote-helper (disabled) ok 14 - fetch remote-helper (disabled) ok 15 - clone remote-helper (disabled) ok 16 - clone remote-helper (enabled) ok 17 - fetch remote-helper (enabled) ok 18 - push remote-helper (enabled) ok 19 - push remote-helper (disabled) ok 20 - fetch remote-helper (disabled) ok 21 - clone remote-helper (disabled) ok 22 - clone remote-helper (enabled) ok 23 - fetch remote-helper (enabled) ok 24 - push remote-helper (enabled) ok 25 - push remote-helper (disabled) ok 26 - fetch remote-helper (disabled) ok 27 - clone remote-helper (disabled) # passed all 27 test(s) 1..27 *** t5815-submodule-protos.sh *** ok 21 - clone git:// (enabled) ok 1 - setup ext wrapper ok 2 - setup ssh wrapper ok 3 - setup repository with submodules ok 22 - fetch git:// (enabled) ok 23 - push git:// (enabled) ok 24 - push git:// (disabled) ok 25 - fetch git:// (disabled) ok 26 - clone git:// (disabled) # passed all 26 test(s) 1..26 *** t5900-repo-selection.sh *** ok 4 - clone with recurse-submodules fails ok 5 - setup individual updates ok 6 - update of ssh allowed ok 1 - find .git dir in worktree ok 7 - update of ext not allowed ok 2 - automagically add .git suffix ok 8 - user can filter protocols with GIT_ALLOW_PROTOCOL # passed all 8 test(s) 1..8 *** t6000-rev-list-misc.sh *** ok 3 - automagically add .git suffix to worktree ok 1 - setup ok 2 - rev-list --objects heeds pathspecs ok 3 - rev-list --objects with pathspecs and deeper paths ok 4 - prefer worktree foo over bare foo.git ok 4 - rev-list --objects with pathspecs and copied files ok 5 - rev-list --objects --no-object-names has no space/names ok 6 - rev-list --objects --no-object-names works with cat-file ok 7 - --no-object-names and --object-names are last-one-wins ok 8 - rev-list A..B and rev-list ^A B are the same ok 9 - propagate uninteresting flag down correctly ok 5 - prefer bare foo over bare foo.git ok 10 - symleft flag bit is propagated down from tag ok 11 - rev-list can show index objects ok 12 - rev-list can negate index objects ok 13 - --bisect and --first-parent can be combined ok 14 - --header shows a NUL after each commit ok 15 - rev-list --end-of-options ok 16 - rev-list --count ok 17 - rev-list --count --objects ok 6 - disambiguate with full foo.git ok 18 - rev-list --unpacked # passed all 18 test(s) 1..18 *** t6001-rev-list-graft.sh *** ok 7 - we are not fooled by non-git foo directory ok 8 - prefer inner .git over outer bare # passed all 8 test(s) 1..8 *** t6002-rev-list-bisect.sh *** ok 1 - setup ok 2 - without grafts ok 3 - with grafts ok 4 - without grafts, with pathlimit ok 5 - with grafts, with pathlimit ok 6 - without grafts ok 7 - with grafts ok 8 - without grafts, with pathlimit ok 9 - with grafts, with pathlimit ok 10 - without grafts ok 11 - with grafts ok 12 - without grafts, with pathlimit ok 13 - with grafts, with pathlimit ok 14 - show advice that grafts are deprecated # passed all 14 test(s) 1..14 *** t6003-rev-list-topo-order.sh *** ok 1 - bisection diff --bisect l0 ^root <= 0 ok 2 - bisection diff --bisect l1 ^root <= 0 ok 3 - bisection diff --bisect l2 ^root <= 0 ok 4 - bisection diff --bisect a0 ^root <= 0 ok 5 - bisection diff --bisect a1 ^root <= 0 ok 6 - bisection diff --bisect a2 ^root <= 0 ok 7 - bisection diff --bisect a3 ^root <= 0 ok 8 - bisection diff --bisect b1 ^root <= 0 ok 9 - bisection diff --bisect b2 ^root <= 0 ok 10 - bisection diff --bisect b3 ^root <= 0 ok 11 - bisection diff --bisect c1 ^root <= 0 ok 12 - bisection diff --bisect c2 ^root <= 0 ok 13 - bisection diff --bisect c3 ^root <= 0 ok 14 - bisection diff --bisect E ^F <= 0 ok 15 - bisection diff --bisect e1 ^F <= 0 ok 16 - bisection diff --bisect e2 ^F <= 0 ok 17 - bisection diff --bisect e3 ^F <= 0 ok 18 - bisection diff --bisect e4 ^F <= 0 ok 19 - bisection diff --bisect e5 ^F <= 0 ok 20 - bisection diff --bisect e6 ^F <= 0 ok 21 - bisection diff --bisect e7 ^F <= 0 ok 22 - bisection diff --bisect f1 ^F <= 0 ok 1 - rev-list has correct number of entries ok 23 - bisection diff --bisect f2 ^F <= 0 ok 2 - simple topo order ok 24 - bisection diff --bisect f3 ^F <= 0 ok 25 - bisection diff --bisect f4 ^F <= 0 ok 3 - simple date order ok 26 - bisection diff --bisect E ^F <= 0 ok 4 - simple author-date order ok 27 - bisection diff --bisect V ^U <= 1 ok 5 - two diamonds topo order (g6) ok 28 - bisection diff --bisect V ^U ^u1 ^u2 ^u3 <= 0 ok 6 - multiple heads ok 29 - bisection diff --bisect u1 ^U <= 0 ok 7 - multiple heads, prune at a1 ok 30 - bisection diff --bisect u2 ^U <= 0 ok 8 - multiple heads, prune at l1 ok 31 - bisection diff --bisect u3 ^U <= 0 ok 9 - cross-epoch, head at l5, prune at l1 ok 32 - bisection diff --bisect u4 ^U <= 0 ok 33 - bisection diff --bisect u5 ^U <= 0 ok 10 - duplicated head arguments ok 34 - --bisect l5 ^root ok 11 - prune near topo ok 12 - head has no parent ok 35 - --bisect l5 ^root ^c3 ok 13 - two nodes - one head, one base ok 36 - --bisect l5 ^root ^c3 ^b4 ok 37 - --bisect l3 ^root ^c3 ^b4 ok 14 - three nodes one head, one internal, one base ok 38 - --bisect l5 ^b3 ^a3 ^b4 ^a4 ok 15 - linear prune l2 ^root ok 39 - --bisect l4 ^a2 ^a3 ^b ^a4 ok 16 - linear prune l2 ^l0 ok 40 - --bisect l3 ^a2 ^a3 ^b ^a4 ok 17 - linear prune l2 ^l1 ok 41 - --bisect a4 ^a2 ^a3 ^b4 ok 18 - linear prune l5 ^a4 ok 42 - --bisect a4 ^a2 ^a3 ^b4 ^c2 ok 19 - linear prune l5 ^l3 ok 43 - --bisect a4 ^a2 ^a3 ^b4 ^c2 ^c3 ok 20 - linear prune l5 ^l4 ok 44 - --bisect a4 ^a2 ^a3 ^b4 ok 21 - max-count 10 - topo order ok 45 - --bisect c3 ^a2 ^a3 ^b4 ^c2 ok 46 - set up fake --bisect refs ok 22 - max-count 10 - non topo order ok 47 - rev-list --bisect can default to good/bad refs ok 48 - rev-parse --bisect can default to good/bad refs ok 23 - --max-age=c3, no --topo-order ok 49 - --bisect --first-parent ok 50 - --first-parent ok 24 - --max-age=c3, --topo-order ok 51 - --bisect-vars --first-parent ok 25 - one specified head reachable from another a4, c3, --topo-order ok 26 - one specified head reachable from another c3, a4, --topo-order ok 52 - --bisect-all --first-parent ok 27 - one specified head reachable from another a4, c3, no --topo-order ok 53 - --bisect without any revisions # passed all 53 test(s) 1..53 ok 28 - one specified head reachable from another c3, a4, no --topo-order *** t6004-rev-list-path-optim.sh *** ok 29 - graph with c3 and a4 parents of head ok 30 - graph with a4 and c3 parents of head ok 31 - head ^head --topo-order ok 32 - head ^head no --topo-order ok 33 - simple topo order (l5r1) ok 34 - simple topo order (r1l5) ok 35 - don't print things unreachable from one branch ok 1 - setup ok 36 - --topo-order a4 l3 ok 2 - path-optimization # passed all 36 test(s) 1..36 *** t6005-rev-list-count.sh *** ok 3 - further setup ok 4 - path optimization 2 ok 5 - pathspec with leading path ok 6 - pathspec with glob (1) ok 1 - setup ok 7 - pathspec with glob (2) # passed all 7 test(s) 1..7 ok 2 - no options *** t6006-rev-list-format.sh *** ok 3 - --max-count ok 4 - --max-count all forms ok 5 - --skip ok 1 - setup ok 2 - format percent ok 3 - format hash ok 4 - format hash-no-header ok 5 - format hash-no-header-abbrev ok 6 - format tree ok 7 - format parents ok 8 - format author ok 6 - --skip --max-count # passed all 6 test(s) 1..6 ok 9 - format committer *** t6007-rev-list-cherry-pick-file.sh *** ok 10 - format encoding ok 11 - format subject ok 12 - format subject-truncated ok 13 - format body ok 14 - format raw-body ok 15 - format raw-body-no-header ok 16 - pretty oneline (without --no-commit-header) ok 17 - pretty oneline (with --no-commit-header) ok 18 - pretty short (without --no-commit-header) ok 19 - pretty short (with --no-commit-header) ok 20 - basic colors ok 21 - %S is not a placeholder for rev-list yet ok 22 - advanced colors ok 23 - %Cred does not enable color by default ok 24 - %Cred enables colors for color.diff ok 25 - %Cred enables colors for color.ui ok 26 - %Cred respects --color ok 27 - %Cred respects --no-color ok 28 # skip %Cred respects --color=auto (stdout is tty) (missing TTY) ok 29 - %Cred respects --color=auto (stdout not tty) ok 30 - %C(...) does not enable color by default ok 31 - %C(...) enables colors for color.diff ok 32 - %C(...) enables colors for color.ui ok 33 - %C(...) respects --color ok 34 - %C(...) respects --no-color ok 35 # skip %C(...) respects --color=auto (stdout is tty) (missing TTY) ok 36 - %C(...) respects --color=auto (stdout not tty) ok 37 - %C(auto,...) does not enable color by default ok 38 - %C(auto,...) enables colors for color.diff ok 39 - %C(auto,...) enables colors for color.ui ok 40 - %C(auto,...) respects --color ok 1 - setup ok 41 - %C(auto,...) respects --no-color ok 42 # skip %C(auto,...) respects --color=auto (stdout is tty) (missing TTY) ok 43 - %C(auto,...) respects --color=auto (stdout not tty) ok 2 - --left-right ok 3 - --count ok 44 - %C(always,...) enables color even without tty ok 4 - --cherry-pick foo comes up empty ok 45 - %C(auto) respects --color ok 5 - --cherry-pick bar does not come up empty ok 46 - %C(auto) respects --no-color ok 6 - bar does not come up empty ok 47 - rev-list %C(auto,...) respects --color ok 7 - --cherry-pick bar does not come up empty (II) ok 8 - name-rev multiple --refs combine inclusive ok 48 - setup complex body ok 49 - format complex-encoding ok 50 - format complex-subject ok 9 - name-rev --refs excludes non-matched patterns ok 51 - format complex-subject-trunc ok 52 - format complex-subject-mtrunc ok 53 - format complex-subject-ltrunc ok 54 - setup expected messages (for test %b) ok 10 - name-rev --exclude excludes matched patterns ok 55 - format complex-body ok 56 - format complex-subject-commitencoding-unset ok 11 - name-rev --no-refs clears the refs list ok 57 - format complex-subject-commitencoding-unset-trunc ok 58 - format complex-subject-commitencoding-unset-mtrunc ok 12 - --cherry-mark ok 59 - format complex-subject-commitencoding-unset-ltrunc ok 60 - format complex-body-commitencoding-unset ok 13 - --cherry-mark --left-right ok 61 - %x00 shows NUL ok 62 - %ad respects --date= ok 14 - --cherry-pick --right-only ok 63 - empty email ok 64 - del LF before empty (1) ok 15 - --cherry-pick --left-only ok 65 - del LF before empty (2) ok 66 - add LF before non-empty (1) ok 16 - --cherry ok 67 - add LF before non-empty (2) ok 68 - add SP before non-empty (1) ok 17 - --cherry --count ok 69 - add SP before non-empty (2) ok 18 - --cherry-mark --count ok 70 - --abbrev ok 19 - --cherry-mark --left-right --count ok 71 - %H is not affected by --abbrev-commit ok 72 - %h is not affected by --abbrev-commit ok 73 - "%h %gD: %gs" is same as git-reflog ok 74 - "%h %gD: %gs" is same as git-reflog (with date) ok 20 - --cherry-pick with independent, but identical branches ok 75 - "%h %gD: %gs" is same as git-reflog (with --abbrev) ok 21 - --count --left-right ok 76 - %gd shortens ref name ok 77 - reflog identity ok 78 - oneline with empty message ok 79 - single-character name is parsed correctly ok 80 - unused %G placeholders are passed through # passed all 80 test(s) 1..80 *** t6008-rev-list-submodule.sh *** ok 22 - --cherry-pick with duplicates on each side ok 23 - --cherry-pick avoids looking at full diffs # passed all 23 test(s) 1..23 *** t6009-rev-list-parent.sh *** ok 1 - setup ok 2 - Ilari's test # passed all 2 test(s) 1..2 ok 1 - setup *** t6010-merge-base.sh *** ok 2 - one is ancestor of others and should not be shown ok 1 - setup ok 2 - set up G and H ok 3 - merge-base G H ok 4 - merge-base/show-branch --independent ok 3 - setup roots, merges and octopuses ok 4 - parse --max-parents & --min-parents ok 5 - rev-list roots ok 6 - rev-list no merges ok 7 - rev-list no octopuses ok 5 - unsynchronized clocks ok 8 - rev-list no roots ok 9 - rev-list merges ok 10 - rev-list octopus ok 11 - rev-list ordinary commits ok 12 - rev-list --merges --no-merges yields empty set ok 6 - --independent with unsynchronized clocks ok 13 - rev-list override and infinities ok 7 - merge-base for octopus-step (setup) ok 8 - merge-base A B C ok 9 - criss-cross merge-base for octopus-step ok 10 - using reflog to find the fork point ok 14 - dodecapus ok 11 - --fork-point works with empty reflog ok 15 - ancestors with the same commit time # passed all 15 test(s) 1..15 *** t6011-rev-list-with-bad-commit.sh *** ok 12 - merge-base --octopus --all for complex tree # passed all 12 test(s) 1..12 *** t6012-rev-list-simplify.sh *** ok 1 - setup ok 2 - verify number of revisions ok 3 - corrupt second commit object ok 4 - rev-list should fail ok 5 - git repack _MUST_ fail ok 6 - first commit is still available # passed all 6 test(s) 1..6 *** t6013-rev-list-reverse-parents.sh *** ok 1 - set up --reverse example ok 2 - --reverse --parents --full-history combines correctly ok 3 - --boundary does too # passed all 3 test(s) 1..3 *** t6014-rev-list-all.sh *** ok 1 - setup ok 2 - log --full-history --topo-order ok 3 - log --full-history ok 4 - log --full-history --date-order ok 5 - log --full-history --author-date-order ok 6 - log --full-history -- file ok 7 - log --full-history --topo-order -- file ok 8 - log --full-history --date-order -- file ok 1 - setup ok 2 - rev-list --all lists detached HEAD ok 9 - log --full-history --author-date-order -- file ok 10 - log --simplify-merges -- file ok 3 - repack does not lose detached HEAD ok 11 - log --simplify-merges --topo-order -- file ok 4 - rev-list --graph --no-walk is forbidden # passed all 4 test(s) 1..4 *** t6016-rev-list-graph-simplify-history.sh *** ok 12 - log --simplify-merges --date-order -- file ok 13 - log --simplify-merges --author-date-order -- file ok 14 - log -- file ok 15 - log --topo-order -- file ok 16 - log --date-order -- file ok 17 - log --author-date-order -- file ok 18 - log --first-parent -- another-file ok 19 - log --first-parent --topo-order -- another-file ok 20 - log --first-parent L ok 21 - log --exclude-first-parent-only F ^L ok 22 - log F ^L ok 23 - log L ^F ok 24 - log --exclude-first-parent-only L ^F ok 25 - log --exclude-first-parent-only --first-parent L ^F ok 26 - log --full-history E -- lost ok 27 - full history simplification without parent ok 28 - --full-diff is not affected by --parents ok 1 - set up rev-list --graph test ok 2 - --graph --all ok 3 - --graph --simplify-by-decoration ok 4 - setup: get rid of decorations on B ok 5 - --graph --simplify-by-decoration prune branch B ok 6 - --graph --full-history -- bar.txt ok 7 - --graph --full-history --simplify-merges -- bar.txt ok 8 - --graph -- bar.txt ok 9 - --graph --sparse -- bar.txt ok 10 - --graph ^C4 ok 11 - --graph ^C3 ok 12 - --graph --boundary ^C3 # passed all 12 test(s) 1..12 *** t6017-rev-list-stdin.sh *** ok 29 - setup rebuild repo ok 30 - log -- file ok 31 - log --show-pulls -- file ok 32 - log --full-history --topo-order -- file ok 33 - log --simplify-merges --topo-order --show-pulls -- file ok 34 - log --simplify-merges --topo-order -- file ok 35 - log --first-parent -- file ok 36 - log --first-parent --show-pulls -- file ok 37 - log --topo-order --ancestry-path A..HEAD -- file ok 38 - log --topo-order --show-pulls --ancestry-path A..HEAD -- file ok 39 - log --topo-order --full-history --ancestry-path A..HEAD -- file ok 40 - log --topo-order --simplify-merges --ancestry-path A..HEAD -- file ok 41 - log --topo-order --simplify-merges --show-pulls --ancestry-path A..HEAD -- file ok 42 - log --graph --simplify-merges --show-pulls # passed all 42 test(s) 1..42 *** t6018-rev-list-glob.sh *** ok 1 - setup ok 2 - rev-parse --glob=refs/heads/subspace/* ok 1 - setup ok 3 - rev-parse --glob=heads/subspace/* ok 2 - check rev-list main ok 4 - rev-parse --glob=refs/heads/subspace/ ok 5 - rev-parse --glob=heads/subspace/ ok 6 - rev-parse --glob=heads/subspace ok 3 - check log --stat main not ok 7 - rev-parse accepts --glob as detached option # TODO known breakage not ok 8 - rev-parse is not confused by option-like glob # TODO known breakage ok 4 - check rev-list side-1 ^side-4 ok 9 - rev-parse --branches=subspace/* ok 10 - rev-parse --branches=subspace/ ok 11 - rev-parse --branches=subspace ok 5 - check log --stat side-1 ^side-4 ok 12 - rev-parse --glob=heads/subspace/* --glob=heads/other/* ok 6 - check rev-list side-1 ^side-7 -- ok 13 - rev-parse --glob=heads/someref/* main ok 14 - rev-parse --glob=heads/* ok 15 - rev-parse --tags=foo ok 7 - check log --stat side-1 ^side-7 -- ok 16 - rev-parse --remotes=foo ok 17 - rev-parse --exclude with --branches ok 8 - check rev-list side-1 ^side-7 -- file-1 ok 18 - rev-parse --exclude with --all ok 19 - rev-parse accumulates multiple --exclude ok 20 - rev-parse --branches clears --exclude ok 9 - check log --stat side-1 ^side-7 -- file-1 ok 21 - rev-parse --tags clears --exclude ok 22 - rev-parse --all clears --exclude ok 10 - check rev-list side-1 ^side-7 -- file-2 ok 23 - rev-parse --exclude=glob with --branches=glob ok 24 - rev-parse --exclude=glob with --tags=glob ok 11 - check log --stat side-1 ^side-7 -- file-2 ok 25 - rev-parse --exclude=glob with --remotes=glob ok 12 - check rev-list side-3 ^side-4 -- file-3 ok 26 - rev-parse --exclude=ref with --branches=glob ok 27 - rev-parse --exclude=ref with --tags=glob ok 13 - check log --stat side-3 ^side-4 -- file-3 ok 28 - rev-parse --exclude=ref with --remotes=glob ok 29 - rev-parse --exclude-hidden=fetch with --all ok 14 - check rev-list side-3 ^side-2 ok 30 - rev-parse --exclude-hidden=fetch with --all ok 15 - check log --stat side-3 ^side-2 ok 31 - rev-parse --exclude-hidden=fetch with --glob ok 32 - rev-parse --exclude-hidden=fetch can be passed once per pseudo-ref ok 16 - check rev-list side-3 ^side-2 -- file-1 ok 33 - rev-parse --exclude-hidden=fetch can only be passed once per pseudo-ref ok 34 - rev-parse --exclude-hidden=fetch fails with --branches ok 35 - rev-parse --exclude-hidden=fetch fails with --branches=pattern ok 17 - check log --stat side-3 ^side-2 -- file-1 ok 36 - rev-parse --exclude-hidden=fetch fails with --tags ok 37 - rev-parse --exclude-hidden=fetch fails with --tags=pattern ok 38 - rev-parse --exclude-hidden=fetch fails with --remotes ok 18 - check rev-list --all ok 39 - rev-parse --exclude-hidden=fetch fails with --remotes=pattern ok 40 - rev-parse --exclude-hidden=receive with --all ok 41 - rev-parse --exclude-hidden=receive with --all ok 42 - rev-parse --exclude-hidden=receive with --glob ok 19 - check log --stat --all ok 43 - rev-parse --exclude-hidden=receive can be passed once per pseudo-ref ok 44 - rev-parse --exclude-hidden=receive can only be passed once per pseudo-ref ok 45 - rev-parse --exclude-hidden=receive fails with --branches ok 20 - check rev-list --all --not --branches ok 46 - rev-parse --exclude-hidden=receive fails with --branches=pattern ok 47 - rev-parse --exclude-hidden=receive fails with --tags ok 48 - rev-parse --exclude-hidden=receive fails with --tags=pattern ok 21 - check log --stat --all --not --branches ok 49 - rev-parse --exclude-hidden=receive fails with --remotes ok 50 - rev-parse --exclude-hidden=receive fails with --remotes=pattern ok 22 - check rev-list --glob=refs/heads ok 51 - rev-parse --exclude-hidden=uploadpack with --all ok 52 - rev-parse --exclude-hidden=uploadpack with --all ok 53 - rev-parse --exclude-hidden=uploadpack with --glob ok 54 - rev-parse --exclude-hidden=uploadpack can be passed once per pseudo-ref ok 23 - check log --stat --glob=refs/heads ok 55 - rev-parse --exclude-hidden=uploadpack can only be passed once per pseudo-ref ok 56 - rev-parse --exclude-hidden=uploadpack fails with --branches ok 57 - rev-parse --exclude-hidden=uploadpack fails with --branches=pattern ok 24 - check rev-list --glob=refs/heads -- ok 58 - rev-parse --exclude-hidden=uploadpack fails with --tags ok 59 - rev-parse --exclude-hidden=uploadpack fails with --tags=pattern ok 60 - rev-parse --exclude-hidden=uploadpack fails with --remotes ok 61 - rev-parse --exclude-hidden=uploadpack fails with --remotes=pattern ok 62 - rev-list --exclude=glob with --branches=glob ok 25 - check log --stat --glob=refs/heads -- ok 63 - rev-list --exclude=glob with --tags=glob ok 64 - rev-list --exclude=glob with --remotes=glob ok 26 - check rev-list --glob=refs/heads -- file-1 ok 65 - rev-list --exclude=ref with --branches=glob ok 66 - rev-list --exclude=ref with --tags=glob ok 67 - rev-list --exclude=ref with --remotes=glob ok 27 - check log --stat --glob=refs/heads -- file-1 ok 68 - rev-list --glob=refs/heads/subspace/* ok 28 - check rev-list --end-of-options -dashed-branch ok 69 - rev-list --glob refs/heads/subspace/* ok 29 - check log --stat --end-of-options -dashed-branch ok 70 - rev-list not confused by option-like --glob arg ok 71 - rev-list --glob=heads/subspace/* ok 30 - check rev-list --all --not refs/heads/main ok 72 - rev-list --glob=refs/heads/subspace/ ok 73 - rev-list --glob=heads/subspace/ ok 31 - check log --stat --all --not refs/heads/main ok 74 - rev-list --glob=heads/subspace ok 32 - not only --stdin ok 75 - rev-list --branches=subspace/* ok 33 - pseudo-opt with missing value ok 76 - rev-list --branches=subspace/ ok 34 - pseudo-opt with invalid value ok 77 - rev-list --branches=subspace ok 35 - unknown option without --end-of-options ok 36 - --not on command line does not influence revisions read via --stdin ok 78 - rev-list --branches ok 79 - rev-list --glob=heads/someref/* main ok 37 - --not via stdin does not influence revisions from command line # passed all 37 test(s) 1..37 ok 80 - rev-list --glob=heads/subspace/* --glob=heads/other/* *** t6019-rev-list-ancestry-path.sh *** ok 81 - rev-list --glob=heads/* ok 82 - rev-list --tags=foo ok 83 - rev-list --tags ok 84 - rev-list --remotes=foo ok 85 - rev-list --exclude with --branches ok 86 - rev-list --exclude with --all ok 87 - rev-list accumulates multiple --exclude ok 88 - rev-list should succeed with empty output on empty stdin ok 89 - rev-list should succeed with empty output with all refs excluded ok 90 - rev-list should succeed with empty output with empty --all ok 91 - rev-list should succeed with empty output with empty glob ok 92 - rev-list should succeed with empty output when ignoring missing ok 93 - shortlog accepts --glob/--tags/--remotes not ok 94 - shortlog accepts --glob as detached option # TODO known breakage not ok 95 - shortlog --glob is not confused by option-like argument # TODO known breakage # still have 4 known breakage(s) # passed all remaining 91 test(s) 1..95 *** t6020-bundle-misc.sh *** ok 1 - usage: git bundle create needs an argument ok 2 - usage: git bundle verify needs an argument ok 3 - usage: git bundle list-heads needs an argument ok 4 - usage: git bundle unbundle needs an argument ok 1 - setup ok 2 - log D..M ok 3 - log --ancestry-path D..M ok 4 - log --ancestry-path=F D..M ok 5 - log --ancestry-path=G D..M ok 6 - log --ancestry-path=H D..M ok 7 - log --ancestry-path=K D..M ok 8 - log --ancestry-path=F --ancestry-path=K D..M ok 9 - log D..M -- M.t ok 10 - log --ancestry-path D..M -- M.t ok 11 - log F...I ok 12 - log --ancestry-path F...I ok 13 - log G..M -- G.t ok 14 - log --ancestry-path G..M -- G.t ok 15 - log --ancestry-path --simplify-merges G^..M -- G.t ok 16 - setup criss-cross ok 17 - criss-cross: rev-list --ancestry-path cb..bc ok 18 - criss-cross: rev-list --ancestry-path --all ^cb # passed all 18 test(s) 1..18 *** t6021-rev-list-exclude-hidden.sh *** ok 5 - setup ok 6 - create bundle from special rev: main^! ok 1 - setup ok 2 - invalid section ok 3 - fetch: passed multiple times ok 7 - create bundle with --max-count option ok 4 - fetch: without hiddenRefs ok 5 - fetch: hidden via transfer.hideRefs ok 6 - fetch: hidden via fetch.hideRefs ok 7 - fetch: respects both transfer.hideRefs and fetch.hideRefs ok 8 - fetch: negation without hidden refs marks everything as uninteresting ok 9 - fetch: negation with hidden refs marks them as interesting ok 10 - fetch: hidden refs and excludes work together ok 11 - fetch: excluded hidden refs get reset ok 12 - fetch: excluded hidden refs can be used with multiple pseudo-refs ok 8 - create bundle with --since option ok 13 - fetch: works with --glob ok 14 - fetch: operates on stripped refs by default ok 15 - fetch: does not hide namespace by default ok 16 - fetch: can operate on unstripped refs ok 17 - fetch: fails with --remotes ok 18 - fetch: fails with --remotes=pattern ok 19 - fetch: fails with --branches ok 20 - fetch: fails with --branches=pattern ok 21 - fetch: fails with --tags ok 22 - fetch: fails with --tags=pattern ok 23 - receive: passed multiple times ok 24 - receive: without hiddenRefs ok 25 - receive: hidden via transfer.hideRefs ok 26 - receive: hidden via receive.hideRefs ok 27 - receive: respects both transfer.hideRefs and receive.hideRefs ok 9 - create bundle 1 - no prerequisites ok 28 - receive: negation without hidden refs marks everything as uninteresting ok 29 - receive: negation with hidden refs marks them as interesting ok 30 - receive: hidden refs and excludes work together ok 31 - receive: excluded hidden refs get reset ok 32 - receive: excluded hidden refs can be used with multiple pseudo-refs ok 33 - receive: works with --glob ok 34 - receive: operates on stripped refs by default ok 35 - receive: does not hide namespace by default ok 36 - receive: can operate on unstripped refs ok 37 - receive: fails with --remotes ok 38 - receive: fails with --remotes=pattern ok 39 - receive: fails with --branches ok 40 - receive: fails with --branches=pattern ok 41 - receive: fails with --tags ok 42 - receive: fails with --tags=pattern ok 43 - uploadpack: passed multiple times ok 10 - create bundle 2 - has prerequisites ok 44 - uploadpack: without hiddenRefs ok 45 - uploadpack: hidden via transfer.hideRefs ok 46 - uploadpack: hidden via uploadpack.hideRefs ok 47 - uploadpack: respects both transfer.hideRefs and uploadpack.hideRefs ok 48 - uploadpack: negation without hidden refs marks everything as uninteresting ok 49 - uploadpack: negation with hidden refs marks them as interesting ok 11 - fail to verify bundle without prerequisites ok 50 - uploadpack: hidden refs and excludes work together ok 51 - uploadpack: excluded hidden refs get reset ok 52 - uploadpack: excluded hidden refs can be used with multiple pseudo-refs ok 53 - uploadpack: works with --glob ok 54 - uploadpack: operates on stripped refs by default ok 55 - uploadpack: does not hide namespace by default ok 56 - uploadpack: can operate on unstripped refs ok 57 - uploadpack: fails with --remotes ok 58 - uploadpack: fails with --remotes=pattern ok 59 - uploadpack: fails with --branches ok 60 - uploadpack: fails with --branches=pattern ok 61 - uploadpack: fails with --tags ok 62 - uploadpack: fails with --tags=pattern # passed all 62 test(s) 1..62 *** t6022-rev-list-missing.sh *** ok 12 - create bundle 3 - two refs, same object ok 13 - create bundle 4 - with tags ok 1 - create repository and alternate directory ok 2 - rev-list --missing=error fails with missing object HEAD~1 ok 3 - rev-list --missing=error fails with missing object HEAD~1^{tree} ok 4 - rev-list --missing=error fails with missing object HEAD:1.t ok 5 - rev-list --missing=allow-any with missing HEAD~1 ok 14 - clone from bundle ok 6 - rev-list --missing=print with missing HEAD~1 ok 7 - rev-list --missing=allow-any with missing HEAD~1^{tree} ok 15 - unfiltered bundle with --objects ok 8 - rev-list --missing=print with missing HEAD~1^{tree} ok 16 - full bundle upto annotated tag ok 9 - rev-list --missing=allow-any with missing HEAD:1.t ok 10 - rev-list --missing=print with missing HEAD:1.t ok 17 - clone from full bundle upto annotated tag ok 11 - --missing=allow-any with tip 'annot_tag' missing and tip '' ok 12 - --missing=print with tip 'annot_tag' missing and tip '' ok 18 - incremental bundle between two annotated tags ok 13 - --missing=allow-any with tip 'annot_tag' missing and tip 'HEAD' ok 14 - --missing=print with tip 'annot_tag' missing and tip 'HEAD' ok 15 - --missing=allow-any with tip 'regul_tag' missing and tip '' ok 16 - --missing=print with tip 'regul_tag' missing and tip '' ok 17 - --missing=allow-any with tip 'regul_tag' missing and tip 'HEAD' ok 19 - filtered bundle: blob:none ok 18 - --missing=print with tip 'regul_tag' missing and tip 'HEAD' ok 19 - --missing=allow-any with tip 'a_branch' missing and tip '' ok 20 - --missing=print with tip 'a_branch' missing and tip '' ok 21 - --missing=allow-any with tip 'a_branch' missing and tip 'HEAD' ok 22 - --missing=print with tip 'a_branch' missing and tip 'HEAD' ok 23 - --missing=allow-any with tip 'HEAD~1' missing and tip '' ok 24 - --missing=print with tip 'HEAD~1' missing and tip '' ok 20 - filtered bundle: tree:0 ok 25 - --missing=allow-any with tip 'HEAD~1' missing and tip 'HEAD' ok 26 - --missing=print with tip 'HEAD~1' missing and tip 'HEAD' ok 27 - --missing=allow-any with tip 'HEAD~1^{tree}' missing and tip '' ok 28 - --missing=print with tip 'HEAD~1^{tree}' missing and tip '' ok 29 - --missing=allow-any with tip 'HEAD~1^{tree}' missing and tip 'HEAD' ok 30 - --missing=print with tip 'HEAD~1^{tree}' missing and tip 'HEAD' ok 21 - filtered bundle: tree:1 ok 31 - --missing=allow-any with tip 'HEAD:1.t' missing and tip '' ok 32 - --missing=print with tip 'HEAD:1.t' missing and tip '' ok 33 - --missing=allow-any with tip 'HEAD:1.t' missing and tip 'HEAD' ok 34 - --missing=print with tip 'HEAD:1.t' missing and tip 'HEAD' ok 35 - --missing=print-info with missing 'HEAD~1' ok 22 - filtered bundle: blob:limit=100 ok 23 - cloning from filtered bundle has useful error ok 36 - --missing=print-info with missing 'HEAD^{tree}' ok 37 - --missing=print-info with missing 'HEAD:foo' ok 38 - --missing=print-info with missing 'HEAD:foo/bar' ok 24 - verify catches unreachable, broken prerequisites ok 25 - bundle progress includes write phase ok 39 - --missing=print-info with missing 'HEAD:baz baz' ok 26 # skip create --quiet disables all bundle progress (missing TTY) # passed all 39 test(s) 1..39 *** t6030-bisect-porcelain.sh *** ok 27 - bundle progress with --no-quiet ok 28 - read bundle over stdin ok 1 - bisect usage ok 29 - send a bundle to standard output ok 30 - unbundle outside of a repository ok 31 - list-heads outside of a repository ok 2 - set up basic repo with 1 file (hello) and 4 commits ok 32 - list-heads with bundle using sha1 ok 3 - bisect starts with only one bad ok 4 - bisect does not start with only one good ok 33 - list-heads with bundle using sha256 # passed all 33 test(s) 1..33 ok 5 - bisect start with one bad and good *** t6040-tracking-info.sh *** ok 6 - bisect fails if given any junk instead of revs ok 7 - bisect start without -- takes unknown arg as pathspec ok 8 - bisect reset: back in a branch checked out also elsewhere ok 9 - bisect reset: back in the main branch ok 10 - bisect reset: back in another branch ok 11 - bisect reset when not bisecting ok 12 - bisect reset cleans up even when not bisecting ok 13 - bisect reset removes packed refs ok 1 - setup ok 2 - branch -v ok 3 - branch -vv ok 4 - checkout (diverged from upstream) ok 14 - bisect reset removes bisect state after --no-checkout ok 5 - checkout with local tracked branch ok 6 - checkout (upstream is gone) ok 7 - checkout (up-to-date with upstream) ok 8 - status (diverged from upstream) ok 9 - status (upstream is gone) ok 15 - bisect start: back in good branch ok 10 - status (up-to-date with upstream) ok 16 - bisect start: no ".git/BISECT_START" created if junk rev ok 11 - status -s -b (diverged from upstream) ok 12 - status -s -b --no-ahead-behind (diverged from upstream) ok 17 - bisect start: existing ".git/BISECT_START" not modified if junk rev ok 13 - status.aheadbehind=false status -s -b (diverged from upstream) ok 14 - status --long --branch ok 15 - status --long --branch ok 18 - bisect start: no ".git/BISECT_START" if mistaken rev ok 16 - status --long --branch --no-ahead-behind ok 19 - bisect start: no ".git/BISECT_START" if checkout error ok 17 - status.aheadbehind=false status --long --branch ok 18 - status -s -b (upstream is gone) ok 19 - status -s -b (up-to-date with upstream) ok 20 - bisect skip: successful result ok 20 - fail to track lightweight tags ok 21 - fail to track annotated tags ok 21 - bisect skip: cannot tell between 3 commits ok 22 - --set-upstream-to does not change branch ok 22 - bisect skip: cannot tell between 2 commits ok 23 - --set-upstream-to @{-1} # passed all 23 test(s) 1..23 *** t6041-bisect-submodule.sh *** ok 23 - bisect skip: with commit both bad and skipped ok 24 - git bisect run: args, stdout and stderr with no arguments ok 25 - git bisect run: args, stdout and stderr: "--" argument ok 26 - git bisect run: args, stdout and stderr: "--log foo --no-log bar" arguments ok 27 - git bisect run: args, stdout and stderr: "--bisect-start" argument ok 28 - git bisect run: negative exit code ok 29 - git bisect run: unable to verify on good ok 30 - "git bisect run" simple case ok 31 - "git bisect run" simple case ok 32 - "git bisect run" with more complex "git bisect start" ok 33 - bisect run accepts exit code 126 as bad ok 34 - bisect run fails with non-executable test script ok 35 - bisect run accepts exit code 127 as bad ok 36 - bisect run fails with missing test script ok 37 - bisect skip: add line and then a new test ok 38 - bisect skip and bisect replay ok 39 - bisect run & skip: cannot tell between 2 ok 40 - bisect run & skip: find first bad ok 41 - bisect skip only one range ok 42 - bisect skip many ranges ok 43 - bisect starting with a detached HEAD ok 44 - bisect errors out if bad and good are mistaken ok 45 - bisect does not create a "bisect" branch ok 46 - side branch creation ok 47 - good merge base when good and bad are siblings ok 48 - skipped merge base when good and bad are siblings ok 49 - bad merge base when good and bad are siblings ok 1 - git_bisect: added submodule creates empty directory ok 50 - many merge bases creation ok 51 - "git bisect run --first-parent" simple case ok 52 - good merge bases when good and bad are siblings ok 53 - optimized merge base checks ok 2 - git_bisect: added submodule leaves existing empty directory alone ok 54 - "parallel" side branch creation ok 55 - restricting bisection on one dir ok 56 - restricting bisection on one dir and a file ok 57 - skipping away from skipped commit ok 58 - erroring out when using bad path arguments ok 59 - test bisection on bare repo - --no-checkout specified ok 60 - test bisection on bare repo - --no-checkout defaulted ok 3 - git_bisect: replace tracked file with submodule creates empty directory ok 61 - broken branch creation ok 62 - bisect fails if tree is broken on start commit ok 63 - bisect fails if tree is broken on trial commit ok 64 - bisect: --no-checkout - start commit bad ok 65 - bisect: --no-checkout - trial commit bad ok 66 - bisect: --no-checkout - target before breakage ok 67 - bisect: --no-checkout - target in breakage ok 68 - bisect: --no-checkout - target after breakage ok 4 - git_bisect: replace directory with submodule ok 69 - bisect: demonstrate identification of damage boundary ok 70 - bisect log: successful result ok 71 - bisect log: only skip commits left ok 72 - "git bisect bad HEAD" behaves as "git bisect bad" ok 73 - bisect starts with only one new ok 74 - bisect does not start with only one old ok 75 - bisect start with one new and old ok 5 - git_bisect: removed submodule leaves submodule directory and its contents in place ok 76 - bisect replay with old and new ok 77 - bisect replay with CRLF log ok 78 - bisect cannot mix old/new and good/bad ok 79 - bisect terms needs 0 or 1 argument ok 80 - bisect terms shows good/bad after start ok 81 - bisect start with one term1 and term2 ok 82 - bogus command does not start bisect ok 83 - bisect replay with term1 and term2 ok 84 - bisect start term1 term2 ok 85 - bisect cannot mix terms ok 6 - git_bisect: removed submodule leaves submodule containing a .git directory alone ok 86 - bisect terms rejects invalid terms ok 87 - bisect start --term-* does store terms ok 88 - bisect start takes options and revs in any order ok 89 - bisect skip works with --term* ok 90 - git bisect reset cleans bisection state properly ok 7 - git_bisect: replace submodule with a directory must fail ok 91 - bisect handles annotated tags ok 92 - bisect run fails with exit code equals or greater than 128 ok 93 - bisect visualize with a filename with dash and space ok 94 - bisect state output with multiple good commits ok 95 - bisect state output with bad commit ok 96 - verify correct error message # passed all 96 test(s) 1..96 *** t6050-replace.sh *** ok 8 - git_bisect: replace submodule containing a .git directory with a directory must fail ok 1 - set up buggy branch not ok 9 - git_bisect: replace submodule with a file must fail # TODO known breakage ok 2 - replace the author ok 3 - test --no-replace-objects option ok 4 - test GIT_NO_REPLACE_OBJECTS env variable ok 5 - test core.usereplacerefs config option ok 6 - tag replaced commit ok 7 - "git fsck" works not ok 10 - git_bisect: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 8 - repack, clone and fetch work ok 9 - "git replace" listing and deleting ok 10 - "git replace" replacing ok 11 - "git replace" resolves sha1 ok 12 - create parallel branch without the bug ok 13 - push to cloned repo ok 14 - push branch with replacement ok 11 - git_bisect: modified submodule does not update submodule work tree ok 15 - fetch branch with replacement ok 16 - bisect and replacements ok 17 - index-pack and replacements ok 18 - not just commits ok 19 - replaced and replacement objects must be of the same type ok 20 - -f option bypasses the type check ok 21 - git cat-file --batch works on replace objects ok 22 - test --format bogus ok 23 - test --format short ok 24 - test --format medium ok 25 - test --format long ok 26 - setup fake editors ok 27 - --edit with and without already replaced object ok 28 - --edit and change nothing or command failed ok 29 - replace ref cleanup ok 12 - git_bisect: modified submodule does not update submodule work tree to invalid commit ok 30 - --graft with and without already replaced object ok 31 - --graft using a tag as the new parent ok 32 - --graft using a tag as the replaced object ok 33 # skip set up a signed commit (missing GPG) ok 34 # skip --graft with a signed commit (missing GPG) ok 35 # skip set up a merge commit with a mergetag (missing GPG) ok 36 # skip --graft on a commit with a mergetag (missing GPG) ok 37 - --convert-graft-file # passed all 37 test(s) 1..37 *** t6060-merge-index.sh *** ok 13 - git_bisect: modified submodule does not update submodule work tree from invalid commit ok 1 - setup diverging branches ok 2 - read-tree does not resolve content merge ok 14 - git_bisect: added submodule doesn't remove untracked unignored file with same name # still have 2 known breakage(s) # passed all remaining 12 test(s) 1..14 *** t6100-rev-list-in-order.sh *** ok 3 - git merge-index git-merge-one-file resolves ok 4 - setup bare merge ok 5 - merge-one-file fails without a work tree ok 6 - merge-one-file respects GIT_WORK_TREE ok 1 - setup a commit history with trees, blobs ok 2 - rev-list --in-commit-order ok 7 - merge-one-file respects core.worktree # passed all 7 test(s) 1..7 ok 3 - rev-list lists blobs and trees after commits # passed all 3 test(s) 1..3 *** t6101-rev-parse-parents.sh *** *** t6102-rev-list-unexpected-objects.sh *** ok 1 - setup well-formed objects ok 2 - setup unexpected non-blob entry ok 3 - TODO (should fail!): traverse unexpected non-blob entry (lone) ok 4 - traverse unexpected non-blob entry (seen) ok 5 - setup unexpected non-tree entry ok 6 - traverse unexpected non-tree entry (lone) ok 7 - traverse unexpected non-tree entry (seen) ok 8 - setup unexpected non-commit parent ok 9 - traverse unexpected non-commit parent (lone) ok 10 - traverse unexpected non-commit parent (seen) ok 11 - setup unexpected non-tree root ok 12 - traverse unexpected non-tree root (lone) ok 13 - traverse unexpected non-tree root (seen) ok 14 - setup unexpected non-commit tag ok 15 - traverse unexpected non-commit tag (lone) ok 16 - traverse unexpected non-commit tag (seen) ok 17 - setup unexpected non-tree tag ok 18 - traverse unexpected non-tree tag (lone) ok 19 - traverse unexpected non-tree tag (seen) ok 20 - setup unexpected non-blob tag ok 21 - traverse unexpected non-blob tag (lone) ok 22 - traverse unexpected non-blob tag (seen) # passed all 22 test(s) 1..22 *** t6110-rev-list-sparse.sh *** ok 1 - setup ok 2 - rev-list --first-parent --boundary # passed all 2 test(s) 1..2 *** t6111-rev-list-treesame.sh *** ok 1 - setup ok 1 - setup ok 2 - start is valid ok 3 - start^0 ok 4 - start^1 not valid ok 2 - log ok 5 - second^1 = second^ ok 6 - final^1^1^1 ok 3 - log ok 7 - final^1^1^1 = final^^^ ok 8 - final^1^2 ok 4 - log --topo-order ok 9 - final^1^2 != final^1^1 ok 10 - final^1^3 not valid ok 11 - --verify start2^1 ok 5 - log -- file ok 12 - --verify start2^0 ok 13 - final^1^@ = final^1^1 final^1^2 ok 6 - log --parents -- file ok 14 - symbolic final^1^@ = final^1^1 final^1^2 ok 15 - final^1^! = final^1 ^final^1^1 ^final^1^2 ok 7 - log --full-history -- file ok 16 - symbolic final^1^! = final^1 ^final^1^1 ^final^1^2 ok 17 - large graft octopus ok 8 - log --full-history --parents -- file ok 9 - log --simplify-merges -- file ok 10 - log --first-parent ok 18 - repack for next test ok 19 - short SHA-1 works ok 11 - log --first-parent -- file ok 12 - log F..M ok 13 - log F..M --topo-order ok 14 - log F..M -- file ok 15 - log --parents F..M -- file ok 16 - log F..M --full-history -- file ok 20 - setup for rev^- tests ok 17 - log F..M --full-history --parents -- file ok 21 - rev-list --count merge^- = merge^..merge ok 22 - rev-parse merge^- = merge^..merge ok 18 - log F..M --simplify-merges -- file ok 23 - rev-parse merge^-1 = merge^..merge ok 19 - log F..M --ancestry-path ok 24 - rev-parse merge^-2 = merge^2..merge ok 25 - symbolic merge^-1 = merge^1..merge ok 20 - log F..M --ancestry-path -- file ok 26 - rev-parse merge^-0 (invalid parent) ok 27 - rev-parse merge^-3 (invalid parent) ok 28 - rev-parse merge^-^ (garbage after ^-) ok 29 - rev-parse merge^-1x (garbage after ^-1) ok 21 - log F..M --ancestry-path --parents -- file ok 30 - rev-list merge^- = merge^..merge ok 31 - rev-list merge^-1 = merge^1..merge ok 22 - log F..M --ancestry-path --simplify-merges -- file ok 32 - rev-list merge^-2 = merge^2..merge ok 33 - rev-list merge^-0 (invalid parent) ok 34 - rev-list merge^-3 (invalid parent) ok 23 - log F..M --first-parent ok 35 - rev-list merge^-^ (garbage after ^-) ok 36 - rev-list merge^-1x (garbage after ^-1) ok 37 - rev-parse $garbage^@ does not segfault ok 38 - rev-parse $garbage...$garbage does not segfault ok 24 - log F..M --first-parent -- file # passed all 38 test(s) 1..38 *** t6112-rev-list-filters-objects.sh *** ok 25 - log E..M --ancestry-path ok 26 - log E..M --ancestry-path -- file ok 27 - log E..M --ancestry-path --parents -- file ok 28 - log E..M --ancestry-path --simplify-merges -- file ok 29 - log G..M ok 30 - log G..M --topo-order ok 31 - log G..M -- file ok 32 - log G..M --parents -- file ok 33 - log G..M --full-history -- file ok 34 - log G..M --full-history --parents -- file ok 35 - log G..M --simplify-merges -- file ok 36 - log G..M --ancestry-path ok 1 - setup r1 ok 37 - log G..M --ancestry-path -- file ok 2 - verify blob:none omits all 5 blobs ok 38 - log G..M --ancestry-path --parents -- file ok 3 - specify blob explicitly prevents filtering ok 39 - log G..M --ancestry-path --simplify-merges -- file ok 4 - verify emitted+omitted == all ok 40 - log B..F ok 41 - log B..F -- file ok 42 - log B..F --parents -- file ok 5 - setup r2 ok 43 - log B..F --full-history -- file ok 6 - verify blob:limit=500 omits all blobs ok 44 - log B..F --full-history --parents -- file ok 7 - verify emitted+omitted == all ok 45 - log B..F --simplify-merges -- file ok 8 - verify blob:limit=1000 ok 46 - log B..F --ancestry-path ok 47 - log B..F --ancestry-path -- file ok 9 - verify blob:limit=1001 ok 48 - log B..F --ancestry-path --parents -- file ok 10 - verify blob:limit=1k ok 11 - verify blob:limit=1m ok 49 - log B..F --ancestry-path --simplify-merges -- file ok 50 - log B..F --first-parent ok 12 - setup object-type ok 51 - log B..F --first-parent -- file ok 13 - verify object:type= fails with invalid type ok 52 - log E F ^B -- file ok 14 - verify object:type=blob prints blob and commit ok 53 - log E...F -- file ok 15 - verify object:type=tree prints tree and commit ok 16 - verify object:type=commit prints commit ok 54 - log C..F ok 17 - verify object:type=tag prints tag ok 55 - log C..F -- file ok 18 - verify object:type=blob prints only blob with --filter-provided-objects ok 19 - verify object:type=tree prints only tree with --filter-provided-objects ok 56 - log C..F --parents -- file ok 20 - verify object:type=commit prints only commit with --filter-provided-objects ok 57 - log C..F --full-history -- file ok 21 - verify object:type=tag prints only tag with --filter-provided-objects ok 58 - log C..F --full-history --parents -- file ok 59 - log C..F --simplify-merges -- file ok 60 - log C..F --ancestry-path ok 22 - setup r3 ok 23 - verify sparse:path=pattern1 fails ok 24 - verify sparse:path=pattern2 fails ok 61 - log C..F --ancestry-path -- file ok 25 - setup r3 part 2 ok 62 - log C..F --ancestry-path --parents -- file ok 63 - log C..F --ancestry-path --simplify-merges -- file ok 26 - verify sparse:oid=OID omits top-level files ok 64 - log C..F --first-parent ok 27 - verify sparse:oid=oid-ish omits top-level files ok 65 - log C..F --first-parent -- file # passed all 65 test(s) 1..65 *** t6113-rev-list-bitmap-filters.sh *** ok 28 - rev-list W/ --missing=print and --missing=allow-any for trees ok 29 - verify tree:0 includes trees in "filtered" output ok 30 - verify skipping tree iteration when not collecting omits ok 31 - verify tree:1 includes root trees ok 32 - verify tree:2 includes root trees and immediate children ok 33 - verify tree:3 includes everything expected ok 1 - set up bitmapped repo ok 34 - combine:... for a simple combination ok 2 - filters fallback to non-bitmap traversal ok 3 - blob:none filter ok 35 - combine:... with URL encoding ok 36 - combine:... while URL-encoding things that should not be ok 37 - combine: with nothing after the : ok 4 - blob:none filter with specified blob ok 38 - parse error in first sub-filter in combine: ok 5 - blob:limit filter ok 39 - combine:... with non-encoded reserved chars ok 40 - validate err msg for "combine:+" ok 6 - blob:limit filter with specified blob ok 41 - combine:... with edge-case hex digits: Ff Aa 0 9 ok 7 - tree:0 filter ok 42 - add sparse pattern blobs whose paths have reserved chars ok 8 - tree:0 filter with specified blob, tree ok 9 - tree:1 filter ok 43 - combine:... with more than two sub-filters ok 10 - object:type filter ok 44 - setup r4 ok 45 - test tree:# filter provisional omit for blob and tree ok 46 - verify skipping tree iteration when collecting omits ok 11 - object:type filter with --filter-provided-objects ok 47 - setup r5 ok 12 - combine filter ok 13 - combine filter with --filter-provided-objects ok 48 - verify collecting omits in combined: filter ok 49 - tree: where we iterate over tree at two levels ok 14 - bitmap traversal with --unpacked # passed all 14 test(s) 1..14 ok 50 - tree: which filters out blob but given as arg *** t6114-keep-packs.sh *** ok 51 - rev-list W/ --missing=print ok 52 - rev-list W/O --missing fails ok 53 - rev-list W/ missing=allow-any ok 54 - expand blob limit in protocol ok 55 # skip large sparse filter file ignored (missing EXPENSIVE) # passed all 55 test(s) 1..55 *** t6115-rev-list-du.sh *** ok 1 - setup ok 2 - --no-kept-objects excludes trees and blobs in .keep packs ok 3 - --no-kept-objects excludes kept non-MIDX object # passed all 3 test(s) 1..3 *** t6120-describe.sh *** ok 1 - set up repository ok 2 - generate expected size (HEAD) ok 3 - rev-list --disk-usage without bitmaps (HEAD) ok 4 - rev-list --disk-usage with bitmaps (HEAD) ok 5 - generate expected size (--objects HEAD) ok 6 - rev-list --disk-usage without bitmaps (--objects HEAD) ok 7 - rev-list --disk-usage with bitmaps (--objects HEAD) ok 8 - generate expected size (--objects HEAD^..HEAD) ok 9 - rev-list --disk-usage without bitmaps (--objects HEAD^..HEAD) ok 10 - rev-list --disk-usage with bitmaps (--objects HEAD^..HEAD) ok 11 - setup for --unpacked tests ok 12 - generate expected size (--all --objects --unpacked) ok 13 - rev-list --disk-usage without bitmaps (--all --objects --unpacked) ok 14 - rev-list --disk-usage with bitmaps (--all --objects --unpacked) ok 15 - rev-list --disk-usage=human ok 16 - rev-list --disk-usage=human with bitmaps ok 17 - rev-list use --disk-usage unproperly # passed all 17 test(s) 1..17 *** t6130-pathspec-noglob.sh *** ok 1 - setup ok 2 - describe HEAD ok 3 - describe HEAD^ ok 4 - describe HEAD^^ ok 5 - describe HEAD^^2 ok 6 - describe HEAD^^2^ ok 7 - describe HEAD^^^ ok 8 - describe R-1-g2976a87~1 ok 9 - describe --tags HEAD ok 10 - describe --tags HEAD^ ok 1 - create commits with glob characters ok 11 - describe --tags HEAD^^ ok 2 - vanilla pathspec matches literally ok 12 - describe --tags HEAD^^2 ok 3 - star pathspec globs ok 4 - star pathspec globs ok 13 - describe --tags c-2-gd761ce1^0 ok 5 - bracket pathspec globs and matches literal brackets ok 14 - describe --tags HEAD^^2^ ok 6 - bracket pathspec globs and matches literal brackets ok 7 - no-glob option matches literally (vanilla) ok 15 - describe --tags HEAD^^^ ok 8 - no-glob option matches literally (vanilla) ok 16 - describe --tags --exact-match HEAD^^^ ok 9 - no-glob option matches literally (star) ok 17 - describe --all HEAD ok 10 - no-glob option matches literally (star) ok 18 - describe --all HEAD^ ok 11 - no-glob option matches literally (bracket) ok 12 - no-glob option matches literally (bracket) ok 19 - describe --all HEAD^^^ ok 13 - no-glob option disables :(literal) ok 20 - describe --long HEAD^^2^ ok 14 - no-glob environment variable works ok 21 - describe --long HEAD^^2 ok 22 - describe --tags ok 15 - blame takes global pathspec flags ok 23 - describe --first-parent --tags ok 24 - describe --tags --no-exact-match HEAD ok 25 - describe --first-parent --tags --no-exact-match HEAD ok 16 - setup xxx/bar ok 26 - --exact-match failure ok 17 - **/ works with :(glob) ok 18 - **/ does not work with --noglob-pathspecs ok 19 - **/ works with :(glob) and --noglob-pathspecs ok 27 - describe --contains defaults to HEAD without commit-ish ok 20 - **/ works with --glob-pathspecs ok 21 - **/ does not work with :(literal) and --glob-pathspecs ok 28 - describe --all A^0 # passed all 21 test(s) 1..21 *** t6131-pathspec-icase.sh *** ok 29 - renaming tag A to Q locally produces a warning ok 30 - misnamed annotated tag forces long output ok 31 - abbrev=0 will not break misplaced tag (1) ok 32 - abbrev=0 will not break misplaced tag (2) ok 33 - rename tag Q back to A ok 34 - pack tag refs ok 35 - describe HEAD ok 36 - describe works from outside repo using --git-dir ok 37 - describe --dirty ok 38 - describe --dirty with --work-tree ok 39 - set-up dirty work tree ok 40 - describe --dirty with --work-tree (dirty) ok 41 - describe --dirty=.mod with --work-tree (dirty) ok 42 - describe --dirty HEAD ok 43 - set-up matching pattern tests ok 44 - describe --match=test-* ok 45 - describe --tags --match=test1-* ok 46 - describe --tags --match=test2-* ok 47 - describe --long --tags --match=test2-* HEAD^ ok 48 - describe --long --tags --match=test1-* --match=test2-* HEAD^ ok 49 - describe --long --tags --match=test1-* --no-match --match=test2-* HEAD^ ok 50 - describe --long --tags --match=test1-* --match=test3-* HEAD ok 51 - describe --long --tags --match=test3-* --match=test1-* HEAD ok 52 - set-up branches ok 53 - describe --all --match=branch_* --exclude=branch_C HEAD ok 54 - describe --all --match=origin/remote_branch_* --exclude=origin/remote_branch_C HEAD ok 55 - describe --all test-annotated~1 ok 56 - --match does not work for other types ok 57 - --exclude does not work for other types ok 58 - name-rev with exact tags ok 1 - create commits with glob characters ok 2 - tree_entry_interesting matches bar ok 3 - tree_entry_interesting matches :(icase)bar ok 4 - tree_entry_interesting matches :(icase)bar with prefix ok 5 - tree_entry_interesting matches :(icase)bar with empty prefix ok 6 - match_pathspec matches :(icase)bar ok 7 - match_pathspec matches :(icase)bar with prefix ok 8 - match_pathspec matches :(icase)bar with empty prefix ok 9 - "git diff" can take magic :(icase) pathspec # passed all 9 test(s) 1..9 *** t6132-pathspec-exclude.sh *** ok 59 - name-rev --all ok 60 - name-rev --annotate-stdin ok 61 - name-rev --stdin deprecated ok 62 - describe --contains with the exact tags ok 63 - describe --contains and --match ok 64 - describe --exclude ok 1 - setup ok 65 - describe --contains and --no-match ok 2 - exclude only pathspec uses default implicit pathspec ok 3 - t_e_i() exclude sub ok 4 - t_e_i() exclude sub/sub/file ok 5 - t_e_i() exclude sub using mnemonic ok 6 - t_e_i() exclude :(icase)SUB ok 7 - t_e_i() exclude sub2 from sub ok 8 - t_e_i() exclude sub/*file ok 9 - t_e_i() exclude :(glob)sub/*/file ok 10 - m_p_d() exclude sub ok 11 - m_p_d() exclude sub/sub/file ok 12 - m_p_d() exclude sub using mnemonic ok 13 - m_p_d() exclude :(icase)SUB ok 14 - m_p_d() exclude sub2 from sub ok 15 - m_p_d() exclude sub/*file ok 16 - m_p_d() exclude :(glob)sub/*/file ok 17 - multiple exclusions ok 18 - t_e_i() exclude case #8 ok 19 - grep --untracked PATTERN ok 66 - setup and absorb a submodule ok 20 - grep --untracked PATTERN :(exclude)DIR ok 67 - describe chokes on severely broken submodules ok 21 - grep --untracked PATTERN :(exclude)*FILE ok 68 - describe ignoring a broken submodule ok 22 - archive with all negative ok 69 - describe with --work-tree ignoring a broken submodule ok 23 - add with all negative ok 70 - describe a blob at a directly tagged commit ok 24 - add -p with all negative ok 71 - describe a blob with its first introduction ok 72 - describe directly tagged blob ok 25 - clean with all negative ok 73 - describe tag object ok 26 - commit with all negative ok 27 - reset with all negative ok 28 - grep with all negative ok 29 - ls-files with all negative ok 30 - rm with all negative ok 31 - stash with all negative # passed all 31 test(s) 1..31 *** t6133-pathspec-rev-dwim.sh *** ok 1 - setup ok 2 - non-rev wildcard dwims to pathspec ok 3 - tree:path with metacharacters dwims to rev ok 4 - ^{foo} with metacharacters dwims to rev ok 5 - @{foo} with metacharacters dwims to rev ok 6 - :/*.t from a subdir dwims to a pathspec # passed all 6 test(s) 1..6 *** t6134-pathspec-in-submodule.sh *** ok 1 - setup a submodule ok 2 - error message for path inside submodule ok 3 - error message for path inside submodule from within submodule # passed all 3 test(s) 1..3 *** t6135-pathspec-with-attrs.sh *** ok 1 - setup a tree ok 2 - pathspec with no attr ok 3 - pathspec with labels and non existent .gitattributes ok 4 - pathspec with labels and non existent .gitattributes (2) ok 5 - setup .gitattributes ok 6 - setup .gitignore ok 7 - check specific set attr ok 8 - check set attr with pathspec pattern ok 9 - check specific set attr in tree-ish ok 10 - check specific set attr with pathspec pattern in tree-ish ok 11 - check specific unset attr ok 12 - check specific unset attr (2) ok 13 - check specific value attr ok 14 - check specific value attr (2) ok 15 - check unspecified attr ok 16 - check unspecified attr (2) ok 17 - check multiple unspecified attr ok 18 - check label with more labels but excluded path ok 19 - check label excluding other labels ok 20 - fail on multiple attr specifiers in one pathspec item ok 21 - fail if attr magic is used in places not implemented ok 22 - check that attr magic works for git stash push ok 23 - check that attr magic works for git add --all ok 24 - check that attr magic works for git add -u ok 25 - check that attr magic works for git add ok 26 - check that attr magic works for git -add . ok 27 - check that attr magic works for git add --pathspec-from-file ok 28 - abort on giving invalid label on the command line ok 29 - abort on asking for wrong magic ok 30 - check attribute list ok 31 - backslash cannot be the last character ok 32 - backslash cannot be used as a value ok 33 - reading from .gitattributes in a subdirectory (1) ok 34 - reading from .gitattributes in a subdirectory (2) ok 35 - reading from .gitattributes in a subdirectory (3) ok 36 - pathspec with builtin_objectmode attr can be used ok 37 - builtin_objectmode attr can be excluded # passed all 37 test(s) 1..37 *** t6136-pathspec-in-bare.sh *** ok 1 - setup a bare and non-bare repository ok 2 - log and ls-files in a bare repository ok 3 - log and ls-files in .git directory # passed all 3 test(s) 1..3 *** t6200-fmt-merge-msg.sh *** ok 74 - name-rev works in a deep repo ok 1 - setup ok 2 # skip set up a signed tag (missing GPG) ok 3 # skip created ssh signed commit and tag (missing GPGSSH) ok 4 # skip create signed tags with keys having defined lifetimes (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 5 - message for merging local branch ok 6 # skip message for merging local tag signed by good key (missing GPG) ok 7 # skip message for merging local tag signed by unknown key (missing GPG) ok 8 # skip message for merging local tag signed by good ssh key (missing GPGSSH) ok 9 # skip message for merging local tag signed by unknown ssh key (missing GPGSSH) ok 10 # skip message for merging local tag signed by expired ssh key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 11 # skip message for merging local tag signed by not yet valid ssh key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 12 # skip message for merging local tag signed by valid timeboxed ssh key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 13 # skip message for merging local tag signed by invalid timeboxed ssh key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 14 - message for merging external branch ok 75 - describe works in a deep repo ok 76 - describe --all A ok 77 - describe --all c ok 15 - [merge] summary/log configuration ok 78 - describe --all --match=branch_* branch_A ok 79 - describe complains about tree object ok 80 - describe complains about missing object ok 16 - setup FETCH_HEAD ok 17 - merge.log=3 limits shortlog length ok 18 - merge.log=5 shows all 5 commits ok 19 - --log=5 with custom comment character ok 20 - merge.log=0 disables shortlog ok 21 - --log=3 limits shortlog length ok 22 - --log=5 shows all 5 commits ok 23 - --no-log disables shortlog ok 24 - --log=0 disables shortlog ok 81 - name-rev a rev shortly after epoch ok 25 - fmt-merge-msg -m ok 26 - setup: expected shortlog for two branches ok 82 - name-rev covers all conditions while looking at parents ok 27 - shortlog for two branches ok 28 - merge-msg -F ok 83 - non-monotonic commit dates setup ok 29 - merge-msg -F in subdirectory ok 84 - name-rev with commitGraph handles non-monotonic timestamps ok 85 - name-rev --all works with non-monotonic timestamps ok 86 - name-rev --annotate-stdin works with non-monotonic timestamps ok 30 - merge-msg with nothing to merge ok 87 - name-rev --all works with commitGraph ok 88 - name-rev --annotate-stdin works with commitGraph ok 31 - merge-msg tag ok 32 - merge-msg two tags ok 33 - merge-msg tag and branch ok 89 - setup: describe commits with disjoint bases ok 90 - describe HEAD not ok 91 - describe --candidates=2 HEAD # TODO known breakage ok 34 - merge-msg lots of commits ok 35 - merge-msg with "merging" an annotated tag ok 92 - setup: describe commits with disjoint bases 2 ok 93 - describe HEAD not ok 94 - describe --candidates=2 HEAD # TODO known breakage ok 95 - setup misleading taggerdates ok 96 - describe --contains unique-file~2 ok 97 - describe --dirty with a file with changed stat ok 36 - merge --into-name= ok 98 - describe --broken --dirty with a file with changed stat ok 99 - --always with no refs falls back to commit hash ok 100 - --exact-match does not show --always fallback ok 101 - avoid being fooled by describe-like filename ok 37 - merge.suppressDest configuration # passed all 37 test(s) 1..37 ok 102 - do not be fooled by invalid describe format # still have 2 known breakage(s) # passed all remaining 100 test(s) 1..102 *** t6300-for-each-ref.sh *** *** t6301-for-each-ref-errors.sh *** ok 1 - setup ok 2 - Broken refs are reported correctly ok 1 - setup ok 2 - basic atom: refs/heads/main refname ok 3 - NULL_SHA1 refs are reported correctly ok 3 - basic atom: refs/heads/main refname: ok 4 - basic atom: refs/heads/main refname:short ok 4 - Missing objects are reported correctly ok 5 - basic atom: refs/heads/main refname:lstrip=1 ok 5 - ahead-behind requires an argument ok 6 - missing ahead-behind base ok 6 - basic atom: refs/heads/main refname:lstrip=2 # passed all 6 test(s) 1..6 *** t6302-for-each-ref-filter.sh *** ok 7 - basic atom: refs/heads/main refname:lstrip=-1 ok 8 - basic atom: refs/heads/main refname:lstrip=-2 ok 9 - basic atom: refs/heads/main refname:rstrip=1 ok 10 - basic atom: refs/heads/main refname:rstrip=2 ok 11 - basic atom: refs/heads/main refname:rstrip=-1 ok 12 - basic atom: refs/heads/main refname:rstrip=-2 ok 13 - basic atom: refs/heads/main refname:strip=1 ok 14 - basic atom: refs/heads/main refname:strip=2 ok 15 - basic atom: refs/heads/main refname:strip=-1 ok 16 - basic atom: refs/heads/main refname:strip=-2 ok 17 - basic atom: refs/heads/main upstream ok 18 - basic atom: refs/heads/main upstream:short ok 19 - basic atom: refs/heads/main upstream:lstrip=2 ok 20 - basic atom: refs/heads/main upstream:lstrip=-2 ok 21 - basic atom: refs/heads/main upstream:rstrip=2 ok 22 - basic atom: refs/heads/main upstream:rstrip=-2 ok 23 - basic atom: refs/heads/main upstream:strip=2 ok 24 - basic atom: refs/heads/main upstream:strip=-2 ok 25 - basic atom: refs/heads/main push ok 26 - basic atom: refs/heads/main push:short ok 27 - basic atom: refs/heads/main push:lstrip=1 ok 28 - basic atom: refs/heads/main push:lstrip=-1 ok 29 - basic atom: refs/heads/main push:rstrip=1 ok 1 - setup some history and refs ok 30 - basic atom: refs/heads/main push:rstrip=-1 ok 2 - --include-root-refs pattern prints pseudorefs ok 31 - basic atom: refs/heads/main push:strip=1 ok 32 - basic atom: refs/heads/main push:strip=-1 ok 33 - basic atom: refs/heads/main objecttype ok 34 - basic atom: refs/heads/main objectsize ok 3 - --include-root-refs pattern does not print special refs ok 35 - basic atom: refs/heads/main objectsize:disk ok 4 - --include-root-refs with other patterns ok 36 - basic atom: refs/heads/main deltabase ok 37 - basic atom: refs/heads/main objectname ok 38 - basic atom: refs/heads/main objectname:short ok 5 - --include-root-refs omits dangling symrefs ok 39 - basic atom: refs/heads/main objectname:short=1 ok 6 - filtering with --points-at ok 40 - basic atom: refs/heads/main objectname:short=10 ok 7 - check signed tags with --points-at ok 8 - filtering with --merged ok 41 - basic atom: refs/heads/main tree ok 9 - filtering with --no-merged ok 42 - basic atom: refs/heads/main tree:short ok 10 - filtering with --contains ok 11 - filtering with --no-contains ok 43 - basic atom: refs/heads/main tree:short=1 ok 12 - filtering with --contains and --no-contains ok 13 - %(color) must fail ok 44 - basic atom: refs/heads/main tree:short=10 ok 45 - basic atom: refs/heads/main parent ok 46 - basic atom: refs/heads/main parent:short ok 47 - basic atom: refs/heads/main parent:short=1 ok 48 - basic atom: refs/heads/main parent:short=10 ok 14 - %(color:#aa22ac) must succeed ok 49 - basic atom: refs/heads/main numparent ok 15 - left alignment is default ok 50 - basic atom: refs/heads/main object ok 16 - middle alignment ok 51 - basic atom: refs/heads/main type ok 17 - right alignment ok 18 - align:middle,42 ok 52 - basic atom: refs/heads/main raw ok 19 - align:42,middle ok 20 - align:position=middle,42 ok 53 - basic atom: refs/heads/main *objectname ok 21 - align:42,position=middle ok 22 - align:middle,width=42 ok 54 - basic atom: refs/heads/main *objecttype ok 23 - align:width=42,middle ok 55 - basic atom: refs/heads/main author ok 24 - align:position=middle,width=42 ok 25 - align:width=42,position=middle ok 56 - basic atom: refs/heads/main authorname ok 26 - align:32,width=42,middle ok 27 - align:width=30,42,middle ok 57 - basic atom: refs/heads/main authorname:mailmap ok 28 - align:width=42,position=right,middle ok 29 - align:42,right,position=middle ok 58 - basic atom: refs/heads/main authoremail ok 30 - alignment with format quote ok 59 - basic atom: refs/heads/main authoremail:trim ok 31 - nested alignment with quote formatting ok 60 - basic atom: refs/heads/main authoremail:localpart ok 32 - check `%(contents:lines=1)` ok 61 - basic atom: refs/heads/main authoremail:trim,localpart ok 33 - check `%(contents:lines=0)` ok 62 - basic atom: refs/heads/main authoremail:mailmap ok 34 - check `%(contents:lines=99999)` ok 35 - `%(contents:lines=-1)` should fail ok 63 - basic atom: refs/heads/main authoremail:mailmap,trim ok 64 - basic atom: refs/heads/main authoremail:trim,mailmap ok 65 - basic atom: refs/heads/main authoremail:mailmap,localpart ok 66 - basic atom: refs/heads/main authoremail:localpart,mailmap ok 67 - basic atom: refs/heads/main authoremail:mailmap,trim,localpart,mailmap,trim ok 68 - basic atom: refs/heads/main authordate ok 36 - setup for version sort ok 69 - basic atom: refs/heads/main committer ok 37 - version sort ok 70 - basic atom: refs/heads/main committername ok 38 - version sort (shortened) ok 71 - basic atom: refs/heads/main committername:mailmap ok 39 - reverse version sort ok 72 - basic atom: refs/heads/main committeremail ok 73 - basic atom: refs/heads/main committeremail:trim ok 74 - basic atom: refs/heads/main committeremail:localpart ok 75 - basic atom: refs/heads/main committeremail:localpart,trim ok 40 - improper usage of %(if), %(then), %(else) and %(end) atoms ok 76 - basic atom: refs/heads/main committeremail:mailmap ok 41 - check %(if)...%(then)...%(end) atoms ok 77 - basic atom: refs/heads/main committeremail:mailmap,trim ok 42 - check %(if)...%(then)...%(else)...%(end) atoms ok 43 - ignore spaces in %(if) atom usage ok 78 - basic atom: refs/heads/main committeremail:trim,mailmap ok 44 - check %(if:equals=) ok 79 - basic atom: refs/heads/main committeremail:mailmap,localpart ok 45 - check %(if:notequals=) ok 46 - --merged is compatible with --no-merged ok 80 - basic atom: refs/heads/main committeremail:localpart,mailmap ok 81 - basic atom: refs/heads/main committeremail:trim,mailmap,trim,trim,localpart ok 82 - basic atom: refs/heads/main committerdate ok 47 - validate worktree atom ok 83 - basic atom: refs/heads/main tag # passed all 47 test(s) 1..47 *** t6400-merge-df.sh *** ok 84 - basic atom: refs/heads/main tagger ok 85 - basic atom: refs/heads/main taggername ok 86 - basic atom: refs/heads/main taggeremail ok 87 - basic atom: refs/heads/main taggeremail:trim ok 88 - basic atom: refs/heads/main taggeremail:localpart ok 89 - basic atom: refs/heads/main taggerdate ok 90 - basic atom: refs/heads/main creator ok 91 - basic atom: refs/heads/main creatordate ok 92 - basic atom: refs/heads/main subject ok 93 - basic atom: refs/heads/main subject:sanitize ok 94 - basic atom: refs/heads/main contents:subject ok 95 - basic atom: refs/heads/main body ok 96 - basic atom: refs/heads/main contents:body ok 97 - basic atom: refs/heads/main contents:signature ok 98 - basic atom: refs/heads/main contents ok 99 - basic atom: refs/heads/main contents:size ok 1 - prepare repository ok 100 - basic atom: refs/heads/main HEAD ok 2 - Merge with d/f conflicts ok 101 - basic atom: refs/tags/testtag refname ok 102 - basic atom: refs/tags/testtag refname:short ok 103 - basic atom: refs/tags/testtag upstream ok 104 - basic atom: refs/tags/testtag push ok 105 - basic atom: refs/tags/testtag objecttype ok 106 - basic atom: refs/tags/testtag objectsize ok 107 - basic atom: refs/tags/testtag objectsize:disk ok 108 - basic atom: refs/tags/testtag *objectsize:disk ok 3 - F/D conflict ok 109 - basic atom: refs/tags/testtag deltabase ok 110 - basic atom: refs/tags/testtag *deltabase ok 111 - basic atom: refs/tags/testtag objectname ok 112 - basic atom: refs/tags/testtag objectname:short ok 113 - basic atom: refs/heads/main objectname:short=1 ok 114 - basic atom: refs/heads/main objectname:short=10 ok 115 - basic atom: refs/tags/testtag tree ok 4 - setup modify/delete + directory/file conflict ok 116 - basic atom: refs/tags/testtag tree:short ok 117 - basic atom: refs/tags/testtag tree:short=1 ok 118 - basic atom: refs/tags/testtag tree:short=10 ok 119 - basic atom: refs/tags/testtag parent ok 5 - modify/delete + directory/file conflict ok 120 - basic atom: refs/tags/testtag parent:short ok 121 - basic atom: refs/tags/testtag parent:short=1 ok 122 - basic atom: refs/tags/testtag parent:short=10 ok 123 - basic atom: refs/tags/testtag numparent ok 124 - basic atom: refs/tags/testtag object ok 125 - basic atom: refs/tags/testtag type ok 6 - modify/delete + directory/file conflict; other way ok 126 - basic atom: refs/tags/testtag *objectname ok 127 - basic atom: refs/tags/testtag *objecttype ok 128 - basic atom: refs/tags/testtag author ok 129 - basic atom: refs/tags/testtag authorname ok 130 - basic atom: refs/tags/testtag authorname:mailmap ok 131 - basic atom: refs/tags/testtag authoremail ok 132 - basic atom: refs/tags/testtag authoremail:trim ok 133 - basic atom: refs/tags/testtag authoremail:localpart ok 134 - basic atom: refs/tags/testtag authoremail:trim,localpart ok 135 - basic atom: refs/tags/testtag authoremail:mailmap ok 136 - basic atom: refs/tags/testtag authoremail:mailmap,trim ok 7 - Simple merge in repo with interesting pathnames # passed all 7 test(s) 1..7 ok 137 - basic atom: refs/tags/testtag authoremail:trim,mailmap ok 138 - basic atom: refs/tags/testtag authoremail:mailmap,localpart *** t6401-merge-criss-cross.sh *** ok 139 - basic atom: refs/tags/testtag authoremail:localpart,mailmap ok 140 - basic atom: refs/tags/testtag authoremail:mailmap,trim,localpart,mailmap,trim ok 141 - basic atom: refs/tags/testtag authordate ok 142 - basic atom: refs/tags/testtag committer ok 143 - basic atom: refs/tags/testtag committername ok 144 - basic atom: refs/tags/testtag committername:mailmap ok 145 - basic atom: refs/tags/testtag committeremail ok 146 - basic atom: refs/tags/testtag committeremail:trim ok 147 - basic atom: refs/tags/testtag committeremail:localpart ok 148 - basic atom: refs/tags/testtag committeremail:localpart,trim ok 149 - basic atom: refs/tags/testtag committeremail:mailmap ok 150 - basic atom: refs/tags/testtag committeremail:mailmap,trim ok 151 - basic atom: refs/tags/testtag committeremail:trim,mailmap ok 152 - basic atom: refs/tags/testtag committeremail:mailmap,localpart ok 153 - basic atom: refs/tags/testtag committeremail:localpart,mailmap ok 154 - basic atom: refs/tags/testtag committeremail:trim,mailmap,trim,trim,localpart ok 155 - basic atom: refs/tags/testtag committerdate ok 156 - basic atom: refs/tags/testtag tag ok 157 - basic atom: refs/tags/testtag tagger ok 158 - basic atom: refs/tags/testtag taggername ok 159 - basic atom: refs/tags/testtag taggername:mailmap ok 160 - basic atom: refs/tags/testtag taggeremail ok 161 - basic atom: refs/tags/testtag taggeremail:trim ok 1 - prepare repository ok 162 - basic atom: refs/tags/testtag taggeremail:localpart ok 2 - Criss-cross merge ok 163 - basic atom: refs/tags/testtag taggeremail:trim,localpart ok 3 - Criss-cross merge result ok 164 - basic atom: refs/tags/testtag taggeremail:mailmap ok 165 - basic atom: refs/tags/testtag taggeremail:mailmap,trim ok 166 - basic atom: refs/tags/testtag taggeremail:trim,mailmap ok 167 - basic atom: refs/tags/testtag taggeremail:mailmap,localpart ok 168 - basic atom: refs/tags/testtag taggeremail:localpart,mailmap ok 169 - basic atom: refs/tags/testtag taggeremail:trim,mailmap,trim,localpart,localpart ok 170 - basic atom: refs/tags/testtag taggerdate ok 171 - basic atom: refs/tags/testtag creator ok 172 - basic atom: refs/tags/testtag creatordate ok 4 - Criss-cross merge fails (-s resolve) ok 173 - basic atom: refs/tags/testtag subject # passed all 4 test(s) 1..4 *** t6402-merge-rename.sh *** ok 174 - basic atom: refs/tags/testtag subject:sanitize ok 175 - basic atom: refs/tags/testtag contents:subject ok 176 - basic atom: refs/tags/testtag body ok 177 - basic atom: refs/tags/testtag contents:body ok 178 - basic atom: refs/tags/testtag contents:signature ok 179 - basic atom: refs/tags/testtag contents ok 180 - basic atom: refs/tags/testtag contents:size ok 181 - basic atom: refs/tags/testtag HEAD ok 182 - basic atom: refs/tags/testtag *raw ok 183 - Check invalid atoms names are errors ok 184 - Check format specifiers are ignored in naming date atoms ok 185 - Check valid format specifiers for date fields ok 186 - Check invalid format specifiers are errors ok 187 - arguments to %(objectname:short=) must be positive integers ok 188 - err basic atom: refs/heads/main authoremail:foo ok 189 - err basic atom: refs/heads/main authoremail:mailmap,trim,bar ok 190 - err basic atom: refs/heads/main authoremail:trim, ok 191 - err basic atom: refs/heads/main authoremail:mailmaptrim ok 192 - err basic atom: refs/heads/main committeremail: ok 193 - err basic atom: refs/heads/main committeremail: trim,foo ok 194 - err basic atom: refs/heads/main committeremail:mailmap,localpart ok 195 - err basic atom: refs/heads/main committeremail:trim_localpart ok 196 - err basic atom: refs/heads/main committeremail:localpart,,,trim ok 197 - err basic atom: refs/tags/testtag taggeremail:mailmap,trim, foo ok 198 - err basic atom: refs/tags/testtag taggeremail:trim,localpart, ok 199 - err basic atom: refs/tags/testtag taggeremail:mailmap;localpart trim ok 200 - err basic atom: refs/tags/testtag taggeremail:localpart trim ok 201 - err basic atom: refs/tags/testtag taggeremail:mailmap,mailmap,trim,qux,localpart,trim ok 202 - Check unformatted date fields output ok 203 - Check format "default" formatted date fields output ok 204 - Check format "default-local" date fields output ok 205 - Check format "relative" date fields output ok 206 - Check format "relative-local" date fields output ok 207 - Check format "short" date fields output ok 1 - setup ok 208 - Check format "short-local" date fields output ok 209 - Check format "local" date fields output ok 210 - Check format "iso8601" date fields output ok 211 - Check format "iso8601-local" date fields output ok 212 - Check format "rfc2822" date fields output ok 213 - Check format "rfc2822-local" date fields output ok 2 - pull renaming branch into unrenaming one ok 214 - Check format "raw" date fields output ok 215 - Check format "raw-local" date fields output ok 216 - Check format of strftime date fields ok 217 - Check format of strftime-local date fields ok 218 - exercise strftime with odd fields ok 219 - Verify ascending sort ok 220 - Verify descending sort ok 221 - Give help even with invalid sort atoms ok 222 - exercise patterns with prefixes ok 3 - pull renaming branch into another renaming one ok 223 - exercise glob patterns with prefixes ok 224 - exercise patterns with prefix exclusions ok 4 - pull unrenaming branch into renaming one ok 225 - exercise patterns with pattern exclusions ok 226 - Quoting style: shell ok 227 - Quoting style: perl ok 228 - Quoting style: python ok 229 - Quoting style: tcl ok 230 - more than one quoting style: --perl --shell ok 231 - more than one quoting style: -s --python ok 232 - more than one quoting style: --python --tcl ok 233 - more than one quoting style: --tcl --perl ok 234 - setup for upstream:track[short] ok 5 - pull conflicting renames ok 235 - basic atom: refs/heads/main upstream:track ok 236 - basic atom: refs/heads/main upstream:trackshort ok 237 - basic atom: refs/heads/main upstream:track,nobracket ok 238 - basic atom: refs/heads/main upstream:nobracket,track ok 6 - interference with untracked working tree file ok 239 - setup for push:track[short] ok 240 - basic atom: refs/heads/main push:track ok 241 - basic atom: refs/heads/main push:trackshort ok 242 - Check that :track[short] cannot be used with other atoms ok 7 - interference with untracked working tree file ok 243 - Check that :track[short] works when upstream is invalid ok 244 - Check for invalid refname format ok 245 - set up color tests ok 246 # skip %(color) shows color with a tty (missing TTY) ok 247 - %(color) does not show color without tty ok 8 - interference with untracked working tree file ok 248 - --color can override tty check ok 249 - color.ui=always does not override tty check ok 9 - updated working tree file should prevent the merge ok 250 - setup for describe atom tests ok 251 - describe atom vs git describe ok 252 - describe:tags vs describe --tags ok 10 - updated working tree file should prevent the merge ok 253 - describe:abbrev=... vs describe --abbrev=... ok 254 - describe:match=... vs describe --match ... ok 255 - describe:exclude:... vs describe --exclude ... ok 256 - deref with describe atom ok 11 - interference with untracked working tree file ok 257 - err on bad describe atom arg ok 258 - Check ambiguous head and tag refs (strict) ok 259 - Check ambiguous head and tag refs (loose) ok 12 - merge of identical changes in a renamed file ok 260 - Check ambiguous head and tag refs II (loose) ok 261 - create tag without tagger ok 262 - basic atom: refs/tags/taggerless type ok 263 - basic atom: refs/tags/taggerless tag ok 264 - basic atom: refs/tags/taggerless tagger ok 265 - basic atom: refs/tags/taggerless taggername ok 266 - basic atom: refs/tags/taggerless taggeremail ok 267 - basic atom: refs/tags/taggerless taggeremail:trim ok 268 - basic atom: refs/tags/taggerless taggeremail:localpart ok 269 - basic atom: refs/tags/taggerless taggerdate ok 270 - basic atom: refs/tags/taggerless committer ok 271 - basic atom: refs/tags/taggerless committername ok 272 - basic atom: refs/tags/taggerless committeremail ok 273 - basic atom: refs/tags/taggerless committeremail:trim ok 13 - setup for rename + d/f conflicts ok 274 - basic atom: refs/tags/taggerless committeremail:localpart ok 275 - basic atom: refs/tags/taggerless committerdate ok 276 - basic atom: refs/tags/taggerless subject ok 14 - Rename+D/F conflict; renamed file merges + dir not in way ok 277 - an unusual tag with an incomplete line ok 278 - create tag with subject and body content ok 279 - basic atom: refs/tags/subject-body subject ok 280 - basic atom: refs/tags/subject-body subject:sanitize ok 281 - basic atom: refs/tags/subject-body body ok 15 - Rename+D/F conflict; renamed file merges but dir in way ok 282 - basic atom: refs/tags/subject-body contents ok 283 - basic atom: refs/tags/subject-body contents:size ok 284 - create tag with multiline subject ok 285 - basic atom: refs/tags/multiline subject ok 286 - basic atom: refs/tags/multiline subject:sanitize ok 287 - basic atom: refs/tags/multiline contents:subject ok 16 - Same as previous, but merged other way ok 288 - basic atom: refs/tags/multiline body ok 289 - basic atom: refs/tags/multiline contents:body ok 290 - basic atom: refs/tags/multiline contents:signature ok 291 - basic atom: refs/tags/multiline contents ok 17 - Rename+D/F conflict; renamed file cannot merge, dir not in way ok 292 - basic atom: refs/tags/multiline contents:size ok 293 # skip create signed tags (missing GPG) ok 294 # skip basic atom: refs/tags/signed-empty subject (missing GPG) ok 295 # skip basic atom: refs/tags/signed-empty subject:sanitize (missing GPG) ok 296 # skip basic atom: refs/tags/signed-empty contents:subject (missing GPG) ok 297 # skip basic atom: refs/tags/signed-empty body (missing GPG) ok 298 # skip basic atom: refs/tags/signed-empty contents:body (missing GPG) ok 299 # skip basic atom: refs/tags/signed-empty contents:signature (missing GPG) ok 300 # skip basic atom: refs/tags/signed-empty contents (missing GPG) ok 301 # skip basic atom: refs/tags/signed-empty contents:size (missing GPG) ok 302 # skip basic atom: refs/tags/signed-empty raw (missing GPG) ok 303 # skip basic atom: refs/tags/signed-short subject (missing GPG) ok 304 # skip basic atom: refs/tags/signed-short subject:sanitize (missing GPG) ok 305 # skip basic atom: refs/tags/signed-short contents:subject (missing GPG) ok 306 # skip basic atom: refs/tags/signed-short body (missing GPG) ok 307 # skip basic atom: refs/tags/signed-short contents:body (missing GPG) ok 308 # skip basic atom: refs/tags/signed-short contents:signature (missing GPG) ok 309 # skip basic atom: refs/tags/signed-short contents (missing GPG) ok 310 # skip basic atom: refs/tags/signed-short contents:size (missing GPG) ok 311 # skip basic atom: refs/tags/signed-short raw (missing GPG) ok 312 # skip basic atom: refs/tags/signed-long subject (missing GPG) ok 313 # skip basic atom: refs/tags/signed-long subject:sanitize (missing GPG) ok 314 # skip basic atom: refs/tags/signed-long contents:subject (missing GPG) ok 315 # skip basic atom: refs/tags/signed-long body (missing GPG) ok 316 # skip basic atom: refs/tags/signed-long contents:body (missing GPG) ok 317 # skip basic atom: refs/tags/signed-long contents:signature (missing GPG) ok 318 # skip basic atom: refs/tags/signed-long contents (missing GPG) ok 319 # skip basic atom: refs/tags/signed-long contents:size (missing GPG) ok 18 - Rename+D/F conflict; renamed file cannot merge and dir in the way ok 320 # skip basic atom: refs/tags/signed-long raw (missing GPG) ok 321 - set up refs pointing to tree and blob ok 322 # skip basic atom: refs/mytrees/first subject (missing GPG) ok 323 # skip basic atom: refs/mytrees/first contents:subject (missing GPG) ok 324 # skip basic atom: refs/mytrees/first body (missing GPG) ok 325 # skip basic atom: refs/mytrees/first contents:body (missing GPG) ok 326 # skip basic atom: refs/mytrees/first contents:signature (missing GPG) ok 327 # skip basic atom: refs/mytrees/first contents (missing GPG) ok 328 # skip basic atom: refs/mytrees/first contents:size (missing GPG) ok 329 - basic atom: refs/mytrees/first raw ok 330 # skip basic atom: refs/myblobs/first subject (missing GPG) ok 331 # skip basic atom: refs/myblobs/first contents:subject (missing GPG) ok 332 # skip basic atom: refs/myblobs/first body (missing GPG) ok 333 # skip basic atom: refs/myblobs/first contents:body (missing GPG) ok 334 # skip basic atom: refs/myblobs/first contents:signature (missing GPG) ok 335 # skip basic atom: refs/myblobs/first contents (missing GPG) ok 336 # skip basic atom: refs/myblobs/first contents:size (missing GPG) ok 19 - Same as previous, but merged other way ok 337 - basic atom: refs/myblobs/first raw ok 338 - set up refs pointing to binary blob ok 339 - Verify sorts with raw ok 20 - setup both rename source and destination involved in D/F conflict ok 340 - Verify sorts with raw:size ok 341 - validate raw atom with %(if:equals) ok 342 - validate raw atom with %(if:notequals) ok 343 - empty raw refs with %(if) ok 344 - %(raw) with --python must fail ok 345 - %(raw) with --tcl must fail ok 21 - both rename source and destination involved in D/F conflict ok 346 - %(raw) with --perl ok 347 - %(raw) with --shell must fail ok 348 - %(raw) with --shell and --sort=raw must fail ok 349 - %(raw:size) with --shell ok 350 - for-each-ref --format compare with cat-file --batch ok 22 - setup pair rename to parent of other (D/F conflicts) ok 351 - verify sorts with contents:size ok 352 - set up multiple-sort tags ok 353 - Verify sort with multiple keys ok 354 - equivalent sorts fall back on refname ok 23 - pair rename to parent of other (D/F conflicts) w/ untracked dir ok 355 - --no-sort cancels the previous sort keys ok 356 - --no-sort without subsequent --sort prints expected refs ok 357 - set up custom date sorting ok 358 - sort by date defaults to full timestamp ok 359 - sort by custom date format ok 24 - pair rename to parent of other (D/F conflicts) w/ clean start ok 360 - do not dereference NULL upon %(HEAD) on unborn branch ok 361 - set up trailers for next test ok 362 - %(trailers:unfold) unfolds trailers ok 363 - %(trailers:only) shows only "key: value" trailers ok 364 - %(trailers:only=no,only=true) shows only "key: value" trailers ok 25 - setup rename of one file to two, with directories in the way ok 365 - %(trailers:only=yes) shows only "key: value" trailers ok 366 - %(trailers:only=no) shows all trailers ok 367 - %(trailers:only) and %(trailers:unfold) work together ok 368 - %(trailers:unfold) and %(trailers:only) work together ok 369 - %(trailers:key=foo) shows that trailer ok 26 - check handling of differently renamed file with D/F conflicts ok 370 - %(trailers:key=foo) is case insensitive ok 371 - %(trailers:key=foo:) trailing colon also works ok 372 - %(trailers:key=foo) multiple keys ok 373 - %(trailers:key=nonexistent) becomes empty ok 374 - %(trailers:key=foo) handles multiple lines even if folded ok 375 - %(trailers:key=foo,unfold) properly unfolds ok 27 - setup rename one file to two; directories moving out of the way ok 376 - %(trailers:key=foo,only=no) also includes nontrailer lines ok 377 - %(trailers:key=foo,valueonly) shows only value ok 378 - %(trailers:separator) changes separator ok 379 - %(trailers:key_value_separator) changes key-value separator ok 380 - %(trailers:separator,key_value_separator) changes both separators ok 28 - check handling of differently renamed file with D/F conflicts ok 381 - multiple %(trailers) use their own options ok 382 - %(trailers) rejects unknown trailers arguments ok 383 - %(trailers:key) without value is error ok 384 - if arguments, %(contents:trailers) shows error if colon is missing ok 385 - basic atom: head contents:trailers ok 386 - basic atom: rest must fail ok 387 - HEAD atom does not take arguments ok 388 - subject atom rejects unknown arguments ok 389 - refname atom rejects unknown arguments ok 29 - setup avoid unnecessary update, normal rename ok 390 - trailer parsing not fooled by --- line ok 391 - Add symbolic ref for the following tests ok 392 - Verify usage of %(symref) atom ok 393 - Verify usage of %(symref:short) atom ok 30 - avoid unnecessary update, normal rename ok 394 - Verify usage of %(symref:lstrip) atom ok 395 - Verify usage of %(symref:rstrip) atom ok 31 - setup to test avoiding unnecessary update, with D/F conflict ok 32 - avoid unnecessary update, with D/F conflict ok 396 - :remotename and :remoteref ok 397 - for-each-ref --ignore-case ignores case ok 398 - for-each-ref --omit-empty works ok 33 - setup avoid unnecessary update, dir->(file,nothing) ok 34 - avoid unnecessary update, dir->(file,nothing) ok 399 - for-each-ref --ignore-case works on multiple sort keys ok 400 - for-each-ref reports broken tags ok 401 - set up tag with signature and no blank lines ok 402 # skip basic atom: refs/tags/fake-sig-no-blanks contents:subject (missing GPG) ok 403 # skip basic atom: refs/tags/fake-sig-no-blanks contents:body (missing GPG) ok 404 # skip basic atom: refs/tags/fake-sig-no-blanks contents:signature (missing GPG) ok 405 - set up tag with CRLF signature ok 406 # skip basic atom: refs/tags/fake-sig-crlf contents:subject (missing GPG) ok 407 # skip basic atom: refs/tags/fake-sig-crlf contents:body (missing GPG) ok 408 # skip basic atom: refs/tags/fake-sig-crlf contents:signature (missing GPG) ok 409 - set up tag with signature and trailers ok 410 # skip basic atom: refs/tags/fake-sig-trailer trailers:separator= (missing GPG) ok 35 - setup avoid unnecessary update, modify/delete ok 411 - git for-each-ref --stdin: empty ok 412 - git for-each-ref --stdin: fails if extra args ok 413 - git for-each-ref --stdin: matches ok 36 - avoid unnecessary update, modify/delete ok 414 - git for-each-ref with non-existing refs ok 415 - git for-each-ref with nested tags ok 416 - is-base atom with non-commits ok 417 # skip setup for signature atom using gpg (missing GPG) ok 418 # skip setup for signature atom using ssh (missing GPGSSH) ok 37 - setup avoid unnecessary update, rename/add-dest ok 419 # skip bare signature atom (missing GPG2) ok 420 # skip show good signature with custom format (missing GPG) ok 421 # skip show good signature with custom format with ssh (missing GPGSSH) ok 422 # skip signature atom with grade option and bad signature (missing GPG) ok 423 # skip show untrusted signature with custom format (missing GPG) ok 424 # skip show untrusted signature with undefined trust level (missing GPG) ok 425 # skip show untrusted signature with ultimate trust level (missing GPG) ok 426 # skip show unknown signature with custom format (missing GPG) ok 427 # skip show lack of signature with custom format (missing GPG) # passed all 427 test(s) 1..427 ok 38 - avoid unnecessary update, rename/add-dest *** t6403-merge-file.sh *** ok 39 - setup merge of rename + small change ok 40 - merge rename + small change ok 1 - setup ok 2 - merge with no changes ok 3 - merge with no changes with --object-id ok 4 - merge without conflict ok 5 - merge without conflict with --object-id ok 6 - can accept object ID with --object-id ok 7 - works in subdirectory ok 8 - merge without conflict (--quiet) not ok 9 - merge without conflict (missing LF at EOF) # TODO known breakage not ok 10 - merge result added missing LF # TODO known breakage ok 11 - merge without conflict (missing LF at EOF, away from change in the other file) ok 12 - merge does not add LF away of change ok 41 - setup for use of extended merge markers ok 13 - merge with conflicts ok 14 - expected conflict markers ok 42 - merge main into rename has correct extended markers ok 15 - merge with conflicts with --object-id ok 43 - merge rename into main has correct extended markers ok 16 - merge with conflicts with --object-id with labels ok 17 - merge conflicting with --ours ok 18 - merge conflicting with --theirs ok 19 - merge conflicting with --union ok 20 - merge with conflicts, using -L ok 21 - expected conflict markers, with -L ok 22 - conflict in removed tail ok 23 - expected conflict markers ok 24 - binary files cannot be merged ok 25 - binary files cannot be merged with --object-id ok 26 - MERGE_ZEALOUS simplifies non-conflicts ok 44 - setup spurious "refusing to lose untracked" message ok 27 - ZEALOUS_ALNUM ok 28 - "diff3 -m" style output (1) ok 45 - no spurious "refusing to lose untracked" message ok 29 - "diff3 -m" style output (2) ok 30 - marker size ok 31 - conflict at EOF without LF resolved by --ours ok 32 - conflict at EOF without LF resolved by --theirs ok 33 - conflict at EOF without LF resolved by --union ok 34 - conflict sections match existing line endings ok 35 - --object-id fails without repository ok 36 - merging C files with "myers" diff algorithm creates some spurious conflicts ok 46 - do not follow renames for empty files ok 37 - merging C files with "histogram" diff algorithm avoids some spurious conflicts # passed all 46 test(s) 1..46 # still have 2 known breakage(s) # passed all remaining 35 test(s) 1..37 *** t6404-recursive-merge.sh *** *** t6405-merge-symlinks.sh *** ok 1 - setup ok 2 - merge main into b-symlink, which has a different symbolic link ok 3 - the merge result must be a file ok 4 - merge main into b-file, which has a file instead of a symbolic link ok 5 - the merge result must be a file ok 6 - merge b-file, which has a file instead of a symbolic link, into main ok 7 - the merge result must be a file # passed all 7 test(s) 1..7 *** t6406-merge-attr.sh *** ok 1 - setup tests ok 2 - combined merge conflicts ok 3 - result contains a conflict ok 4 - virtual trees were processed ok 5 - refuse to merge binary files ok 1 - setup ok 2 - merge ok 6 - mark rename/delete as unmerged ok 3 - check merge result in index # passed all 6 test(s) 1..6 ok 4 - check merge result in working tree *** t6407-merge-binary.sh *** ok 5 - retry the merge with longer context ok 6 - invalid conflict-marker-size 3a ok 7 - custom merge backend ok 8 - custom merge backend ok 1 - setup ok 9 - custom merge driver that is killed with a signal ok 2 - resolve ok 10 - up-to-date merge without common ancestor ok 3 - recursive # passed all 3 test(s) 1..3 *** t6408-merge-up-to-date.sh *** ok 11 - custom merge does not lock index ok 12 - binary files with union attribute ok 1 - setup ok 2 - merge -s recursive up-to-date ok 3 - merge -s recursive fast-forward ok 4 - merge -s ours up-to-date ok 5 - merge -s ours fast-forward ok 13 - custom merge driver that is killed with a signal on recursive merge # passed all 13 test(s) 1..13 ok 6 - merge -s subtree up-to-date *** t6409-merge-subtree.sh *** ok 7 - merge fast-forward octopus # passed all 7 test(s) 1..7 *** t6411-merge-filemode.sh *** ok 1 - setup ok 2 - subtree available and works like recursive ok 1 - set up mode change in one branch ok 3 - setup branch sub ok 2 - resolve single mode change (recursive, a1) ok 3 - verify executable bit on file (recursive, a1) ok 4 - setup topic branch ok 4 - resolve single mode change (recursive, b1) ok 5 - verify executable bit on file (recursive, b1) ok 6 - resolve single mode change (resolve, a1) ok 7 - verify executable bit on file (resolve, a1) ok 5 - update branch sub ok 8 - resolve single mode change (resolve, b1) ok 9 - verify executable bit on file (resolve, b1) ok 6 - update topic branch ok 10 - set up mode change in both branches ok 7 - setup ok 11 - detect conflict on double mode change (recursive) ok 12 - verify executable bit on file (recursive) ok 8 - initial merge ok 13 - detect conflict on double mode change (resolve) ok 14 - verify executable bit on file (resolve) ok 9 - merge update ok 15 - set up delete/modechange scenario ok 16 - detect delete/modechange conflict (recursive, b1) ok 10 - initial ambiguous subtree ok 17 - detect delete/modechange conflict (recursive, deletion) ok 11 - merge using explicit ok 18 - detect delete/modechange conflict (resolve, b1) ok 12 - merge2 using explicit # passed all 12 test(s) 1..12 *** t6412-merge-large-rename.sh *** ok 19 - detect delete/modechange conflict (resolve, deletion) # passed all 19 test(s) 1..19 *** t6413-merge-crlf.sh *** ok 1 - setup (initial) ok 1 - setup ok 2 - rename (5, ok) ok 3 - set diff.renamelimit to 4 ok 2 - Check "ours" is CRLF ok 3 - Check that conflict file is CRLF # passed all 3 test(s) 1..3 *** t6414-merge-rename-nocruft.sh *** ok 4 - rename (4, ok) ok 5 - rename (5, fail) ok 6 - set merge.renamelimit to 5 ok 1 - setup ok 2 - merge white into red (A->B,M->N) ok 3 - merge blue into white (A->B, mod A, A untracked) # passed all 3 test(s) 1..3 *** t6415-merge-dir-to-symlink.sh *** ok 7 - rename (5, ok) ok 1 - create a commit where dir a/b changed to symlink ok 2 - checkout does not clobber untracked symlink ok 8 - rename (6, fail) ok 3 - a/b-2/c/d is kept when clobbering symlink b ok 4 - checkout should not have deleted a/b-2/c/d ok 5 - setup for merge test ok 6 - Handle D/F conflict, do not lose a/b-2/c/d in merge (resolve) ok 7 - a/b was resolved as symlink ok 8 - Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive) ok 9 - a/b was resolved as symlink ok 10 - Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve) ok 11 - a/b was resolved as symlink ok 12 - Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive) ok 13 - a/b was resolved as symlink ok 9 - setup large simple rename not ok 14 - do not lose untracked in merge (resolve) # TODO known breakage ok 10 - massive simple rename does not spam added files # passed all 10 test(s) 1..10 *** t6416-recursive-corner-cases.sh *** ok 15 - do not lose untracked in merge (recursive) ok 16 - do not lose modifications in merge (resolve) ok 17 - do not lose modifications in merge (recursive) ok 18 - setup a merge where dir a/b-2 changed to symlink ok 1 - setup basic criss-cross + rename with no modifications ok 2 - merge simple rename+criss-cross with no modifications ok 19 - merge should not have D/F conflicts (resolve) ok 20 - a/b-2 was resolved as symlink ok 21 - merge should not have D/F conflicts (recursive) ok 22 - a/b-2 was resolved as symlink ok 23 - merge should not have F/D conflicts (recursive) ok 24 - a/b-2 was resolved as symlink # still have 1 known breakage(s) # passed all remaining 23 test(s) 1..24 *** t6417-merge-ours-theirs.sh *** ok 3 - setup criss-cross + rename merges with basic modification ok 4 - merge criss-cross + rename merges with basic modification ok 1 - setup ok 2 - plain recursive - should conflict ok 3 - recursive favouring theirs ok 4 - recursive favouring ours ok 5 - setup differently handled merges of rename/add conflict ok 5 - binary file with -Xours/-Xtheirs ok 6 - git detects differently handled merges conflict ok 7 - git detects differently handled merges conflict, swapped ok 6 - pull passes -X to underlying merge ok 8 - setup criss-cross + modify/delete resolved differently ok 9 - git detects conflict merging criss-cross+modify/delete ok 7 - symlink with -Xours/-Xtheirs # passed all 7 test(s) 1..7 *** t6418-merge-text-auto.sh *** ok 10 - git detects conflict merging criss-cross+modify/delete, reverse direction ok 1 - setup ok 2 - set up fuzz_conflict() helper ok 3 - Merge after setting text=auto ok 4 - Merge addition of text=auto eol=LF ok 11 - setup differently handled merges of directory/file conflict ok 5 - Merge addition of text=auto eol=CRLF ok 12 - merge of D1 & E1 fails but has appropriate contents ok 6 - Detect CRLF/LF conflict after setting text=auto ok 7 - Detect LF/CRLF conflict from addition of text=auto ok 13 - merge of E1 & D1 fails but has appropriate contents ok 8 - checkout -m after setting text=auto ok 9 - checkout -m addition of text=auto ok 14 - merge of D1 & E2 fails but has appropriate contents ok 15 - merge of E2 & D1 fails but has appropriate contents ok 10 - Test delete/normalize conflict ok 16 - merge of D1 & E3 succeeds ok 11 - rename/delete vs. renormalization # passed all 11 test(s) 1..11 *** t6419-merge-ignorecase.sh *** ok 17 - merge of D1 & E4 puts merge of a and a2 in both a and a2 not ok 18 - merge of D2 & E4 merges a2s & reports conflict for a/file # TODO known breakage 1..0 # SKIP skipping case insensitive tests - case sensitive file system *** t6421-merge-partial-clone.sh *** ok 19 - setup rename/rename(1to2)/modify followed by what looks like rename/rename(2to1)/modify ok 20 - handle rename/rename(1to2)/modify followed by what looks like rename/rename(2to1)/modify ok 21 - setup criss-cross + rename/rename/add-source + modify/modify not ok 22 - detect rename/rename/add-source for virtual merge-base # TODO known breakage ok 23 - setup criss-cross+rename/rename/add-dest + simple modify ok 24 - virtual merge base handles rename/rename(1to2)/add-dest ok 1 - Objects downloaded for single relevant rename ok 25 - setup symlink modify/modify ok 26 - check symlink modify/modify ok 2 - Objects downloaded when a directory rename triggered ok 27 - setup symlink add/add ok 28 - check symlink add/add ok 3 - Objects downloaded with lots of renames and modifications # passed all 3 test(s) 1..3 *** t6422-merge-rename-corner-cases.sh *** ok 29 - setup submodule modify/modify ok 30 - check submodule modify/modify ok 1 - Does git preserve Gollum's precious artifact? not ok 2 - rename/modify/add-source conflict resolvable # TODO known breakage ok 31 - setup submodule add/add ok 32 - check submodule add/add not ok 3 - conflict caused if rename not detected # TODO known breakage not ok 4 - missed conflict if rename not detected # TODO known breakage ok 33 - setup conflicting entry types (submodule vs symlink) ok 34 - check conflicting entry types (submodule vs symlink) not ok 5 - detect rename/add-source and preserve all data # TODO known breakage not ok 6 - detect rename/add-source and preserve all data, merge other way # TODO known breakage ok 35 - setup conflicting modes for regular file not ok 36 - check conflicting modes for regular file # TODO known breakage ok 7 - rename/directory conflict + clean content merge ok 8 - rename/directory conflict + content merge conflict ok 37 - setup nested conflicts ok 9 - disappearing dir in rename/directory conflict handled ok 38 - check nested conflicts ok 10 - handle rename-with-content-merge vs. add ok 39 - setup virtual merge base with nested conflicts ok 11 - handle rename-with-content-merge vs. add, merge other way ok 40 - check virtual merge base with nested conflicts # still have 3 known breakage(s) # passed all remaining 37 test(s) 1..40 *** t6423-merge-rename-directories.sh *** ok 12 - handle rename/rename (2to1) conflict correctly ok 13 - merge has correct working tree contents ok 1 - 1a: Simple directory rename detection not ok 14 - detect conflict with rename/rename(1to2)/add-source merge # TODO known breakage not ok 15 - rename/rename/add-source still tracks new a file # TODO known breakage ok 2 - 1b: Merge a directory with another ok 16 - rename/rename/add-dest merge still knows about conflicting file versions ok 3 - 1c: Transitive renaming ok 17 - rad-check: rename/add/delete conflict ok 4 - 1d: Directory renames cause a rename/rename(2to1) conflict ok 18 - rrdd-check: rename/rename(2to1)/delete/delete conflict ok 5 - 1e: Renamed directory, with all files being renamed too ok 19 - mod6-check: chains of rename/rename(1to2) and rename/rename(2to1) ok 6 - 1f: Split a directory into two other directories ok 7 - 2a: Directory split into two on one side, with equal numbers of paths ok 20 - check simple rename/rename conflict ok 8 - 2b: Directory split into two on one side, with equal numbers of paths ok 21 - check simple rename/add conflict ok 9 - 3a: Avoid implicit rename if involved as source on other side ok 22 - check simple add/rename conflict ok 10 - 3b: Avoid implicit rename if involved as source on current side ok 23 - check simple add/add conflict ok 11 - 4a: Directory split, with original directory still present ok 12 - 5a: Merge directories, other side adds files to original and target ok 24 - check nested conflicts from rename/rename(2to1) ok 13 - 5b: Rename/delete in order to get add/add/add conflict ok 25 - rename/rename(1to2) with a binary file # still have 7 known breakage(s) # passed all remaining 18 test(s) 1..25 *** t6424-merge-unrelated-index-changes.sh *** ok 14 - 5c: Transitive rename would cause rename/rename/rename/add/add/add ok 15 - 5d: Directory/file/file conflict due to directory rename ok 1 - setup trivial merges ok 2 - ff update ok 3 - ff update, important file modified ok 4 - resolve, trivial ok 16 - 6a: Tricky rename/delete ok 5 - resolve, non-trivial ok 6 - resolve, trivial, related file removed ok 17 - 6b1: Same renames done on both sides, plus another rename ok 7 - resolve, non-trivial, related file removed ok 8 - recursive ok 9 - recursive, when merge branch matches merge base ok 18 - 6b2: Same rename done on both sides ok 10 - merge-recursive, when index==head but head!=HEAD ok 11 - recursive, when file has staged changes not matching HEAD nor what a merge would give ok 19 - 6c: Rename only done on same side ok 12 - recursive, when file has staged changes matching what a merge would give ok 13 - octopus, unrelated file touched ok 20 - 6d: We do not always want transitive renaming ok 14 - octopus, related file removed ok 21 - 6e: Add/add from one side ok 15 - octopus, related file modified ok 16 - ours ok 17 - subtree ok 22 - 7a: rename-dir vs. rename-dir (NOT split evenly) PLUS add-other-file ok 18 - avoid failure due to stat-dirty files ok 23 - 7b: rename/rename(2to1), but only due to transitive rename ok 19 - with multiple strategies, recursive or ort failure do not early abort # passed all 19 test(s) 1..19 *** t6425-merge-rename-delete.sh *** ok 24 - 7c: rename/rename(1to...2or3); transitive rename may add complexity ok 25 - 7d: transitive rename involved in rename/delete; how is it reported? ok 1 - rename/delete # passed all 1 test(s) 1..1 *** t6426-merge-skip-unneeded-updates.sh *** ok 26 - 7e: transitive rename in rename/delete AND dirs in the way ok 1 - 1a-L: Modify(A)/Modify(B), change on B subset of A ok 27 - 8a: Dual-directory rename, one into the others way ok 2 - 1a-R: Modify(A)/Modify(B), change on B subset of A ok 28 - 8b: Dual-directory rename, one into the others way, with conflicting filenames ok 3 - 2a-L: Modify/rename, merge into modify side ok 29 - 8c: modify/delete or rename+modify/delete ok 4 - 2a-R: Modify/rename, merge into rename side ok 30 - 8d: rename/delete...or not? ok 5 - 2b-L: Rename+Mod(A)/Mod(B), B mods subset of A ok 31 - 8e: Both sides rename, one side adds to original directory ok 6 - 2b-R: Rename+Mod(A)/Mod(B), B mods subset of A ok 32 - 9a: Inner renamed directory within outer renamed directory ok 7 - 2c: Modify b & add c VS rename b->c ok 8 - 3a-L: bq_1->foo/bq_2 on A, foo/->bar/ on B ok 33 - 9b: Transitive rename with content merge ok 9 - 3a-R: bq_1->foo/bq_2 on A, foo/->bar/ on B ok 34 - 9c: Doubly transitive rename? ok 10 - 3b-L: bq_1->foo/bq_2 on A, foo/->bar/ on B ok 35 - 9d: N-way transitive rename? ok 11 - 3b-R: bq_1->foo/bq_2 on A, foo/->bar/ on B ok 36 - 9e: N-to-1 whammo ok 12 - 4a: Change on A, change on B subset of A, dirty mods present ok 37 - 9f: Renamed directory that only contained immediate subdirs ok 13 - 4b: Rename+Mod(A)/Mod(B), change on B subset of A, dirty mods present # passed all 13 test(s) 1..13 *** t6427-diff3-conflict-markers.sh *** not ok 38 - 9g: Renamed directory that only contained immediate subdirs, immediate subdirs renamed # TODO known breakage ok 1 - setup no merge base ok 39 - 9h: Avoid dir rename on merely modified path ok 2 - check no merge base ok 3 - setup unique merge base ok 40 - 10a: Overwrite untracked with normal rename/delete ok 4 - check unique merge base ok 41 - 10b: Overwrite untracked with dir rename + delete ok 5 - setup multiple merge bases ok 6 - check multiple merge bases ok 42 - 10c1: Overwrite untracked with dir rename/rename(1to2) ok 7 - rebase --merge describes parent of commit being picked ok 8 - rebase --apply describes fake ancestor base ok 43 - 10c2: Overwrite untracked with dir rename/rename(1to2), other direction ok 9 - check zdiff3 markers # passed all 9 test(s) 1..9 *** t6428-merge-conflicts-sparse.sh *** ok 44 - 10d: Delete untracked with dir rename/rename(2to1) ok 45 - 10e: Does git complain about untracked file that is not really in the way? ok 1 - conflicting entries written to worktree even if sparse ok 46 - 11a: Avoid losing dirty contents with simple rename ok 2 - present-despite-SKIP_WORKTREE handled reasonably # passed all 2 test(s) 1..2 *** t6429-merge-sequence-rename-caching.sh *** ok 47 - 11b: Avoid losing dirty file involved in directory rename ok 1 - caching renames does not preclude finding new ones ok 48 - 11c: Avoid losing not-uptodate with rename + D/F conflict ok 2 - cherry-pick both a commit and its immediate revert ok 49 - 11d: Avoid losing not-uptodate with rename + D/F conflict ok 3 - rename same file identically, then reintroduce it ok 50 - 11e: Avoid deleting not-uptodate with dir rename/rename(1to2)/add ok 51 - 11f: Avoid deleting not-uptodate with dir rename/rename(2to1) ok 4 - rename same file identically, then add file to old dir ok 52 - 12a: Moving one directory hierarchy into another ok 5 - cached dir rename does not prevent noticing later conflict ok 53 - 12b1: Moving two directory hierarchies into each other ok 6 - dir rename unneeded, then add new file to old dir ok 54 - 12b2: Moving two directory hierarchies into each other ok 7 - dir rename unneeded, then rename existing file into old dir ok 55 - 12c1: Moving one directory hierarchy into another w/ content merge ok 8 - caching renames only on upstream side, part 1 ok 56 - 12c2: Moving one directory hierarchy into another w/ content merge ok 9 - caching renames only on upstream side, part 2 ok 57 - 12d: Rename/merge subdir into the root, variant 1 ok 10 - avoid assuming we detected renames # passed all 10 test(s) 1..10 *** t6430-merge-recursive.sh *** ok 58 - 12e: Rename/merge subdir into the root, variant 2 ok 1 - setup 1 ok 2 - setup 2 ok 3 - setup 3 ok 4 - setup 4 ok 5 - setup 5 ok 6 - setup 6 ok 59 - 12f: Trivial directory resolve, caching, all kinds of fun ok 7 - setup 7 ok 8 - setup 8 ok 9 - setup 9 ok 10 - merge-recursive simple ok 11 - merge-recursive result ok 60 - 12g: Testcase with two kinds of "relevant" renames ok 12 - fail if the index has unresolved entries ok 13 - merge-recursive remove conflict ok 14 - merge-recursive remove conflict not ok 61 - 12h: renaming a file within a renamed directory # TODO known breakage ok 15 - merge-recursive d/f simple ok 16 - merge-recursive result ok 17 - merge-recursive d/f conflict ok 18 - merge-recursive d/f conflict result ok 19 - merge-recursive d/f conflict the other way ok 20 - merge-recursive d/f conflict result the other way ok 21 - merge-recursive d/f conflict ok 22 - merge-recursive d/f conflict result ok 23 - merge-recursive d/f conflict ok 62 - 12i: Directory rename causes rename-to-self ok 24 - merge-recursive d/f conflict result ok 25 - dir in working tree with symlink ancestor does not produce d/f conflict ok 26 - reset and 3-way merge ok 63 - 12j: Directory rename to root causes rename-to-self ok 27 - reset and bind merge ok 28 - merge-recursive w/ empty work tree - ours has rename ok 29 - merge-recursive w/ empty work tree - theirs has rename ok 30 - merge removes empty directories ok 64 - 12k: Directory rename with sibling causes rename-to-self ok 31 - merge-recursive simple w/submodule ok 32 - merge-recursive simple w/submodule result ok 33 - merge-recursive copy vs. rename ok 34 - merge-recursive rename vs. rename/symlink ok 65 - 12l (B into A): Rename into each other + add/add conflict ok 35 - merging with triple rename across D/F conflict ok 36 - merge-recursive remembers the names of all base trees ok 66 - 12l (A into B): Rename into each other + add/add conflict ok 67 - 12m: Change parent of renamed-dir to symlink on other side ok 37 - merge-recursive internal merge resolves to the sameness # passed all 37 test(s) 1..37 *** t6431-merge-criscross.sh *** ok 68 - 13a(conflict): messages for newly added files ok 69 - 13a(info): messages for newly added files ok 1 - setup repo with criss-cross history ok 2 - recursive merge between F and G does not cause segfault ok 70 - 13b(conflict): messages for transitive rename with conflicted content # passed all 2 test(s) 1..2 *** t6432-merge-recursive-space-options.sh *** ok 71 - 13b(info): messages for transitive rename with conflicted content ok 1 - setup ok 2 - naive merge fails ok 3 - --ignore-space-change makes merge succeed ok 4 - naive cherry-pick fails ok 5 - -Xignore-space-change makes cherry-pick succeed ok 72 - 13c(conflict): messages for rename/rename(1to1) via transitive rename ok 6 - --ignore-space-change: our w/s-only change wins ok 7 - --ignore-space-change: their real change wins over w/s ok 8 - --ignore-space-change: does not ignore new spaces ok 9 - --ignore-all-space drops their new spaces ok 10 - --ignore-all-space keeps our new spaces ok 11 - --ignore-space-at-eol # passed all 11 test(s) 1..11 *** t6433-merge-toplevel.sh *** ok 73 - 13c(info): messages for rename/rename(1to1) via transitive rename ok 74 - 13d(conflict): messages for rename/rename(1to1) via dual transitive rename ok 1 - setup ok 2 - merge an octopus into void ok 75 - 13d(info): messages for rename/rename(1to1) via dual transitive rename ok 3 - merge an octopus, fast-forward (ff) ok 76 - 13e: directory rename detection in recursive case # still have 2 known breakage(s) # passed all remaining 74 test(s) 1..76 ok 4 - merge octopus, non-fast-forward (ff) ok 5 - merge octopus, fast-forward (does not ff) ok 6 - merge octopus, non-fast-forward ok 7 - merge FETCH_HEAD octopus into void *** t6434-merge-recursive-rename-options.sh *** ok 8 - merge FETCH_HEAD octopus fast-forward (ff) ok 9 - merge FETCH_HEAD octopus non-fast-forward (ff) ok 1 - setup repo ok 2 - setup thresholds ok 3 - assumption for tests: rename detection with diff ok 4 - default similarity threshold is 50% ok 5 - low rename threshold ok 10 - merge FETCH_HEAD octopus fast-forward (does not ff) ok 6 - medium rename threshold ok 7 - high rename threshold ok 8 - exact renames only ok 9 - rename threshold is truncated ok 11 - merge FETCH_HEAD octopus non-fast-forward ok 12 - refuse two-project merge by default ok 10 - disabled rename detection ok 11 - last wins in --find-renames= --find-renames= ok 13 - refuse two-project merge by default, quit before --autostash happens ok 12 - --find-renames resets threshold ok 14 - two-project merge with --allow-unrelated-histories ok 13 - last wins in --no-renames --find-renames ok 14 - last wins in --find-renames --no-renames ok 15 - two-project merge with --allow-unrelated-histories with --autostash # passed all 15 test(s) 1..15 *** t6435-merge-sparse.sh *** ok 15 - assumption for further tests: trivial merge succeeds ok 16 - --find-renames rejects negative argument ok 17 - --find-renames rejects non-numbers ok 18 - rename-threshold= is a synonym for find-renames= ok 19 - last wins in --no-renames --rename-threshold= ok 20 - last wins in --rename-threshold= --no-renames ok 21 - --rename-threshold= rejects negative argument ok 22 - --rename-threshold= rejects non-numbers ok 1 - setup ok 2 - reset --hard works after the conflict ok 3 - is reset properly ok 23 - last wins in --rename-threshold= --find-renames= ok 4 - setup: conflict back ok 5 - Merge abort works after the conflict ok 6 - is aborted properly # passed all 6 test(s) 1..6 *** t6436-merge-overwrite.sh *** ok 24 - last wins in --find-renames= --rename-threshold= ok 25 - merge.renames disables rename detection ok 26 - merge.renames defaults to diff.renames ok 27 - merge.renames overrides diff.renames # passed all 27 test(s) 1..27 *** t6437-submodule-merge.sh *** ok 1 - setup ok 2 - will not overwrite untracked file ok 3 - will overwrite tracked file ok 4 - will not overwrite new file ok 5 - will not overwrite staged changes ok 1 - setup ok 6 - will not overwrite removed file ok 7 - will not overwrite re-added file ok 8 - will not overwrite removed file with staged changes ok 2 - setup for merge search ok 3 - merging should conflict for non fast-forward ok 9 - will not overwrite unstaged changes in renamed file ok 10 - will not overwrite untracked subtree ok 11 - will not overwrite untracked file in leading path ok 12 - will not overwrite untracked symlink in leading path ok 4 - finish setup for merge-search ok 13 - will not be confused by symlink in leading path ok 5 - merge with one side as a fast-forward of the other ok 14 - will not overwrite untracked file on unborn branch ok 15 - will not overwrite untracked file on unborn branch .git/MERGE_HEAD sanity etc. ok 16 - failed merge leaves unborn branch in the womb ok 17 - set up unborn branch and content ok 6 - merging should conflict for non fast-forward (resolution exists) ok 18 - will not clobber WT/index when merging into unborn # passed all 18 test(s) 1..18 *** t6438-submodule-directory-file-conflicts.sh *** ok 7 - merging should fail for ambiguous common parent ok 8 - merging should fail for changes that are backwards ok 9 - git submodule status should display the merge conflict properly with merge base ok 10 - git submodule status should display the merge conflict properly without merge-base ok 11 - merging with a modify/modify conflict between merge bases ok 12 - setup for recursive merge with submodule ok 13 - recursive merge with submodule ok 14 - setup file/submodule conflict ok 15 - file/submodule conflict ok 16 - file/submodule conflict; merge --abort works afterward ok 17 - setup directory/submodule conflict not ok 18 - directory/submodule conflict; keep submodule clean # TODO known breakage ok 19 - directory/submodule conflict; should not treat submodule files as untracked or in the way not ok 20 - directory/submodule conflict; merge --abort works afterward # TODO known breakage ok 21 - setup for null merge base ok 22 - merging should fail with no merge base # still have 2 known breakage(s) # passed all remaining 20 test(s) 1..22 *** t6439-merge-co-error-msgs.sh *** ok 1 - git_test_func: added submodule creates empty directory ok 1 - setup ok 2 - untracked files overwritten by merge (fast and non-fast forward) ok 3 - untracked files or local changes overwritten by merge ok 4 - cannot switch branches because of local changes ok 5 - not uptodate file porcelain checkout error ok 2 - git_test_func: added submodule leaves existing empty directory alone ok 6 - not_uptodate_dir porcelain checkout error # passed all 6 test(s) 1..6 *** t6500-gc.sh *** ok 1 - setup ok 2 - gc empty repository ok 3 - git_test_func: replace tracked file with submodule creates empty directory ok 3 - gc does not leave behind pid file ok 4 - gc --gobbledegook ok 5 - gc -h with invalid configuration ok 6 - gc is not aborted due to a stale symref ok 4 - git_test_func: replace directory with submodule ok 7 - gc --keep-largest-pack ok 5 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 8 - pre-auto-gc hook can stop auto gc ok 9 - auto gc with too many loose objects does not attempt to create bitmaps ok 6 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 10 - gc --no-quiet ok 11 # skip with TTY: gc --no-quiet (missing TTY) ok 12 - gc --quiet ok 13 - gc.reflogExpire{Unreachable,}=never skips "expire" via "gc" ok 14 - one of gc.reflogExpire{Unreachable,}=never does not skip "expire" via "gc" ok 7 - git_test_func: replace submodule with a directory must fail ok 15 - gc.repackFilter launches repack with a filter ok 16 - gc.repackFilterTo store filtered out objects ok 8 - git_test_func: replace submodule containing a .git directory with a directory must fail ok 17 - git gc generates a cruft pack ok 18 - git -c gc.cruftPacks=true gc generates a cruft pack not ok 9 - git_test_func: replace submodule with a file must fail # TODO known breakage ok 19 - git -c gc.cruftPacks=false gc --cruft generates a cruft pack ok 20 - git gc --no-cruft does not generate a cruft pack not ok 10 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 21 - git -c gc.cruftPacks=false gc does not generate a cruft pack ok 22 - git -c gc.cruftPacks=true gc --no-cruft does not generate a cruft pack ok 11 - git_test_func: modified submodule does not update submodule work tree ok 23 - --keep-largest-pack ignores cruft packs ok 24 - gc.bigPackThreshold ignores cruft packs ok 25 - setup for --max-cruft-size tests ok 12 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 26 - --max-cruft-size sets appropriate repack options ok 27 - gc.maxCruftSize sets appropriate repack options ok 28 - --expire-to sets repack --expire-to ok 13 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 29 - --expire-to with --prune=now sets repack --expire-to ok 30 - --expire-to with --no-cruft sets repack -A ok 14 - git_test_func: added submodule doesn't remove untracked unignored file with same name ok 31 - --expire-to with --no-cruft sets repack -a ok 32 - background auto gc does not run if gc.log is present and recent but does if it is old ok 33 - background auto gc respects lock for all operations ok 15 - git_test_func: added submodule creates empty directory ok 34 - --detach overrides gc.autoDetach=false ok 35 - --no-detach overrides gc.autoDetach=true # passed all 35 test(s) 1..35 *** t6501-freshen-objects.sh *** ok 16 - git_test_func: added submodule leaves existing empty directory alone ok 1 - make repo completely empty (loose) ok 2 - disable reflogs (loose) ok 3 - setup basic history (loose) ok 4 - create and abandon some objects (loose) ok 5 - simulate time passing (loose) ok 6 - start writing new commit with old blob (loose) ok 7 - simultaneous gc (loose) ok 8 - finish writing out commit (loose) ok 9 - repository passes fsck (loose) ok 10 - abandon objects again (loose) ok 11 - start writing new commit with same tree (loose) ok 12 - simultaneous gc (loose) ok 13 - finish writing out commit (loose) ok 17 - git_test_func: replace tracked file with submodule creates empty directory ok 14 - make repo completely empty (repack) ok 15 - disable reflogs (repack) ok 16 - setup basic history (repack) ok 17 - create and abandon some objects (repack) ok 18 - simulate time passing (repack) ok 19 - start writing new commit with old blob (repack) ok 20 - simultaneous gc (repack) ok 21 - finish writing out commit (repack) ok 22 - repository passes fsck (repack) ok 23 - abandon objects again (repack) ok 24 - start writing new commit with same tree (repack) ok 25 - simultaneous gc (repack) ok 26 - finish writing out commit (repack) ok 27 - make repo completely empty (bitmap) ok 28 - disable reflogs (bitmap) ok 18 - git_test_func: replace directory with submodule ok 29 - setup basic history (bitmap) ok 30 - create and abandon some objects (bitmap) ok 31 - simulate time passing (bitmap) ok 32 - start writing new commit with old blob (bitmap) ok 33 - simultaneous gc (bitmap) ok 34 - finish writing out commit (bitmap) ok 35 - repository passes fsck (bitmap) ok 36 - abandon objects again (bitmap) ok 37 - start writing new commit with same tree (bitmap) ok 19 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 38 - simultaneous gc (bitmap) ok 39 - finish writing out commit (bitmap) ok 40 - do not complain about existing broken links (commit) ok 41 - do not complain about existing broken links (tree) ok 42 - do not complain about existing broken links (tag) # passed all 42 test(s) 1..42 *** t6600-test-reach.sh *** ok 20 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 21 - git_test_func: replace submodule with a directory must fail ok 22 - git_test_func: replace submodule containing a .git directory with a directory must fail not ok 23 - git_test_func: replace submodule with a file must fail # TODO known breakage not ok 24 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 25 - git_test_func: modified submodule does not update submodule work tree ok 26 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 27 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 28 - git_test_func: added submodule doesn't remove untracked unignored file with same name ok 29 - git_test_func: added submodule creates empty directory ok 30 - git_test_func: added submodule leaves existing empty directory alone ok 31 - git_test_func: replace tracked file with submodule creates empty directory ok 32 - git_test_func: replace directory with submodule ok 33 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 1 - setup ok 2 - ref_newer:miss ok 3 - ref_newer:hit ok 4 - in_merge_bases:hit ok 34 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 5 - in_merge_bases:miss ok 6 - in_merge_bases_many:hit ok 7 - in_merge_bases_many:miss ok 8 - in_merge_bases_many:miss-heuristic ok 9 - is_descendant_of:hit ok 10 - is_descendant_of:miss ok 35 - git_test_func: replace submodule with a directory must fail ok 11 - get_merge_bases_many ok 12 - reduce_heads ok 13 - can_all_from_reach:hit ok 14 - can_all_from_reach:miss ok 15 - can_all_from_reach_with_flag: tags case ok 36 - git_test_func: replace submodule containing a .git directory with a directory must fail ok 16 - commit_contains:hit ok 17 - commit_contains:miss ok 18 - rev-list: basic topo-order not ok 37 - git_test_func: replace submodule with a file must fail # TODO known breakage ok 19 - rev-list: first-parent topo-order ok 20 - rev-list: range topo-order ok 21 - rev-list: range topo-order ok 22 - rev-list: first-parent range topo-order ok 23 - rev-list: ancestry-path topo-order ok 24 - rev-list: symmetric difference topo-order not ok 38 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 25 - get_reachable_subset:all ok 26 - get_reachable_subset:some ok 27 - get_reachable_subset:none ok 28 - for-each-ref ahead-behind:linear ok 29 - for-each-ref ahead-behind:all ok 30 - for-each-ref ahead-behind:some ok 39 - git_test_func: modified submodule does not update submodule work tree ok 31 - for-each-ref ahead-behind:some, multibase ok 32 - for-each-ref ahead-behind:none ok 33 - for-each-ref merged:linear ok 34 - for-each-ref merged:all ok 35 - for-each-ref ahead-behind:some ok 36 - for-each-ref merged:some, multibase ok 40 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 37 - for-each-ref merged:none ok 38 - get_branch_base_for_tip: none reach ok 39 - get_branch_base_for_tip: equal to tip ok 40 - get_branch_base_for_tip: all reach tip ok 41 - for-each-ref is-base: none reach ok 42 - for-each-ref is-base: all reach ok 41 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 43 - for-each-ref is-base: equal to tip ok 44 - for-each-ref is-base:multiple ok 42 - git_test_func: added submodule doesn't remove untracked unignored file with same name ok 45 - for-each-ref is-base: --sort # passed all 45 test(s) 1..45 *** t6601-path-walk.sh *** ok 43 - git_test_func: added submodule creates empty directory ok 1 - setup test repository ok 2 - all ok 44 - git_test_func: added submodule leaves existing empty directory alone ok 3 - indexed objects ok 4 - branches and indexed objects mix well ok 5 - base & topic, sparse ok 45 - git_test_func: replace tracked file with submodule creates empty directory ok 6 - topic only ok 7 - topic, not base ok 8 - fourth, blob-tag2, not base ok 9 - topic, not base, only blobs ok 10 - topic, not base, only commits ok 11 - topic, not base, only trees ok 12 - topic, not base, boundary ok 13 - topic, not base, boundary with pruning ok 46 - git_test_func: replace directory with submodule ok 14 - trees are reported exactly once # passed all 14 test(s) 1..14 *** t6700-tree-depth.sh *** ok 1 - create small tree ok 47 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 48 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 49 - git_test_func: replace submodule with a directory must fail ok 2 - create big tree ok 3 - limit recursion of git-archive ok 50 - git_test_func: replace submodule containing a .git directory with a directory must fail ok 4 - default limit for git-archive fails gracefully ok 5 - limit recursion of ls-tree -r ok 6 - default limit for ls-tree fails gracefully ok 7 - limit recursion of rev-list --objects ok 8 - default limit for rev-list fails gracefully ok 9 - limit recursion of diff-tree -r ok 10 - default limit for diff-tree fails gracefully # passed all 10 test(s) 1..10 *** t7001-mv.sh *** not ok 51 - git_test_func: replace submodule with a file must fail # TODO known breakage not ok 52 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 53 - git_test_func: modified submodule does not update submodule work tree ok 54 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 55 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 56 - git_test_func: added submodule doesn't remove untracked unignored file with same name # still have 8 known breakage(s) # passed all remaining 48 test(s) 1..56 *** t7002-mv-sparse-checkout.sh *** ok 1 - setup ok 2 - mv refuses to move sparse-to-sparse ok 3 - mv refuses to move sparse-to-sparse, ignores failure ok 4 - mv refuses to move non-sparse-to-sparse ok 5 - mv refuses to move sparse-to-non-sparse ok 6 - recursive mv refuses to move (possible) sparse ok 7 - recursive mv refuses to move sparse ok 8 - can move files to non-sparse dir ok 9 - refuse to move file to non-skip-worktree sparse path ok 10 - refuse to move out-of-cone directory without --sparse ok 11 - can move out-of-cone directory with --sparse ok 12 - refuse to move out-of-cone file without --sparse ok 13 - can move out-of-cone file with --sparse ok 14 - refuse to move sparse file to existing destination ok 15 - move sparse file to existing destination with --force and --sparse ok 16 - move clean path from in-cone to out-of-cone ok 17 - move clean path from in-cone to out-of-cone overwrite ok 18 - move clean path from in-cone to out-of-cone file overwrite ok 19 - move directory with one of the files overwrite ok 20 - move dirty path from in-cone to out-of-cone ok 21 - move dir from in-cone to out-of-cone ok 22 - move partially-dirty dir from in-cone to out-of-cone # passed all 22 test(s) 1..22 *** t7003-filter-branch.sh *** ok 1 - setup ok 2 - rewrite identically ok 3 - result is really identical ok 4 - rewrite bare repository identically ok 5 - result is really identical ok 6 - correct GIT_DIR while using -d ok 1 - mv -f refreshes updated index entry ok 7 - tree-filter works with -d ok 2 - prepare reference tree ok 3 - moving the file out of subdirectory ok 4 - commiting the change ok 5 - checking the commit ok 6 - moving the file back into subdirectory ok 7 - commiting the change ok 8 - checking the commit ok 9 - mv --dry-run does not move file ok 10 - checking -k on non-existing file ok 11 - checking -k on untracked file ok 12 - checking -k on multiple untracked files ok 13 - checking -f on untracked file with existing target ok 14 - moving to absent target with trailing slash ok 15 - clean up ok 8 - Fail if commit filter fails ok 16 - moving to existing untracked target with trailing slash ok 17 - moving to existing tracked target with trailing slash ok 18 - clean up ok 19 - adding another file ok 20 - moving whole subdirectory ok 21 - commiting the change ok 22 - checking the commit ok 23 - succeed when source is a prefix of destination ok 24 - moving whole subdirectory into subdirectory ok 25 - commiting the change ok 26 - checking the commit ok 27 - do not move directory over existing directory ok 28 - rename directory to non-existing directory ok 29 - move into "." ok 30 - Michael Cassar's test case ok 31 - Sergey Vlasov's test case ok 32 - absolute pathname ok 33 - absolute pathname outside should fail ok 34 - git mv to move multiple sources into a directory ok 35 - git mv should not change sha1 of moved cache entry ok 36 - git mv error on conflicted file ok 37 - git mv should overwrite symlink to a file ok 38 - git mv should overwrite file with a symlink ok 39 - check moved symlink ok 9 - rewrite, renaming a specific file ok 10 - test that the file was renamed ok 40 - setup submodule ok 41 - git mv cannot move a submodule in a file ok 42 - git mv moves a submodule with a .git directory and no .gitmodules ok 43 - git mv moves a submodule with a .git directory and .gitmodules ok 11 - rewrite, renaming a specific directory ok 12 - test that the directory was renamed ok 44 - git mv moves a submodule with gitfile ok 45 - mv does not complain when no .gitmodules file is found ok 46 - mv will error out on a modified .gitmodules file unless staged ok 47 - mv issues a warning when section is not found in .gitmodules ok 48 - mv --dry-run does not touch the submodule or .gitmodules ok 13 - populate --state-branch ok 49 - checking out a commit before submodule moved needs manual updates ok 14 - using --state-branch to skip already rewritten commits ok 50 - mv -k does not accidentally destroy submodules ok 51 - moving a submodule in nested directories ok 15 - rewrite one branch, keeping a side branch ok 16 - common ancestor is still common (unchanged) ok 17 - filter subdirectory only ok 18 - subdirectory filter result looks okay ok 52 - moving nested submodules not ok 53 - nonsense mv triggers assertion failure and partially updated index # TODO known breakage # still have 1 known breakage(s) # passed all remaining 52 test(s) 1..53 ok 19 - more setup *** t7004-tag.sh *** ok 1 - setup ok 2 - listing all tags in an empty tree should succeed ok 3 - listing all tags in an empty tree should output nothing ok 4 - sort tags, ignore case ok 5 - looking for a tag in an empty tree should fail ok 6 - creating a tag in an empty tree should fail ok 7 - creating a tag for HEAD in an empty tree should fail ok 8 - creating a tag for an unknown revision should fail ok 9 - creating a tag using default HEAD should succeed ok 10 - HEAD is forbidden as a tagname ok 11 - "git tag" can remove a tag named HEAD ok 12 - creating a tag with --create-reflog should create reflog ok 13 - annotated tag with --create-reflog has correct message ok 14 - --create-reflog does not create reflog on failure ok 15 - option core.logAllRefUpdates=always creates reflog ok 16 - listing all tags if one exists should succeed ok 17 - Multiple -l or --list options are equivalent to one -l option ok 18 - listing all tags if one exists should output that tag ok 19 - listing a tag using a matching pattern should succeed ok 20 - listing a tag with --ignore-case ok 21 - listing a tag using a matching pattern should output that tag ok 22 - listing tags using a non-matching pattern should succeed ok 23 - listing tags using a non-matching pattern should output nothing ok 24 - trying to create a tag with the name of one existing should fail ok 25 - trying to create a tag with a non-valid name should fail ok 26 - creating a tag using HEAD directly should succeed ok 27 - --force can create a tag with the name of one existing ok 28 - --force is moot with a non-existing tag name ok 29 - trying to delete an unknown tag should fail ok 30 - trying to delete tags without params should succeed and do nothing ok 31 - deleting two existing tags in one command should succeed ok 32 - creating a tag with the name of another deleted one should succeed ok 33 - trying to delete two tags, existing and not, should fail in the 2nd ok 34 - trying to delete an already deleted tag should fail ok 35 - listing all tags should print them ordered ok 36 - listing tags with substring as pattern must print those matching ok 37 - listing tags with a suffix as pattern must print those matching ok 38 - listing tags with a prefix as pattern must print those matching ok 39 - listing tags using a name as pattern must print that one matching ok 40 - listing tags using a name as pattern must print that one matching ok 41 - listing tags with ? in the pattern should print those matching ok 42 - listing tags using v.* should print nothing because none have v. ok 20 - use index-filter to move into a subdirectory ok 43 - listing tags using v* should print only those having v ok 44 - tag -l can accept multiple patterns ok 45 - tag -l -l works, as our buggy documentation previously suggested ok 46 - listing tags in column ok 47 - listing tags in column with column.* ok 48 - listing tag with -n --column should fail ok 49 - listing tags -n in column with column.ui ignored ok 50 - a non-annotated tag created without parameters should point to HEAD ok 51 - trying to verify an unknown tag should fail ok 52 - trying to verify a non-annotated and non-signed tag should fail ok 53 - trying to verify many non-annotated or unknown tags, should fail ok 21 - stops when msg filter fails ok 54 - creating an annotated tag with -m message should succeed ok 55 - set up editor ok 56 - creating an annotated tag with -m message --edit should succeed ok 57 - creating an annotated tag with -F messagefile should succeed ok 58 - set up editor ok 59 - creating an annotated tag with -F messagefile --edit should succeed ok 60 - creating an annotated tag with -F - should succeed ok 61 - trying to create a tag with a non-existing -F file should fail ok 62 - trying to create tags giving both -m or -F options should fail ok 63 - creating a tag with an empty -m message should succeed ok 64 - creating a tag with an empty -F messagefile should succeed ok 65 - extra blanks in the message for an annotated tag should be removed ok 66 - creating a tag with blank -m message with spaces should succeed ok 67 - creating a tag with blank -F messagefile with spaces should succeed ok 68 - creating a tag with -F file of spaces and no newline should succeed ok 69 - creating a tag using a -F messagefile with #comments should succeed ok 70 - creating a tag with a #comment in the -m message should succeed ok 71 - creating a tag with #comments in the -F messagefile should succeed ok 72 - creating a tag with a file of #comment and no newline should succeed ok 73 - create tag with -m and --trailer ok 74 - list tag extracting trailers ok 75 - create tag with -F and --trailer ok 76 - create tag with -m and --trailer and --edit ok 77 - create tag with -F and --trailer and --edit ok 78 - create annotated tag and force editor when only --trailer is given ok 79 - bad editor causes panic when only --trailer is given ok 80 - listing the one-line message of a non-signed tag should succeed ok 22 - author information is preserved ok 81 - The -n 100 invocation means -n --list 100, not -n100 ok 82 - listing the zero-lines message of a non-signed tag should succeed ok 83 - listing many message lines of a non-signed tag should succeed ok 84 - annotations for blobs are empty ok 85 - git tag --format with ahead-behind ok 86 # skip trying to verify an annotated non-signed tag should fail (missing GPG) ok 87 # skip trying to verify a file-annotated non-signed tag should fail (missing GPG) ok 88 # skip trying to verify two annotated non-signed tags should fail (missing GPG) ok 89 # skip creating a signed tag with -m message should succeed (missing GPG) ok 90 # skip sign with a given key id (missing GPG) ok 91 # skip sign with an unknown id (1) (missing GPG) ok 92 # skip sign with an unknown id (2) (missing GPG) ok 93 # skip -u implies signed tag (missing GPG) ok 94 # skip creating a signed tag with -F messagefile should succeed (missing GPG) ok 95 # skip creating a signed tag with -F - should succeed (missing GPG) ok 96 # skip -s implies annotated tag (missing GPG) ok 97 # skip git tag -s implied if configured with tag.forcesignannotated (missing GPG) ok 98 # skip lightweight with no message when configured with tag.forcesignannotated (missing GPG) ok 99 # skip git tag -a disable configured tag.forcesignannotated (missing GPG) ok 100 # skip git tag --sign enable GPG sign (missing GPG) ok 101 # skip git tag configured tag.gpgsign enables GPG sign (missing GPG) ok 102 # skip git tag --no-sign configured tag.gpgsign skip GPG sign (missing GPG) ok 103 # skip trying to create a signed tag with non-existing -F file should fail (missing GPG) ok 104 # skip verifying a signed tag should succeed (missing GPG) ok 105 # skip verifying two signed tags in one command should succeed (missing GPG) ok 106 # skip verifying many signed and non-signed tags should fail (missing GPG) ok 107 # skip verifying a forged tag should fail (missing GPG) ok 108 # skip verifying a proper tag with --format pass and format accordingly (missing GPG) ok 109 # skip verifying a forged tag with --format should fail silently (missing GPG) ok 110 # skip creating a signed tag with an empty -m message should succeed (missing GPG) ok 111 # skip creating a signed tag with an empty -F messagefile should succeed (missing GPG) ok 112 # skip extra blanks in the message for a signed tag should be removed (missing GPG) ok 113 # skip creating a signed tag with a blank -m message should succeed (missing GPG) ok 114 # skip creating a signed tag with blank -F file with spaces should succeed (missing GPG) ok 115 # skip creating a signed tag with spaces and no newline should succeed (missing GPG) ok 116 # skip signed tag with embedded PGP message (missing GPG) ok 117 # skip creating a signed tag with a -F file with #comments should succeed (missing GPG) ok 118 # skip creating a signed tag with #commented -m message should succeed (missing GPG) ok 119 # skip creating a signed tag with #commented -F messagefile should succeed (missing GPG) ok 120 # skip creating a signed tag with a #comment and no newline should succeed (missing GPG) ok 121 # skip listing the one-line message of a signed tag should succeed (missing GPG) ok 122 # skip listing the zero-lines message of a signed tag should succeed (missing GPG) ok 123 # skip listing many message lines of a signed tag should succeed (missing GPG) ok 124 # skip creating a signed tag pointing to a tree should succeed (missing GPG) ok 125 # skip creating a signed tag pointing to a blob should succeed (missing GPG) ok 126 # skip creating a signed tag pointing to another tag should succeed (missing GPG) ok 127 # skip creating a signed tag with rfc1991 (missing RFC1991,GPG of GPG,RFC1991) ok 128 # skip reediting a signed tag body omits signature (missing RFC1991,GPG of GPG,RFC1991) ok 129 # skip verifying rfc1991 signature (missing RFC1991,GPG of GPG,RFC1991) ok 130 # skip list tag with rfc1991 signature (missing RFC1991,GPG of GPG,RFC1991) ok 131 # skip verifying rfc1991 signature without --rfc1991 (missing RFC1991,GPG of GPG,RFC1991) ok 132 # skip list tag with rfc1991 signature without --rfc1991 (missing RFC1991,GPG of GPG,RFC1991) ok 133 # skip reediting a signed tag body omits signature (missing RFC1991,GPG of GPG,RFC1991) ok 134 # skip git tag -s fails if gpg is misconfigured (bad key) (missing GPG) ok 135 # skip git tag -s fails if gpg is misconfigured (bad signature format) (missing GPG) ok 136 # skip git verifies tag is valid with double signature (missing GPG) ok 137 # skip git tag -s fails if gpgsm is misconfigured (bad key) (missing GPGSM) ok 138 # skip git tag -s fails if gpgsm is misconfigured (bad signature format) (missing GPGSM) ok 139 # skip verify signed tag fails when public key is not present (missing GPG) ok 140 - git tag -a fails if tag annotation is empty ok 141 - message in editor has initial comment ok 142 - message in editor has initial comment: first line ok 143 - message in editor has initial comment: remainder ok 144 - overwriting an annotated tag should use its previous body ok 145 - filename for the message is relative to cwd ok 146 - filename for the message is relative to cwd ok 147 - creating second commit and tag ok 148 - creating third commit without tag ok 149 - checking that first commit is in all tags (hash) ok 150 - checking that first commit is in all tags (tag) ok 151 - checking that first commit is in all tags (relative) ok 152 - checking that first commit is not listed in any tag with --no-contains (hash) ok 153 - checking that first commit is in all tags (tag) ok 154 - checking that first commit is in all tags (relative) ok 155 - checking that second commit only has one tag ok 156 - inverse of the last test, with --no-contains ok 157 - checking that third commit has no tags ok 158 - conversely --no-contains on the third commit lists all tags ok 23 - remove a certain author's commits ok 159 - creating simple branch ok 160 - checking that branch head only has one tag ok 161 - checking that branch head with --no-contains lists all but one tag ok 162 - merging original branch into this branch ok 163 - checking that original branch head has one tag now ok 164 - checking that original branch head with --no-contains lists all but one tag now ok 165 - checking that initial commit is in all tags ok 166 - checking that --contains can be used in non-list mode ok 167 - checking that initial commit is in all tags with --no-contains ok 24 - barf on invalid name ok 168 - mixing incompatibles modes and options is forbidden ok 169 - mixing incompatible modes with --contains is forbidden ok 170 - Doing 'git tag --list-like --contains is permitted ok 171 - mixing incompatible modes with --with is forbidden ok 172 - Doing 'git tag --list-like --with is permitted ok 173 - mixing incompatible modes with --no-contains is forbidden ok 25 - "map" works in commit filter ok 174 - Doing 'git tag --list-like --no-contains is permitted ok 175 - mixing incompatible modes with --without is forbidden ok 176 - Doing 'git tag --list-like --without is permitted ok 177 - mixing incompatible modes with --merged is forbidden ok 178 - Doing 'git tag --list-like --merged is permitted ok 179 - mixing incompatible modes with --no-merged is forbidden ok 180 - Doing 'git tag --list-like --no-merged is permitted ok 181 - mixing incompatible modes with --points-at is forbidden ok 182 - Doing 'git tag --list-like --points-at is permitted ok 183 - --points-at can be used in non-list mode ok 184 - --points-at is a synonym for --points-at HEAD ok 185 - --points-at finds lightweight tags ok 186 - --points-at finds annotated tags of commits ok 187 - --points-at finds annotated tags of tags ok 188 - recursive tagging should give advice ok 26 - Name needing quotes ok 189 - multiple --points-at are OR-ed together ok 190 - lexical sort ok 191 - version sort ok 192 - reverse version sort ok 193 - reverse lexical sort ok 194 - configured lexical sort ok 195 - option override configured sort ok 196 - --no-sort cancels config sort keys ok 197 - --no-sort cancels command line sort keys ok 198 - --no-sort without subsequent --sort prints expected tags ok 199 - invalid sort parameter on command line ok 200 - invalid sort parameter in configuratoin ok 201 - version sort handles empty value for versionsort.{prereleaseSuffix,suffix} ok 202 - version sort with prerelease reordering ok 203 - reverse version sort with prerelease reordering ok 204 - version sort with prerelease reordering and common leading character ok 205 - version sort with prerelease reordering, multiple suffixes and common leading character ok 27 - Subdirectory filter with disappearing trees ok 206 - version sort with prerelease reordering, multiple suffixes match the same tag ok 207 - version sort with prerelease reordering, multiple suffixes match starting at the same position ok 208 - version sort with general suffix reordering ok 209 - versionsort.suffix overrides versionsort.prereleaseSuffix ok 210 - version sort with very long prerelease suffix ok 28 - Tag name filtering retains tag message ok 29 - Tag name filtering strips gpg signature ok 30 # skip Filtering retains message of gpg signed commit (missing GPG) ok 31 - Tag name filtering allows slashes in tag names ok 32 - setup --prune-empty comparisons ok 33 - Prune empty commits ok 211 - --contains and --no-contains work in a deep repo ok 212 - --format should list tags as per format given ok 213 - --format --omit-empty works ok 214 - git tag -l with --format="%(rest)" must fail ok 215 - set up color tests ok 216 - %(color) omitted without tty ok 34 - prune empty collapsed merges ok 217 # skip %(color) present with tty (missing TTY) ok 218 - --color overrides auto-color ok 219 - color.ui=always overrides auto-color ok 220 - setup --merged test tags ok 221 - --merged can be used in non-list mode ok 222 - --merged is compatible with --no-merged ok 223 - --merged shows merged tags ok 224 - --no-merged show unmerged tags ok 35 - prune empty works even without index/tree filters ok 225 - --no-merged can be used in non-list mode ok 226 - ambiguous branch/tags not marked ok 227 - --contains combined with --no-contains ok 228 - Does --[no-]contains stop at commits? Yes! ok 229 - If tag is created then tag message file is unlinked ok 230 - If tag cannot be created then tag message file is not unlinked # passed all 230 test(s) 1..230 *** t7005-editor.sh *** ok 1 - determine default editor ok 36 - --prune-empty is able to prune root commit ok 2 - setup ok 3 - dumb should error out when falling back on vi ok 4 - dumb should prefer EDITOR to VISUAL ok 5 - Using vi ok 6 - Using EDITOR ok 7 - Using VISUAL ok 8 - Using core_editor ok 9 - Using GIT_EDITOR ok 37 - --prune-empty is able to prune entire branch ok 10 - Using vi (override) ok 11 - Using EDITOR (override) ok 12 - Using VISUAL (override) ok 13 - Using core_editor (override) ok 14 - Using GIT_EDITOR (override) ok 15 - editor with a space ok 16 - core.editor with a space # passed all 16 test(s) 1..16 *** t7006-pager.sh *** ok 1 - determine default pager ok 2 - setup ok 38 - --remap-to-ancestor with filename filters ok 3 # skip some commands use a pager (missing TTY) ok 4 # skip pager runs from subdir (missing TTY) ok 5 # skip LESS and LV envvars are set for pagination (missing TTY) ok 6 # skip LESS and LV envvars set by git-sh-setup (missing TTY of !MINGW,TTY) ok 7 # skip some commands do not use a pager (missing TTY) ok 8 - no pager when stdout is a pipe ok 9 - no pager when stdout is a regular file ok 10 # skip git --paginate rev-list uses a pager (missing TTY) ok 11 - no pager even with --paginate when stdout is a pipe ok 12 # skip no pager with --no-pager (missing TTY) ok 13 # skip configuration can disable pager (missing TTY) ok 14 # skip configuration can enable pager (from subdir) (missing TTY) ok 15 # skip git tag -l defaults to paging (missing TTY) ok 16 # skip git tag -l respects pager.tag (missing TTY) ok 17 # skip git tag -l respects --no-pager (missing TTY) ok 18 # skip git tag with no args defaults to paging (missing TTY) ok 19 # skip git tag with no args respects pager.tag (missing TTY) ok 20 # skip git tag --contains defaults to paging (missing TTY) ok 21 # skip git tag --contains respects pager.tag (missing TTY) ok 22 # skip git tag -a defaults to not paging (missing TTY) ok 23 # skip git tag -a ignores pager.tag (missing TTY) ok 24 # skip git tag -a respects --paginate (missing TTY) ok 25 # skip git tag as alias ignores pager.tag with -a (missing TTY) ok 26 # skip git tag as alias respects pager.tag with -l (missing TTY) ok 27 # skip git branch defaults to paging (missing TTY) ok 28 # skip git branch respects pager.branch (missing TTY) ok 29 # skip git branch respects --no-pager (missing TTY) ok 30 # skip git branch --edit-description ignores pager.branch (missing TTY) ok 31 # skip git branch --set-upstream-to ignores pager.branch (missing TTY) ok 32 # skip git config ignores pager.config when setting (missing TTY) ok 33 # skip git config --edit ignores pager.config (missing TTY) ok 34 # skip git config --get ignores pager.config (missing TTY) ok 35 # skip git config --get-urlmatch defaults to paging (missing TTY) ok 36 # skip git config --get-all respects pager.config (missing TTY) ok 37 # skip git config --list defaults to paging (missing TTY) ok 38 - tests can detect color ok 39 - no color when stdout is a regular file ok 40 # skip color when writing to a pager (missing TTY) ok 41 # skip colors are suppressed by color.pager (missing TTY) ok 42 - color when writing to a file intended for a pager ok 43 # skip colors are sent to pager for external commands (missing TTY) ok 44 - setup: some aliases ok 45 # skip git log - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 46 # skip git log - PAGER overrides default pager (missing TTY) ok 47 # skip git log - repository-local core.pager setting overrides PAGER (missing TTY) ok 48 # skip git log - core.pager overrides PAGER from subdirectory (missing TTY) ok 49 # skip git log - GIT_PAGER overrides core.pager (missing TTY) ok 50 # skip git -p log - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 51 # skip git -p log - PAGER overrides default pager (missing TTY) ok 52 # skip git -p log - repository-local core.pager setting overrides PAGER (missing TTY) ok 53 # skip git -p log - core.pager overrides PAGER from subdirectory (missing TTY) ok 54 # skip git -p log - GIT_PAGER overrides core.pager (missing TTY) ok 55 # skip git aliasedlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 56 # skip git aliasedlog - PAGER overrides default pager (missing TTY) ok 57 # skip git aliasedlog - repository-local core.pager setting overrides PAGER (missing TTY) ok 58 # skip git aliasedlog - core.pager overrides PAGER from subdirectory (missing TTY) ok 59 # skip git aliasedlog - GIT_PAGER overrides core.pager (missing TTY) ok 60 # skip git -p aliasedlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 61 # skip git -p aliasedlog - PAGER overrides default pager (missing TTY) ok 62 # skip git -p aliasedlog - repository-local core.pager setting overrides PAGER (missing TTY) ok 63 # skip git -p aliasedlog - core.pager overrides PAGER from subdirectory (missing TTY) ok 64 # skip git -p aliasedlog - GIT_PAGER overrides core.pager (missing TTY) ok 65 # skip git -p true - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 66 # skip git -p true - PAGER overrides default pager (missing TTY) ok 67 # skip git -p true - repository-local core.pager setting overrides PAGER (missing TTY) ok 68 # skip git -p true - core.pager overrides PAGER from subdirectory (missing TTY) ok 69 # skip git -p true - GIT_PAGER overrides core.pager (missing TTY) ok 70 # skip git -p request-pull - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 71 # skip git -p request-pull - PAGER overrides default pager (missing TTY) ok 72 # skip git -p request-pull - repository-local core.pager setting overrides PAGER (missing TTY) ok 73 # skip git -p request-pull - core.pager overrides PAGER from subdirectory (missing TTY) ok 74 # skip git -p request-pull - GIT_PAGER overrides core.pager (missing TTY) ok 75 # skip git -p - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 76 # skip git -p - PAGER overrides default pager (missing TTY) ok 77 # skip git -p - repository-local core.pager setting is not used (missing TTY) ok 78 # skip git -p - GIT_PAGER overrides core.pager (missing TTY) ok 79 # skip core.pager in repo config works and retains cwd (missing TTY) ok 80 # skip core.pager is found via alias in subdirectory (missing TTY) ok 81 # skip no pager for 'git -p nonsense' (missing TTY) ok 82 # skip git shortlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 83 # skip git shortlog - PAGER overrides default pager (missing TTY) ok 84 # skip git shortlog - repository-local core.pager setting overrides PAGER (missing TTY) ok 85 # skip git shortlog - core.pager overrides PAGER from subdirectory (missing TTY) ok 86 # skip git shortlog - GIT_PAGER overrides core.pager (missing TTY) ok 87 - setup: configure shortlog not to paginate ok 88 # skip no pager for 'git shortlog' (missing TTY) ok 89 # skip git shortlog - core.pager is not used from subdirectory (missing TTY) ok 90 # skip git -p shortlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY) ok 91 # skip git -p shortlog - core.pager overrides PAGER from subdirectory (missing TTY) ok 92 # skip git -p apply ok 25 - test resetting the index at give paths ok 26 - resetting an unmodified path is a no-op ok 27 - --mixed refreshes the index ok 28 - --mixed --[no-]refresh sets refresh behavior ok 29 - --mixed preserves skip-worktree ok 30 - resetting specific path that is unmerged ok 31 - disambiguation (1) ok 32 - disambiguation (2) ok 33 - disambiguation (3) ok 34 - disambiguation (4) ok 35 - reset with paths accepts tree ok 36 - reset -N keeps removed files as intent-to-add ok 37 - reset --mixed sets up work tree ok 38 - reset handles --end-of-options # passed all 38 test(s) 1..38 *** t7103-reset-bare.sh *** ok 1 - setup non-bare ok 2 - "hard" reset requires a worktree ok 3 - "merge" reset requires a worktree ok 4 - "keep" reset requires a worktree ok 5 - "mixed" reset is ok ok 6 - "soft" reset is ok ok 7 - hard reset works with GIT_WORK_TREE ok 8 - setup bare ok 9 - "hard" reset is not allowed in bare ok 10 - "merge" reset is not allowed in bare ok 11 - "keep" reset is not allowed in bare ok 12 - "mixed" reset is not allowed in bare ok 13 - "soft" reset is allowed in bare # passed all 13 test(s) 1..13 *** t7104-reset-hard.sh *** ok 1 - setup ok 2 - reset --hard should restore unmerged ones ok 3 - reset --hard did not corrupt index or cache-tree # passed all 3 test(s) 1..3 *** t7105-reset-patch.sh *** ok 1 - setup ok 2 - saying "n" does nothing ok 3 - git reset -p HEAD ok 4 - git reset -p @ ok 5 - git reset -p ok 6 - git reset -p HEAD^ ok 7 - git reset -p HEAD^^{tree} ok 8 - git reset -p HEAD^:dir/foo (blob fails) ok 9 - git reset -p aaaaaaaa (unknown fails) ok 10 - git reset -p dir ok 11 - git reset -p -- foo (inside dir) ok 12 - git reset -p HEAD^ -- dir ok 13 - none of this moved HEAD # passed all 13 test(s) 1..13 *** t7106-reset-unborn-branch.sh *** ok 1 - setup ok 2 - reset ok 3 - reset HEAD ok 4 - reset $file ok 5 - reset -p ok 6 - reset --soft is a no-op ok 7 - reset --hard # passed all 7 test(s) 1..7 *** t7107-reset-pathspec-file.sh *** ok 1 - setup ok 2 - --pathspec-from-file from stdin ok 3 - --pathspec-from-file from file ok 4 - NUL delimiters ok 5 - LF delimiters ok 6 - no trailing delimiter ok 7 - CRLF delimiters ok 8 - quotes ok 9 - quotes not compatible with --pathspec-file-nul ok 10 - only touches what was listed ok 11 - error conditions # passed all 11 test(s) 1..11 *** t7110-reset-merge.sh *** ok 1 - setup ok 2 - reset --merge is ok with changes in file it does not touch ok 3 - reset --merge is ok when switching back ok 4 - reset --keep is ok with changes in file it does not touch ok 5 - reset --keep is ok when switching back ok 6 - reset --merge discards changes added to index (1) ok 7 - reset --merge is ok again when switching back (1) ok 8 - reset --keep fails with changes in index in files it touches ok 9 - reset --merge discards changes added to index (2) ok 10 - reset --merge is ok again when switching back (2) ok 11 - reset --keep keeps changes it does not touch ok 12 - reset --keep keeps changes when switching back ok 13 - reset --merge fails with changes in file it touches ok 14 - reset --keep fails with changes in file it touches ok 15 - setup 3 different branches ok 16 - "reset --merge HEAD^" is ok with pending merge ok 17 - "reset --keep HEAD^" fails with pending merge ok 18 - "reset --merge HEAD" is ok with pending merge ok 19 - "reset --keep HEAD" fails with pending merge ok 20 - --merge is ok with added/deleted merge ok 21 - --keep fails with added/deleted merge # passed all 21 test(s) 1..21 *** t7111-reset-table.sh *** ok 1 - creating initial commits ok 2 - check: A B C D --soft A B D ok 3 - check: A B C D --mixed A D D ok 4 - check: A B C D --hard D D D ok 5 - check: A B C D --merge XXXXX ok 6 - check: A B C D --keep XXXXX ok 7 - check: A B C C --soft A B C ok 8 - check: A B C C --mixed A C C ok 9 - check: A B C C --hard C C C ok 10 - check: A B C C --merge XXXXX ok 11 - check: A B C C --keep A C C ok 12 - check: B B C D --soft B B D ok 13 - check: B B C D --mixed B D D ok 14 - check: B B C D --hard D D D ok 15 - check: B B C D --merge D D D ok 16 - check: B B C D --keep XXXXX ok 17 - check: B B C C --soft B B C ok 18 - check: B B C C --mixed B C C ok 19 - check: B B C C --hard C C C ok 20 - check: B B C C --merge C C C ok 21 - check: B B C C --keep B C C ok 22 - check: B C C D --soft B C D ok 23 - check: B C C D --mixed B D D ok 24 - check: B C C D --hard D D D ok 25 - check: B C C D --merge XXXXX ok 26 - check: B C C D --keep XXXXX ok 27 - check: B C C C --soft B C C ok 28 - check: B C C C --mixed B C C ok 29 - check: B C C C --hard C C C ok 30 - check: B C C C --merge B C C ok 31 - check: B C C C --keep B C C ok 32 - setting up branches to test with unmerged entries ok 33 - check: X U B C --soft XXXXX ok 34 - check: X U B C --mixed X C C ok 35 - check: X U B C --hard C C C ok 36 - check: X U B C --merge C C C ok 37 - check: X U B C --keep XXXXX ok 38 - check: X U B B --soft XXXXX ok 39 - check: X U B B --mixed X B B ok 40 - check: X U B B --hard B B B ok 41 - check: X U B B --merge B B B ok 42 - check: X U B B --keep XXXXX # passed all 42 test(s) 1..42 *** t7112-reset-submodule.sh *** ok 1 - git reset --keep --recurse-submodules: added submodule is checked out ok 2 - git reset --keep --recurse-submodules: added submodule is checked out in empty dir ok 3 - git reset --keep --recurse-submodules: replace tracked file with submodule checks out submodule ok 4 - git reset --keep --recurse-submodules: replace directory with submodule ok 5 - git reset --keep --recurse-submodules: nested submodules are checked out ok 6 - git reset --keep --recurse-submodules: removed submodule removes submodules working tree ok 7 - git reset --keep --recurse-submodules: removed submodule absorbs submodules .git directory ok 8 - git reset --keep --recurse-submodules: replace submodule with a file not ok 9 - git reset --keep --recurse-submodules: replace submodule with a file must fail with untracked files # TODO known breakage ok 10 - git reset --keep --recurse-submodules: worktrees of nested submodules are removed ok 11 - git reset --keep --recurse-submodules: modified submodule updates submodule work tree ok 12 - git reset --keep --recurse-submodules: updating to a missing submodule commit fails ok 13 - git reset --keep --recurse-submodules: submodule branch is not changed, detach HEAD instead ok 14 - git reset --keep --recurse-submodules: added submodule doesn't remove untracked file with same name ok 15 - git reset --keep --recurse-submodules: added submodule removes an untracked ignored file not ok 16 - git reset --keep --recurse-submodules: replace submodule with a directory # TODO known breakage not ok 17 - git reset --keep --recurse-submodules: replace submodule containing a .git directory with a directory must absorb the git dir # TODO known breakage ok 18 - git reset --keep --recurse-submodules: replace submodule with a file works ignores ignored files in submodule ok 19 - git -c submodule.recurse=true reset --keep: modified submodule updates submodule work tree ok 20 - git reset --keep --recurse-submodules: modified submodule updates submodule recursively ok 21 - git reset --hard --recurse-submodules: added submodule is checked out ok 22 - git reset --hard --recurse-submodules: added submodule is checked out in empty dir ok 23 - git reset --hard --recurse-submodules: replace tracked file with submodule checks out submodule ok 24 - git reset --hard --recurse-submodules: replace directory with submodule ok 25 - git reset --hard --recurse-submodules: nested submodules are checked out ok 26 - git reset --hard --recurse-submodules: removed submodule removes submodules working tree ok 27 - git reset --hard --recurse-submodules: removed submodule absorbs submodules .git directory ok 28 - git reset --hard --recurse-submodules: replace submodule with a file not ok 29 - git reset --hard --recurse-submodules: replace submodule with a file must fail with untracked files # TODO known breakage ok 30 - git reset --hard --recurse-submodules: worktrees of nested submodules are removed ok 31 - git reset --hard --recurse-submodules: modified submodule updates submodule work tree ok 32 - git reset --hard --recurse-submodules: updating to a missing submodule commit fails ok 33 - git reset --hard --recurse-submodules: submodule branch is not changed, detach HEAD instead ok 34 - git reset --hard --recurse-submodules: added submodule does remove untracked unignored file with same name when forced ok 35 - git reset --hard --recurse-submodules: replace submodule with a directory ok 36 - git reset --hard --recurse-submodules: replace submodule containing a .git directory with a directory must fail ok 37 - git reset --hard --recurse-submodules: replace submodule with a file ignoring ignored files ok 38 - git reset --hard --recurse-submodules: modified submodule does update submodule work tree from invalid commit ok 39 - git reset --hard --recurse-submodules: updating submodules fixes .git links ok 40 - git reset --hard --recurse-submodules: changed submodule worktree is reset ok 41 - git_test_func: added submodule creates empty directory ok 42 - git_test_func: added submodule leaves existing empty directory alone ok 43 - git_test_func: replace tracked file with submodule creates empty directory ok 44 - git_test_func: replace directory with submodule ok 45 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 46 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 47 - git_test_func: replace submodule with a directory must fail ok 48 - git_test_func: replace submodule containing a .git directory with a directory must fail not ok 49 - git_test_func: replace submodule with a file must fail # TODO known breakage not ok 50 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 51 - git_test_func: modified submodule does not update submodule work tree ok 52 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 53 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 54 - git_test_func: added submodule doesn't remove untracked unignored file with same name ok 1 - core.untrackedCache is unset ok 2 - setup ok 3 - untracked cache is empty ok 4 - status first time (empty cache) ok 5 - untracked cache after first status ok 6 - status second time (fully populated cache) ok 7 - untracked cache after second status ok 8 - untracked cache is bypassed with -uall ok 9 - untracked cache remains after bypass ok 10 - if -uall is configured, untracked cache gets populated by default ok 55 - git_test_func: added submodule creates empty directory ok 11 - if -uall was configured, untracked cache is populated ok 12 - if -uall is configured, untracked cache is used by default ok 13 - if -uall is configured, untracked cache is bypassed with -unormal ok 14 - repopulate untracked cache for -unormal ok 15 - modify in root directory, one dir invalidation ok 16 - verify untracked cache dump ok 17 - new .gitignore invalidates recursively ok 18 - verify untracked cache dump ok 19 - new info/exclude invalidates everything ok 20 - verify untracked cache dump ok 56 - git_test_func: added submodule leaves existing empty directory alone ok 21 - move two from tracked to untracked ok 22 - status after the move ok 23 - verify untracked cache dump ok 24 - move two from untracked to tracked ok 25 - status after the move ok 26 - verify untracked cache dump ok 27 - set up for sparse checkout testing ok 28 - status after commit ok 29 - untracked cache correct after commit ok 30 - set up sparse checkout ok 31 - create/modify files, some of which are gitignored ok 57 - git_test_func: replace tracked file with submodule creates empty directory ok 32 - test sparse status with untracked cache ok 33 - untracked cache correct after status ok 34 - test sparse status again with untracked cache ok 35 - set up for test of subdir and sparse checkouts ok 36 - test sparse status with untracked cache and subdir ok 37 - verify untracked cache dump (sparse/subdirs) ok 38 - test sparse status again with untracked cache and subdir ok 39 - move entry in subdir from untracked to cached ok 40 - move entry in subdir from cached to untracked ok 41 - --no-untracked-cache removes the cache ok 58 - git_test_func: replace directory with submodule ok 42 - git status does not change anything ok 43 - setting core.untrackedCache to true and using git status creates the cache ok 44 - using --no-untracked-cache does not fail when core.untrackedCache is true ok 45 - setting core.untrackedCache to false and using git status removes the cache ok 46 - using --untracked-cache does not fail when core.untrackedCache is false ok 47 - setting core.untrackedCache to keep ok 48 - test ident field is working ok 49 - untracked cache survives a checkout ok 59 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 50 - untracked cache survives a commit ok 51 - teardown worktree ok 52 - setup worktree for symlink test ok 60 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 61 - git_test_func: replace submodule with a directory must fail ok 62 - git_test_func: replace submodule containing a .git directory with a directory must fail not ok 63 - git_test_func: replace submodule with a file must fail # TODO known breakage not ok 64 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 65 - git_test_func: modified submodule does not update submodule work tree ok 66 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 67 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 68 - git_test_func: added submodule doesn't remove untracked unignored file with same name ok 69 - git_test_func: added submodule creates empty directory ok 70 - git_test_func: added submodule leaves existing empty directory alone ok 71 - git_test_func: replace tracked file with submodule creates empty directory ok 72 - git_test_func: replace directory with submodule ok 73 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 74 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 53 - "status" after symlink replacement should be clean with UC=true not ok 75 - git_test_func: replace submodule with a directory must fail # TODO known breakage not ok 76 - git_test_func: replace submodule containing a .git directory with a directory must fail # TODO known breakage not ok 77 - git_test_func: replace submodule with a file must fail # TODO known breakage not ok 78 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 79 - git_test_func: modified submodule does not update submodule work tree ok 80 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 81 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 82 - git_test_func: added submodule does remove untracked unignored file with same name when forced # still have 12 known breakage(s) # passed all remaining 70 test(s) 1..82 *** t7113-post-index-change-hook.sh *** ok 1 - setup ok 2 - test status, add, commit, others trigger hook without flags set ok 3 - test checkout and reset trigger the hook ok 4 - test reset --mixed and update-index triggers the hook # passed all 4 test(s) 1..4 *** t7201-co.sh *** ok 1 - setup ok 2 - checkout from non-existing branch ok 3 - checkout with dirty tree without -m ok 4 - checkout with unrelated dirty tree without -m ok 5 - checkout -m with dirty tree ok 6 - checkout -m with dirty tree, renamed ok 7 - checkout -m with merge conflict ok 8 - format of merge conflict from checkout -m ok 9 - checkout --merge --conflict=diff3 ok 10 - switch to another branch while carrying a deletion ok 11 - checkout to detach HEAD (with advice declined) ok 12 - checkout to detach HEAD ok 13 - checkout to detach HEAD with branchname^ ok 14 - checkout to detach HEAD with :/message ok 15 - checkout to detach HEAD with HEAD^0 ok 16 - checkout with ambiguous tag/branch names ok 17 - checkout with ambiguous tag/branch names ok 18 - switch branches while in subdirectory ok 19 - checkout specific path while in subdirectory ok 20 - checkout w/--track sets up tracking ok 21 - checkout w/autosetupmerge=always sets up tracking ok 22 - checkout w/--track from non-branch HEAD fails ok 23 - checkout w/--track from tag fails ok 24 - detach a symbolic link HEAD ok 25 - checkout with --track fakes a sensible -b ok 26 - checkout with --track, but without -b, fails with too short tracked name ok 27 - checkout an unmerged path should fail ok 28 - checkout with an unmerged path can be ignored ok 29 - checkout unmerged stage ok 30 - checkout --ours is incompatible with switching ok 31 - checkout path with --merge from tree-ish is a no-no ok 32 - checkout with --merge ok 33 - checkout -m works after (mistaken) resolution ok 34 - checkout -m works after (mistaken) resolution to remove ok 35 - checkout with --merge, in diff3 -m style ok 36 - checkout --conflict=merge, overriding config ok 37 - checkout --conflict=diff3 ok 38 - checkout --conflict=diff3 --no-conflict does not merge ok 39 - checkout --conflict=diff3 --no-merge does not merge ok 40 - checkout --no-merge --conflict=diff3 does merge ok 54 - "status" after symlink replacement should be clean with UC=false ok 41 - checkout --merge --conflict=diff3 --no-conflict does merge ok 42 - checkout with invalid conflict style ok 55 - setup worktree for non-symlink test ok 43 - failing checkout -b should not break working tree ok 44 - switch out of non-branch ok 45 - custom merge driver with checkout -m ok 46 - tracking info copied with autoSetupMerge=inherit # passed all 46 test(s) 1..46 *** t7300-clean.sh *** ok 1 - setup ok 2 - git clean with skip-worktree .gitignore ok 3 - git clean ok 4 - git clean src/ ok 5 - git clean src/ src/ ok 6 - git clean with prefix ok 7 - git clean with relative prefix ok 8 - git clean with absolute path ok 9 - git clean with out of work tree relative path ok 10 - git clean with out of work tree absolute path ok 11 - git clean -d with prefix and path ok 12 - git clean symbolic link ok 13 - git clean with wildcard ok 14 - git clean -n ok 15 - git clean -d ok 16 - git clean -d src/ examples/ ok 17 - git clean -x ok 18 - git clean -d -x ok 19 - git clean -d -x with ignored tracked directory ok 20 - git clean -X ok 21 - git clean -d -X ok 22 - git clean -d -X with ignored tracked directory ok 23 - clean.requireForce defaults to true ok 24 - clean.requireForce ok 25 - clean.requireForce and -n ok 26 - clean.requireForce and -f ok 27 - clean.requireForce and --interactive ok 28 - core.excludesfile ok 29 - removal failure ok 30 - nested git work tree ok 31 - should clean things that almost look like git but are not ok 32 - should not clean submodules ok 33 - should avoid cleaning possible submodules ok 34 - nested (empty) git should be kept ok 35 - nested bare repositories should be cleaned not ok 36 - nested (empty) bare repositories should be cleaned even when in .git # TODO known breakage not ok 37 - nested (non-empty) bare repositories should be cleaned even when in .git # TODO known breakage ok 38 - giving path in nested git work tree will NOT remove it ok 39 - giving path to nested .git will not remove it ok 40 - giving path to nested .git/ will NOT remove contents ok 41 - force removal of nested git work tree ok 42 - git clean -e ok 43 - git clean -d with an unreadable empty directory ok 44 - git clean -d respects pathspecs (dir is prefix of pathspec) ok 45 - git clean -d respects pathspecs (pathspec is prefix of dir) ok 46 - git clean -d skips untracked dirs containing ignored files ok 47 - git clean -d skips nested repo containing ignored files ok 48 - git clean handles being told what to clean ok 49 - git clean handles being told what to clean, with -d ok 50 - git clean works if a glob is passed without -d ok 51 - git clean works if a glob is passed with -d ok 52 # skip handle clean & core.longpaths = false nicely (missing MINGW) ok 53 - clean untracked paths by pathspec ok 54 - avoid traversing into ignored directories ok 55 - traverse into directories that may have ignored entries # still have 2 known breakage(s) # passed all remaining 53 test(s) 1..55 *** t7301-clean-interactive.sh *** ok 1 - setup ok 2 - git clean -i (c: clean hotkey) ok 3 - git clean -i (cl: clean prefix) ok 4 - git clean -i (quit) ok 5 - git clean -i (Ctrl+D) ok 6 - git clean -id (filter all) ok 7 - git clean -id (filter patterns) ok 8 - git clean -id (filter patterns 2) ok 9 - git clean -id (select - all) ok 10 - git clean -id (select - none) ok 11 - git clean -id (select - number) ok 12 - git clean -id (select - number 2) ok 13 - git clean -id (select - number 3) ok 14 - git clean -id (select - filenames) ok 15 - git clean -id (select - range) ok 16 - git clean -id (select - range 2) ok 17 - git clean -id (inverse select) ok 18 - git clean -id (ask) ok 19 - git clean -id (ask - Ctrl+D) ok 20 - git clean -id with prefix and path (filter) ok 21 - git clean -id with prefix and path (select by name) ok 22 - git clean -id with prefix and path (ask) ok 23 # skip git clean -i paints the header in HEADER color (missing TTY) # passed all 23 test(s) 1..23 *** t7400-submodule-basic.sh *** ok 1 - setup - enable local submodules ok 2 - submodule usage: -h ok 3 - submodule usage: --recursive ok 4 - submodule usage: status -- ok 5 - submodule usage: status --quiet ok 6 - submodule usage: status --cached ok 7 - submodule deinit works on empty repository ok 8 - setup - initial commit ok 9 - submodule init aborts on missing .gitmodules file ok 10 - submodule update aborts on missing .gitmodules file ok 11 - submodule update aborts on missing gitmodules url ok 12 - add aborts on repository with no commits ok 13 - status should ignore inner git repo when not added ok 14 - setup - repository in init subdirectory ok 15 - setup - commit with gitlink ok 16 - setup - hide init subdirectory ok 17 - setup - repository to add submodules to ok 18 - submodule add ok 19 - submodule add (absolute path) ok 20 - setup parent and one repository ok 21 - redirected submodule add does not show progress ok 22 - redirected submodule add --progress does show progress ok 23 - submodule add to .gitignored path fails ok 24 - submodule add to .gitignored path with --force ok 25 - submodule add to path with tracked content fails ok 56 - "status" after file replacement should be clean with UC=true ok 26 - submodule add to reconfigure existing submodule with --force ok 27 - submodule add relays add --dry-run stderr ok 28 - submodule add --branch ok 29 - submodule add with ./ in path ok 30 - submodule add with /././ in path ok 31 - submodule add with // in path ok 32 - submodule add with /.. in path ok 33 - submodule add with ./, /.. and // in path ok 34 - submodule add with \\ in path ok 35 - submodule add in subdirectory ok 36 - submodule add in subdirectory with relative path should fail ok 37 - setup - add an example entry to .gitmodules ok 38 - status should fail for unmapped paths ok 39 - setup - map path in .gitmodules ok 40 - status should only print one line ok 41 - status from subdirectory should have the same SHA1 ok 42 - setup - fetch commit name from submodule ok 43 - status should initially be "missing" ok 44 - init should register submodule url in .git/config ok 45 - status should still be "missing" after initializing ok 46 - init should fail with unknown submodule ok 47 - update should fail with unknown submodule ok 48 - status should fail with unknown submodule ok 49 - sync should fail with unknown submodule ok 50 - update should fail when path is used by a file ok 51 - update should fail when path is used by a nonempty directory ok 52 - update should work when path is an empty dir ok 53 - status should be "up-to-date" after update ok 54 - status "up-to-date" from subdirectory ok 55 - status "up-to-date" from subdirectory with path ok 56 - status should be "modified" after submodule commit ok 57 - "submodule --cached" command forms should be identical ok 58 - the --cached sha1 should be rev1 ok 59 - git diff should report the SHA1 of the new submodule commit ok 60 - update should checkout rev1 ok 61 - status should be "up-to-date" after update ok 62 - checkout superproject with subproject already present ok 63 - apply submodule diff ok 57 - "status" after file replacement should be clean with UC=false ok 58 - empty repo (no index) and core.untrackedCache # passed all 58 test(s) 1..58 *** t7401-submodule-summary.sh *** ok 64 - update --init Initialized empty Git repository in /home/udu/aports/main/git/src/git-2.49.1/t/trash directory.t7401-submodule-summary/sm1/.git/ ok 65 - update --init from subdirectory ok 66 - do not add files from a submodule ok 67 - gracefully add/reset submodule with a trailing slash ok 68 - ls-files gracefully handles trailing slash ok 1 - added submodule ok 69 - moving to a commit without submodule does not leave empty dir ok 2 - added submodule (subdirectory) ok 70 - submodule fails ok 3 - added submodule (subdirectory only) ok 4 - added submodule (subdirectory with explicit path) ok 5 - modified submodule(forward) ok 71 - add submodules without specifying an explicit path ok 6 - modified submodule(forward), --files ok 72 - add should fail when path is used by a file ok 7 - no ignore=all setting has any effect ok 73 - add should fail when path is used by an existing directory ok 8 - modified submodule(backward) ok 74 - use superproject as upstream when path is relative and no url is set there ok 9 - modified submodule(backward and forward) ok 75 - set up for relative path tests ok 76 - ../subrepo works with URL - ssh://hostname/repo ok 10 - --summary-limit ok 77 - ../subrepo works with port-qualified URL - ssh://hostname:22/repo ok 11 - typechanged submodule(submodule->blob), --cached ok 78 - ../subrepo path works with local path - //somewhere else/repo ok 12 - typechanged submodule(submodule->blob), --files ok 79 - ../subrepo works with file URL - file:///tmp/repo ok 13 - typechanged submodule(submodule->blob) Initialized empty Git repository in /home/udu/aports/main/git/src/git-2.49.1/t/trash directory.t7401-submodule-summary/sm1/.git/ ok 80 - ../subrepo works with helper URL- helper:://hostname/repo ok 81 - ../subrepo works with scp-style URL - user@host:repo ok 14 - nonexistent commit ok 82 - ../subrepo works with scp-style URL - user@host:path/to/repo ok 15 - typechanged submodule(blob->submodule) ok 83 - ../subrepo works with relative local path - foo ok 16 - deleted submodule ok 84 - ../subrepo works with relative local path - foo/bar ok 17 - create second submodule ok 85 - ../subrepo works with relative local path - ./foo ok 18 - multiple submodules ok 86 - ../subrepo works with relative local path - ./foo/bar ok 19 - path filter ok 87 - ../subrepo works with relative local path - ../foo ok 20 - given commit ok 88 - ../subrepo works with relative local path - ../foo/bar ok 21 - --for-status ok 22 - fail when using --files together with --cached ok 23 - should not fail in an empty repo ok 89 - ../bar/a/b/c works with relative local path - ../foo/bar.git # passed all 23 test(s) 1..23 *** t7402-submodule-rebase.sh *** ok 1 - setup ok 2 - rebase with a dirty submodule ok 3 - interactive rebase with a dirty submodule ok 4 - rebase with dirty file and submodule fails ok 5 - stash with a dirty submodule ok 90 - moving the superproject does not break submodules ok 6 - rebasing submodule that should conflict # passed all 6 test(s) 1..6 *** t7403-submodule-sync.sh *** ok 91 - moving the submodule does not break the superproject ok 92 - submodule add --name allows to replace a submodule with another at the same path ok 1 - setup ok 2 - change submodule ok 93 - recursive relative submodules stay relative ok 3 - change submodule url ok 94 - submodule add with an existing name fails unless forced ok 95 - set up a second submodule ok 4 - "git submodule sync" should update submodule URLs ok 96 - submodule deinit works on repository without submodules ok 5 - "git submodule sync --recursive" should update all submodule URLs ok 6 - reset submodule URLs ok 97 - submodule deinit should remove the whole submodule section from .git/config ok 98 - submodule deinit should unset core.worktree ok 7 - "git submodule sync" should update submodule URLs - subdirectory ok 8 - "git submodule sync --recursive" should update all submodule URLs - subdirectory ok 99 - submodule deinit from subdirectory ok 9 - "git submodule sync" should update known submodule URLs ok 10 - "git submodule sync" should not vivify uninteresting submodule ok 11 - "git submodule sync" handles origin URL of the form foo ok 12 - "git submodule sync" handles origin URL of the form foo/bar ok 100 - submodule deinit . deinits all initialized submodules ok 13 - "git submodule sync --recursive" propagates changes in origin ok 14 - "git submodule sync" handles origin URL of the form ./foo ok 15 - "git submodule sync" handles origin URL of the form ./foo/bar ok 16 - "git submodule sync" handles origin URL of the form ../foo ok 17 - "git submodule sync" handles origin URL of the form ../foo/bar ok 101 - submodule deinit --all deinits all initialized submodules ok 18 - "git submodule sync" handles origin URL of the form ../foo/bar with deeply nested submodule # passed all 18 test(s) 1..18 *** t7406-submodule-update.sh *** ok 102 - submodule deinit deinits a submodule when its work tree is missing or empty ok 103 - submodule deinit fails when the submodule contains modifications unless forced ok 104 - submodule deinit fails when the submodule contains untracked files unless forced ok 105 - submodule deinit fails when the submodule HEAD does not match unless forced ok 1 - setup a submodule tree ok 2 - update --remote falls back to using HEAD ok 3 - submodule update detaching the HEAD ok 4 - submodule update from subdirectory ok 106 - submodule deinit is silent when used on an uninitialized submodule ok 107 - submodule deinit absorbs .git directory if .git is a directory ok 5 - submodule update --init --recursive from subdirectory ok 108 - submodule with UTF-8 name ok 6 - submodule update --init from and of subdirectory ok 109 - submodule add clone shallow submodule ok 7 - submodule update does not fetch already present commits ok 8 - submodule update should fail due to local changes ok 9 - submodule update should throw away changes with --force ok 10 - submodule update --force forcibly checks out submodules ok 11 - submodule update --remote should fetch upstream changes ok 110 - setup superproject with submodules ok 12 - submodule update --remote should fetch upstream changes with . ok 111 - submodule update --init with a specification ok 13 - local config should override .gitmodules branch ok 14 - submodule update --rebase staying on main ok 15 - submodule update --merge staying on main ok 112 - submodule update --init with submodule.active set ok 16 - submodule update - rebase in .git/config ok 17 - submodule update - checkout in .git/config but --rebase given ok 113 - submodule update and setting submodule..active ok 18 - submodule update - merge in .git/config ok 19 - submodule update - checkout in .git/config but --merge given ok 20 - submodule update - checkout in .git/config ok 21 - submodule update - command in .git/config ok 114 - clone active submodule without submodule url set ok 22 - submodule update - command in .gitmodules is rejected ok 115 - update submodules without url set in .gitconfig ok 23 - fsck detects command in .gitmodules ok 24 - submodule update - command in .git/config catches failure ok 116 - clone --recurse-submodules with a pathspec works ok 25 - submodule update - command in .git/config catches failure -- subdirectory ok 26 - submodule update - command run for initial population of submodule ok 117 - clone with multiple --recurse-submodules options ok 27 - recursive submodule update - command in .git/config catches failure -- subdirectory ok 28 - submodule init does not copy command into .git/config ok 29 - submodule init picks up rebase ok 30 - submodule init picks up merge ok 31 - submodule update --merge - ignores --merge for new submodules ok 118 - clone and subsequent updates correctly auto-initialize submodules ok 32 - submodule update --rebase - ignores --rebase for new submodules ok 33 - submodule update ignores update=merge config for new submodules ok 119 - init properly sets the config ok 34 - submodule update ignores update=rebase config for new submodules ok 35 - submodule init picks up update=none ok 36 - submodule update - update=none in .git/config ok 120 - recursive clone respects -q ok 37 - submodule update - update=none in .git/config but --checkout given ok 121 - `submodule init` and `init.templateDir` # passed all 121 test(s) 1..121 ok 38 - submodule update --init skips submodule with update=none *** t7407-submodule-foreach.sh *** ok 39 - submodule update with pathspec warns against uninitialized ones ok 40 - submodule update without pathspec updates only initialized ones ok 1 - setup a submodule tree ok 41 - submodule update continues after checkout error ok 2 - test basic "submodule foreach" usage ok 3 - test "submodule foreach" from subdirectory ok 42 - submodule update continues after recursive checkout error ok 4 - setup nested submodules ok 43 - submodule update exit immediately in case of merge conflict ok 44 - submodule update exit immediately after recursive rebase error ok 5 - use "submodule foreach" to checkout 2nd level submodule ok 45 - add different submodules to the same path ok 6 - usage: foreach -- --not-an-option ok 46 - submodule add places git-dir in superprojects git-dir ok 47 - submodule update places git-dir in superprojects git-dir ok 48 - submodule add places git-dir in superprojects git-dir recursive ok 7 - use "foreach --recursive" to checkout all submodules ok 8 - test messages from "foreach --recursive" ok 9 - test messages from "foreach --recursive" from subdirectory ok 10 - test "submodule foreach --recursive" from subdirectory ok 11 - test "foreach --quiet --recursive" ok 49 - submodule update places git-dir in superprojects git-dir recursive ok 50 - submodule add properly re-creates deeper level submodules ok 12 - use "update --recursive" to checkout all submodules ok 51 - submodule update properly revives a moved submodule ok 13 - test "status --recursive" ok 52 - submodule update can handle symbolic links in pwd ok 14 - ensure "status --cached --recursive" preserves the --cached flag ok 15 - test "status --recursive" from sub directory ok 53 - submodule update clone shallow submodule ok 16 - use "git clone --recursive" to checkout all submodules ok 54 - submodule update clone shallow submodule outside of depth ok 55 - submodule update --recursive drops module name before recursing ok 56 - submodule update can be run in parallel ok 17 - test "update --recursive" with a flag with spaces ok 57 - git clone passes the parallel jobs config on to submodules ok 58 - submodule update --quiet passes quietness to merge/rebase ok 18 - use "update --recursive nested1" to checkout all submodules rooted in nested1 ok 19 - command passed to foreach retains notion of stdin ok 20 - command passed to foreach --recursive retains notion of stdin ok 21 - multi-argument command passed to foreach is not shell-evaluated twice ok 22 - option-like arguments passed to foreach commands are not lost ok 59 - submodule update --quiet passes quietness to fetch with a shallow clone ok 60 - submodule update --filter requires --init ok 23 - option-like arguments passed to foreach recurse correctly # passed all 23 test(s) 1..23 ok 61 - submodule update --filter sets partial clone settings *** t7408-submodule-reference.sh *** ok 1 - setup ok 2 - preparing first repository ok 3 - preparing second repository ok 4 - preparing superproject ok 62 - setup clean recursive superproject ok 5 - submodule add --reference uses alternates ok 6 - submodule add --reference with --dissociate does not use alternates ok 7 - that reference gets used with add ok 63 - submodule update should skip unmerged submodules ok 8 - updating superproject keeps alternates ok 64 - submodule update --recursive skip submodules with strategy=none ok 65 - commit with staged submodule change ok 66 - commit with staged submodule change with ignoreSubmodules dirty ok 67 - commit with staged submodule change with ignoreSubmodules all ok 68 # skip submodule paths must not follow symlinks (missing CASE_INSENSITIVE_FS of CASE_INSENSITIVE_FS,SYMLINKS) # passed all 68 test(s) 1..68 ok 9 - updating superproject with --dissociate does not keep alternates *** t7409-submodule-detached-work-tree.sh *** ok 10 - submodules use alternates when cloning a superproject ok 1 - setup ok 11 - missing submodule alternate fails clone and submodule update ok 2 - submodule on detached working tree ok 12 - ignoring missing submodule alternates passes clone and submodule update ok 3 - submodule on detached working pointed by core.worktree # passed all 3 test(s) 1..3 *** t7411-submodule-config.sh *** ok 13 - preparing second superproject with a nested submodule plus partial clone ok 1 - setup ok 2 - submodule config cache setup ok 3 - configuration parsing with error ok 4 - test parsing and lookup of submodule config by path ok 14 - nested submodule alternate in works and is actually used ok 5 - test parsing and lookup of submodule config by name ok 6 - error in history of one submodule config lets continue, stderr message contains blob ref ok 7 - using different treeishs works ok 8 - error in history in fetchrecursesubmodule lets continue ok 9 - reading submodules config from the working tree ok 10 - unsetting submodules config from the working tree ok 11 - writing submodules config ok 12 - overwriting unstaged submodules config ok 13 - writeable .gitmodules when it is in the working tree ok 14 - writeable .gitmodules when it is nowhere in the repository ok 15 - non-writeable .gitmodules when it is in the index but not in the working tree ok 15 - missing nested submodule alternate fails clone and submodule update ok 16 - non-writeable .gitmodules when it is in the current branch but not in the index ok 17 - reading submodules config from the index when .gitmodules is not in the working tree ok 18 - reading submodules config from the current branch when .gitmodules is not in the index ok 19 - reading nested submodules config ok 20 - reading nested submodules config when .gitmodules is not in the working tree # passed all 20 test(s) 1..20 *** t7412-submodule-absorbgitdirs.sh *** ok 16 - missing nested submodule alternate in --reference-if-able mode # passed all 16 test(s) 1..16 *** t7413-submodule-is-active.sh *** ok 1 - setup a real submodule ok 2 - absorb the git dir ok 1 - setup ok 2 - is-active works with urls ok 3 - absorbing does not fail for deinitialized submodules ok 3 - is-active works with submodule..active config ok 4 - is-active handles submodule.active config missing a value ok 5 - is-active works with basic submodule.active config ok 6 - is-active correctly works with paths that are not submodules ok 7 - is-active works with exclusions in submodule.active config ok 4 - setup nested submodule ok 8 - is-active with submodule.active and submodule..active ok 5 - absorb the git dir in a nested submodule ok 6 - re-setup nested submodule ok 9 - is-active, submodule.active and submodule add # passed all 9 test(s) 1..9 *** t7414-submodule-mistakes.sh *** ok 7 - absorb the git dir in a nested submodule ok 1 - create embedded repository ok 2 - git-add on embedded repository warns ok 3 - --no-warn-embedded-repo suppresses warning ok 4 - no warning when updating entry ok 5 - submodule add does not warn # passed all 5 test(s) 1..5 *** t7416-submodule-dash-url.sh *** ok 8 - absorb the git dir outside of primary worktree ok 9 - setup a gitlink with missing .gitmodules entry ok 1 - setup ok 10 - absorbing the git dir fails for incomplete submodules ok 2 - create submodule with protected dash in url ok 11 - setup a submodule with multiple worktrees ok 12 - absorbing fails for a submodule with multiple worktrees # passed all 12 test(s) 1..12 ok 3 - clone can recurse submodule *** t7417-submodule-path-url.sh *** ok 4 - fsck accepts protected dash ok 5 - remove ./ protection from .gitmodules url ok 1 - setup ok 6 - clone rejects unprotected dash ok 7 - fsck rejects unprotected dash ok 2 - create submodule with dash in path ok 3 - clone rejects unprotected dash ok 4 - fsck rejects unprotected dash ok 5 # skip submodule paths disallows trailing spaces (missing MINGW) # passed all 5 test(s) 1..5 *** t7418-submodule-sparse-gitmodules.sh *** ok 8 - trailing backslash is handled correctly ok 9 - fsck rejects missing URL scheme ok 1 - setup ok 10 - fsck rejects relative URL resolving to missing scheme ok 11 - fsck rejects empty URL scheme ok 2 - sparse checkout setup which hides .gitmodules ok 3 - reading gitmodules config file when it is not checked out ok 4 - not writing gitmodules config file when it is not checked out ok 12 - fsck rejects relative URL resolving to empty scheme ok 5 - initialising submodule when the gitmodules config is not checked out ok 13 - fsck rejects empty hostname ok 6 - updating submodule when the gitmodules config is not checked out ok 14 - fsck rejects relative url that produced empty hostname ok 15 - fsck permits embedded newline with unrecognized scheme ok 16 - fsck rejects embedded newline in url ok 17 - fsck rejects embedded newline in relative url ok 18 - fsck rejects embedded newline in git url # passed all 18 test(s) 1..18 *** t7419-submodule-set-branch.sh *** ok 1 - setup ok 7 - re-updating submodule when the gitmodules config is not checked out ok 8 - not adding submodules when the gitmodules config is not checked out ok 9 - init submodule still works even after the previous add failed # passed all 9 test(s) 1..9 *** t7420-submodule-set-url.sh *** ok 2 - submodule config cache setup ok 3 - ensure submodule branch is unset ok 1 - setup ok 4 - test submodule set-branch --branch ok 2 - submodule config cache setup ok 5 - test submodule set-branch --default ok 6 - test submodule set-branch -b ok 7 - test submodule set-branch -d ok 3 - test submodule set-url # passed all 3 test(s) 1..3 *** t7421-submodule-summary-add.sh *** ok 8 - test submodule set-branch --branch with named submodule ok 1 - setup ok 2 - summary test environment setup ok 9 - test submodule set-branch --default with named submodule # passed all 9 test(s) 1..9 *** t7422-submodule-output.sh *** ok 3 - submodule summary output for initialized submodule ok 4 - submodule summary output for deinitialized submodule ok 5 - submodule summary output for submodules with changed paths # passed all 5 test(s) 1..5 *** t7423-submodule-symlinks.sh *** ok 1 - prepare ok 2 - git submodule update must not create submodule behind symlink ok 3 # skip git submodule update must not create submodule behind symlink on case insensitive fs (missing CASE_INSENSITIVE_FS of SYMLINKS,CASE_INSENSITIVE_FS) ok 4 - git restore --recurse-submodules must not be confused by a symlink ok 1 - setup ok 5 - git restore --recurse-submodules must not migrate git dir of symlinked repo ok 2 - git submodule ok 6 - git checkout -f --recurse-submodules must not migrate git dir of symlinked repo when removing submodule # passed all 6 test(s) 1..6 *** t7424-submodule-mixed-ref-formats.sh *** ok 3 - git submodule status ok 1 - setup ok 4 - git submodule status --recursive ok 2 - add existing repository with different ref storage format ok 5 - git submodule --quiet ok 6 - git submodule --quiet status ok 7 - git submodule status --quiet ok 3 - add submodules with different ref storage format ok 8 - git submodule --cached ok 9 - git submodule --cached status ok 10 - git submodule status --cached ok 11 - git submodule --cached --quiet ok 4 - recursive clone propagates ref storage format ok 12 - git submodule --cached --quiet status ok 13 - git submodule --cached status --quiet ok 14 - git submodule --quiet status --cached ok 15 - git submodule status --cached --quiet ok 5 - clone submodules with different ref storage format ok 16 - git submodule status --cached --recursive ok 17 - git submodule --cached status --recursive ok 6 - status with mixed submodule ref storages ok 7 - recursive pull with mixed formats # passed all 7 test(s) 1..7 *** t7450-bad-git-dotfiles.sh *** ok 1 - setup ok 2 - check names ok 3 - check urls ok 4 - create innocent subrepo ok 5 - submodule add refuses invalid names ok 6 - add evil submodule ok 18 - git submodule status --recursive propagates SIGPIPE # passed all 18 test(s) 1..18 *** t7500-commit-template-squash-signoff.sh *** ok 7 - add other submodule ok 1 - a basic commit in an empty tree should succeed ok 2 - nonexistent template file should return error ok 8 - clone evil superproject ok 3 - nonexistent template file in config should return error ok 4 - unedited template should not commit ok 5 - unedited template with comments should not commit ok 9 - fsck detects evil superproject ok 6 - a Signed-off-by line by itself should not commit ok 7 - adding comments to a template should not commit ok 8 - adding real content to a template should commit ok 9 - -t option should be short for --template ok 10 - transfer.fsckObjects detects evil superproject (unpack) ok 10 - config-specified template should commit ok 11 - explicit commit message should override template ok 11 - transfer.fsckObjects detects evil superproject (index) ok 12 - commit message from file should override template ok 13 - commit message from template with whitespace issue ok 14 - using alternate GIT_INDEX_FILE (1) ok 12 - create oddly ordered pack ok 15 - using alternate GIT_INDEX_FILE (2) ok 13 - transfer.fsckObjects handles odd pack (unpack) ok 16 - --signoff ok 14 - transfer.fsckObjects handles odd pack (index) ok 17 - commit message from file (1) ok 15 - index-pack --strict works for non-repo pack ok 18 - commit message from file (2) ok 16 - set up repo with symlinked gitmodules (vanilla) ok 19 - commit message from stdin ok 17 - fsck detects symlinked gitmodules (vanilla) ok 18 - refuse to load symlinked gitmodules into index (vanilla) ok 20 - commit -F overrides -t ok 19 - set up repo with symlinked gitmodules (ntfs) ok 21 - Commit without message is allowed with --allow-empty-message ok 20 - fsck detects symlinked gitmodules (ntfs) ok 22 - Commit without message is no-no without --allow-empty-message ok 21 - refuse to load symlinked gitmodules into index (ntfs) ok 23 - Commit a message with --allow-empty-message ok 22 - set up repo with symlinked gitmodules (hfs) ok 23 - fsck detects symlinked gitmodules (hfs) ok 24 - commit -C empty respects --allow-empty-message ok 24 - refuse to load symlinked gitmodules into index (hfs) ok 25 - set up repo with symlinked gitattributes (vanilla) ok 26 - fsck detects symlinked gitattributes (vanilla) ok 25 - commit --fixup provides correct one-line commit message ok 27 - set up repo with symlinked gitattributes (ntfs) ok 28 - fsck detects symlinked gitattributes (ntfs) ok 29 - set up repo with symlinked gitattributes (hfs) ok 30 - fsck detects symlinked gitattributes (hfs) ok 26 - commit --fixup -m"something" -m"extra" ok 31 - set up repo with symlinked gitignore (vanilla) ok 32 - fsck detects symlinked gitignore (vanilla) ok 33 - set up repo with symlinked gitignore (ntfs) ok 27 - commit --fixup --edit ok 34 - fsck detects symlinked gitignore (ntfs) ok 35 - set up repo with symlinked gitignore (hfs) ok 36 - fsck detects symlinked gitignore (hfs) ok 37 - set up repo with symlinked mailmap (vanilla) ok 28 - commit --fixup=amend: creates amend! commit ok 38 - fsck detects symlinked mailmap (vanilla) ok 39 - set up repo with symlinked mailmap (ntfs) ok 40 - fsck detects symlinked mailmap (ntfs) ok 41 - set up repo with symlinked mailmap (hfs) ok 42 - fsck detects symlinked mailmap (hfs) ok 29 - --fixup=amend: --only ignores staged changes ok 43 - fsck detects non-blob .gitmodules ok 44 - fsck detects corrupt .gitmodules ok 45 # skip prevent git~1 squatting on Windows (missing WINDOWS) ok 30 - --fixup=reword: ignores staged changes ok 31 - --fixup=reword: error out with -m option ok 46 - setup submodules with nested git dirs ok 32 - --fixup=amend: error out with -m option ok 47 - git dirs of sibling submodules must not be nested ok 33 - consecutive amend! commits remove amend! line from commit msg body ok 34 - deny to create amend! commit if its commit msg body is empty ok 48 - submodule git dir nesting detection must work with parallel cloning ok 35 - amend! commit allows empty commit msg body with --allow-empty-message ok 36 - --fixup=reword: incompatible with --all ok 37 - --fixup=reword: incompatible with --include ok 38 - --fixup=reword: incompatible with --only ok 39 - --fixup=reword: incompatible with --interactive ok 40 - --fixup=reword: incompatible with --patch ok 41 - --fixup=reword: give error with pathsec ok 42 - --fixup=reword: -F give error message ok 43 - commit --squash works with -F ok 49 - checkout -f --recurse-submodules must not use a nested gitdir ok 44 - commit --squash works with -m ok 45 - commit --squash works with -C ok 46 - commit --squash works with -c ok 47 - commit --squash works with -C for same commit ok 48 - commit --squash works with -c for same commit ok 50 - submodule must not checkout into different directory # passed all 50 test(s) 1..50 ok 49 - commit --squash works with editor ok 50 - invalid message options when using --fixup *** t7501-commit-basic-functionality.sh *** ok 51 - new line found before status message in commit template ok 52 - setup empty commit with unstaged rename and copy ok 53 - check commit with unstaged rename and copy ok 54 - commit without staging files fails and displays hints # passed all 54 test(s) 1..54 *** t7502-commit-porcelain.sh *** ok 1 - initial status ok 2 - fail initial amend ok 3 - setup: initial commit ok 4 - -m and -F do not mix ok 5 - -m and -C do not mix ok 6 - paths and -a do not mix ok 7 - can use paths with --interactive ok 8 - removed files and relative paths ok 9 - using invalid commit with -C ok 1 - output summary format ok 10 - nothing to commit ok 11 - --dry-run fails with nothing to commit ok 12 - --short fails with nothing to commit ok 13 - --porcelain fails with nothing to commit ok 2 - output summary format: root-commit ok 14 - --long fails with nothing to commit ok 3 - output summary format for commit with an empty diff ok 15 - fail to commit untracked file (even with --include/--only) ok 16 - setup: non-initial commit ok 17 - --dry-run with stuff to commit returns ok ok 18 - --short with stuff to commit returns ok ok 19 - --porcelain with stuff to commit returns ok ok 20 - --long with stuff to commit returns ok ok 21 - exclude additional staged changes when given pathspec ok 22 - exclude additional staged changes when given pathspec ok 4 - output summary format for merges ok 23 - exclude additional staged changes when given pathspec ok 24 - -i/--include includes staged changes ok 5 - the basics ok 25 - --include and --only do not mix ok 26 - commit message from non-existing file ok 27 - empty commit message ok 6 - partial ok 28 - template "emptyness" check does not kick in with -F ok 7 - partial modification in a subdirectory ok 29 - template "emptyness" check ok 8 - partial removal ok 30 - setup: commit message from file ok 9 - sign off ok 31 - amend commit ok 10 - commit --trailer with "=" ok 32 - amend --only ignores staged contents ok 33 - allow-empty --only ignores staged contents ok 34 - set up editor ok 11 - commit --trailer with -c and "replace" as ifexists ok 35 - amend without launching editor ok 12 - commit --trailer with -c and "add" as ifexists ok 36 - --amend --edit ok 13 - commit --trailer with -c and "donothing" as ifexists ok 37 - --amend --edit of empty message ok 14 - commit --trailer with -c and "addIfDifferent" as ifexists ok 38 - --amend to set message to empty ok 39 - --amend to set empty message needs --allow-empty-message ok 15 - commit --trailer with -c and "addIfDifferentNeighbor" as ifexists ok 40 - -m --edit ok 41 - -m and -F do not mix ok 16 - commit --trailer with -c and "end" as where ok 42 - using message from other commit ok 43 - editing message from other commit ok 44 - message from stdin ok 17 - commit --trailer with -c and "start" as where ok 45 - overriding author from command line ok 46 - interactive add ok 18 - commit --trailer with -c and "after" as where ok 47 - commit --interactive doesn't change index if editor aborts ok 19 - commit --trailer with -c and "before" as where ok 48 - editor not invoked if -F is given ok 49 - partial commit that involves removal (1) ok 20 - commit --trailer with -c and "donothing" as ifmissing ok 50 - partial commit that involves removal (2) ok 51 - partial commit that involves removal (3) ok 21 - commit --trailer with -c and "add" as ifmissing ok 52 - amend commit to fix author ok 22 - commit --trailer with -c ack.key ok 53 - amend commit to fix date ok 23 - commit --trailer with -c and ":=#" as separators ok 54 - amend commit to add signoff ok 24 - commit --trailer with -c and command ok 55 - amend does not add signoff if it already exists ok 25 - commit --trailer not confused by --- separator ok 56 - commit mentions forced date in output ok 57 - commit complains about completely bogus dates ok 26 - commit --trailer with --verbose ok 58 - commit --date allows approxidate ok 27 - multiple -m ok 59 - sign off (1) ok 28 - verbose ok 29 - verbose respects diff config ok 30 - prepare file with comment line and trailing newlines ok 60 - sign off (2) ok 31 - cleanup commit messages (verbatim option,-t) ok 61 - signoff gap ok 32 - cleanup commit messages (verbatim option,-F) ok 33 - cleanup commit messages (verbatim option,-m) ok 62 - signoff gap 2 ok 34 - cleanup commit messages (whitespace option,-F) ok 35 - cleanup commit messages (scissors option,-F,-e) ok 63 - signoff respects trailer config ok 36 - cleanup commit messages (scissors option,-F,-e, scissors on first line) ok 64 - signoff not confused by --- ok 37 - cleanup commit messages (strip option,-F) ok 65 - multiple -m ok 38 - cleanup commit messages (strip option,-F,-e) ok 39 - cleanup commit messages (strip option,-F,-e): output ok 40 - cleanup commit message (fail on invalid cleanup mode option) ok 41 - cleanup commit message (fail on invalid cleanup mode configuration) ok 66 - amend commit to fix author ok 42 - cleanup commit message (no config and no option uses default) ok 67 - git commit with dirty index ok 43 - cleanup commit message (option overrides default) ok 68 - same tree (single parent) ok 44 - cleanup commit message (config overrides default) ok 69 - same tree (single parent) --allow-empty ok 45 - cleanup commit message (option overrides config) ok 46 - cleanup commit message (default, -m) ok 70 - same tree (merge and amend merge) ok 47 - cleanup commit message (whitespace option, -m) ok 48 - cleanup commit message (whitespace config, -m) ok 49 - message shows author when it is not equal to committer ok 50 - message shows date when it is explicitly set ok 71 - amend using the message from another commit ok 51 - message does not have multiple scissors lines ok 52 # skip message shows committer when it is automatic (missing AUTOIDENT) ok 53 - do not fire editor when committer is bogus ok 54 - do not fire editor if -m was given ok 72 - amend using the message from a commit named with tag ok 55 - do not fire editor if -m "" was given ok 73 - amend can copy notes ok 74 - commit a file whose name is a dash ok 56 - do not fire editor in the presence of conflicts ok 57 - a SIGTERM should break locks ok 75 - --only works on to-be-born branch ok 58 - Hand committing of a redundant merge removes dups ok 59 - A single-liner subject with a token plus colon is not a footer ok 76 - --dry-run with conflicts fixed from a merge ok 60 - commit -s places sob on third line after two empty lines ok 77 - --dry-run --short # passed all 77 test(s) 1..77 ok 61 - commit *** t7503-pre-commit-and-pre-merge-commit-hooks.sh *** ok 62 - commit --status ok 63 - commit --no-status ok 64 - commit with commit.status = yes ok 65 - commit with commit.status = no ok 1 - root commit ok 66 - commit --status with commit.status = yes ok 67 - commit --no-status with commit.status = yes ok 2 - setup conflicting branches ok 3 - with no hook ok 68 - commit --status with commit.status = no ok 69 - commit --no-status with commit.status = no ok 4 - with no hook (merge) ok 5 - --no-verify with no hook ok 70 - commit ok 71 - commit --status ok 6 - --no-verify with no hook (merge) ok 72 - commit --no-status ok 7 - with succeeding hook ok 73 - commit with commit.status = yes ok 8 - with succeeding hook (merge) ok 74 - commit with commit.status = no ok 75 - commit --status with commit.status = yes ok 9 - automatic merge fails; both hooks are available ok 76 - commit --no-status with commit.status = yes ok 10 - --no-verify with succeeding hook ok 77 - commit --status with commit.status = no ok 11 - --no-verify with succeeding hook (merge) ok 78 - commit --no-status with commit.status = no ok 12 - with failing hook ok 13 - --no-verify with failing hook ok 79 - commit --status with custom comment character ok 14 - with failing hook (merge) ok 80 - switch core.commentchar ok 81 - switch core.commentchar but out of options # passed all 81 test(s) 1..81 ok 15 - --no-verify with failing hook (merge) *** t7504-commit-msg-hook.sh *** ok 16 - with non-executable hook ok 17 - --no-verify with non-executable hook ok 18 - with non-executable hook (merge) ok 1 - with no hook ok 2 - with no hook (editor) ok 19 - --no-verify with non-executable hook (merge) ok 3 - --no-verify with no hook ok 4 - --no-verify with no hook (editor) ok 5 - setup: commit-msg hook that always succeeds ok 20 - with hook requiring GIT_PREFIX ok 6 - with succeeding hook ok 21 - with failing hook requiring GIT_PREFIX ok 7 - with succeeding hook (editor) ok 8 - --no-verify with succeeding hook ok 9 - --no-verify with succeeding hook (editor) ok 22 - check the author in hook ok 10 - setup: commit-msg hook that always fails # passed all 22 test(s) 1..22 *** t7505-prepare-commit-msg-hook.sh *** ok 11 - with failing hook ok 12 - with failing hook (editor) ok 13 - --no-verify with failing hook ok 14 - -n followed by --verify with failing hook ok 15 - --no-verify with failing hook (editor) ok 16 - merge fails with failing hook ok 17 - merge bypasses failing hook with --no-verify ok 18 - setup: commit-msg hook made non-executable ok 19 - with non-executable hook ok 20 - with non-executable hook (editor) ok 21 - --no-verify with non-executable hook ok 22 - --no-verify with non-executable hook (editor) ok 23 - setup: commit-msg hook that edits the commit message ok 24 - hook edits commit message ok 25 - hook edits commit message (editor) ok 26 - hook doesn't edit commit message ok 27 - hook doesn't edit commit message (editor) ok 28 - hook called in git-merge picks up commit message not ok 29 - merge --continue remembers --no-verify # TODO known breakage ok 1 - set up commits for rebasing ok 2 - with no hook ok 3 - setup fake editor for interactive editing ok 4 - setup prepare-commit-msg hook ok 30 - hook is called for reword during `rebase -i` # still have 1 known breakage(s) # passed all remaining 29 test(s) 1..30 *** t7506-status-submodule.sh *** ok 5 - with hook (-m) ok 6 - with hook (-m editor) ok 7 - with hook (-t) ok 8 - with hook (-F) ok 9 - with hook (-F editor) ok 1 - setup ok 10 - with hook (-C) ok 2 - status clean ok 3 - commit --dry-run -a clean ok 11 - with hook (editor) ok 4 - status with modified file in submodule ok 5 - status with modified file in submodule (porcelain) ok 12 - with hook (--amend) ok 6 - status with modified file in submodule (short) ok 7 - status with added file in submodule ok 13 - with hook (-c) ok 8 - status with added file in submodule (porcelain) ok 9 - status with added file in submodule (short) ok 10 - status with untracked file in submodule ok 14 - with hook (merge) ok 11 - status -uno with untracked file in submodule ok 12 - status with untracked file in submodule (porcelain) ok 13 - status with untracked file in submodule (short) ok 14 - status with added and untracked file in submodule ok 15 - with hook and editor (merge) ok 15 - status with added and untracked file in submodule (porcelain) ok 16 - status with modified file in modified submodule ok 17 - status with modified file in modified submodule (porcelain) ok 18 - status with added file in modified submodule ok 19 - status with added file in modified submodule (porcelain) ok 20 - status with untracked file in modified submodule ok 21 - status with untracked file in modified submodule (porcelain) ok 22 - status with added and untracked file in modified submodule ok 23 - status with added and untracked file in modified submodule (porcelain) ok 24 - setup .git file for sub ok 25 - status with added file in modified submodule with .git file ok 26 - status with a lot of untracked files in the submodule ok 27 - rm submodule contents ok 28 - status clean (empty submodule dir) ok 29 - status -a clean (empty submodule dir) ok 16 - with hook (rebase -i) ok 17 - with hook (cherry-pick) ok 18 - with hook and editor (cherry-pick) ok 19 - setup: commit-msg hook that always fails ok 20 - with failing hook ok 21 - with failing hook (--no-verify) ok 22 - with failing hook (merge) ok 30 - status with merge conflict in .gitmodules ok 23 - with failing hook (cherry-pick) # passed all 23 test(s) 1..23 *** t7507-commit-verbose.sh *** ok 31 - diff with merge conflict in .gitmodules ok 32 - diff --submodule with merge conflict in .gitmodules ok 1 - setup ok 2 - initial commit shows verbose diff ok 3 - second commit ok 4 - verbose diff is stripped out ok 5 - verbose diff is stripped out (mnemonicprefix) ok 6 - diff in message is retained without -v ok 7 - diff in message is retained with -v ok 8 - submodule log is stripped out too with -v ok 9 - verbose diff is stripped out with set core.commentChar ok 10 - verbose diff is stripped with multi-byte comment char ok 11 - status does not verbose without --verbose ok 12 - setup -v -v ok 33 - setup superproject with untracked file in nested submodule ok 13 - commit.verbose=true and --verbose omitted ok 34 - status with untracked file in nested submodule (porcelain) ok 14 - commit.verbose=1 and --verbose omitted ok 15 - commit.verbose=false and --verbose omitted ok 35 - status with untracked file in nested submodule (porcelain=2) ok 16 - commit.verbose=-2 and --verbose omitted ok 36 - status with untracked file in nested submodule (short) ok 17 - commit.verbose=-1 and --verbose omitted ok 37 - setup superproject with modified file in nested submodule ok 18 - commit.verbose=0 and --verbose omitted ok 38 - status with added file in nested submodule (porcelain) ok 19 - commit.verbose=2 and --verbose omitted ok 20 - commit.verbose=3 and --verbose omitted ok 39 - status with added file in nested submodule (porcelain=2) ok 21 - commit.verbose=true and --verbose ok 40 - status with added file in nested submodule (short) # passed all 40 test(s) 1..40 ok 22 - commit.verbose=true and --no-verbose *** t7508-status.sh *** ok 23 - commit.verbose=true and -v -v ok 24 - commit.verbose=false and --verbose ok 25 - commit.verbose=false and --no-verbose ok 26 - commit.verbose=false and -v -v ok 27 - commit.verbose=-2 and --verbose ok 1 - status -h in broken repository ok 28 - commit.verbose=-2 and --no-verbose ok 2 - commit -h in broken repository ok 29 - commit.verbose=-2 and -v -v ok 30 - commit.verbose=-1 and --verbose ok 3 - create upstream branch ok 31 - commit.verbose=-1 and --no-verbose ok 32 - commit.verbose=-1 and -v -v ok 4 - setup ok 5 - status (1) ok 6 - status --column ok 33 - commit.verbose=0 and --verbose ok 7 - status --column status.displayCommentPrefix=false ok 8 - status with status.displayCommentPrefix=true ok 34 - commit.verbose=0 and --no-verbose ok 9 - status with status.displayCommentPrefix=false ok 35 - commit.verbose=0 and -v -v ok 10 - status -v ok 11 - status -v -v ok 12 - setup fake editor ok 36 - commit.verbose=1 and --verbose ok 13 - commit ignores status.displayCommentPrefix=false in COMMIT_EDITMSG ok 37 - commit.verbose=1 and --no-verbose ok 14 - status (advice.statusHints false) ok 15 - status -s ok 38 - commit.verbose=1 and -v -v ok 16 - status with gitignore ok 39 - commit.verbose=2 and --verbose ok 17 - status with gitignore (nothing untracked) ok 40 - commit.verbose=2 and --no-verbose ok 18 - status -s -b ok 41 - commit.verbose=2 and -v -v ok 19 - status -s -z -b ok 20 - setup dir3 ok 21 - status -uno ok 42 - commit.verbose=3 and --verbose ok 22 - status (status.showUntrackedFiles no) ok 43 - commit.verbose=3 and --no-verbose ok 23 - status (status.showUntrackedFiles false) ok 24 - status (status.showUntrackedFiles 0) ok 44 - commit.verbose=3 and -v -v ok 25 - status -uno (advice.statusHints false) ok 45 - status ignores commit.verbose=true # passed all 45 test(s) 1..45 ok 26 - status -s -uno *** t7509-commit-authorship.sh *** ok 27 - status -s (status.showUntrackedFiles no) ok 28 - status -unormal ok 29 - status (status.showUntrackedFiles normal) ok 30 - status (status.showUntrackedFiles true) ok 31 - status (status.showUntrackedFiles 1) ok 32 - status -s -unormal ok 33 - status -s (status.showUntrackedFiles normal) ok 34 - status -uall ok 35 - status (status.showUntrackedFiles all) ok 36 - teardown dir3 ok 37 - status -s -uall ok 1 - -C option copies authorship and message ok 38 - status -s (status.showUntrackedFiles all) ok 39 - status with relative paths ok 40 - status -s with relative paths ok 2 - -C option copies only the message with --reset-author ok 41 - status --porcelain ignores relative paths setting ok 42 - setup unique colors ok 3 - -c option copies authorship and message ok 43 # skip status with color.ui (missing TTY) ok 44 # skip status with color.status (missing TTY) ok 45 # skip status -s with color.ui (missing TTY) ok 46 # skip status -s with color.status (missing TTY) ok 47 # skip status -s -b with color.status (missing TTY) ok 48 # skip status --porcelain ignores color.ui (missing TTY) ok 49 # skip status --porcelain ignores color.status (missing TTY) ok 4 - -c option copies only the message with --reset-author ok 50 - status --porcelain respects -b ok 51 - status without relative paths ok 5 - --amend option copies authorship ok 52 - status -s without relative paths ok 6 - --amend option with empty author ok 53 - status -s without relative paths ok 54 - dry-run of partial commit excluding new file in index ok 7 - --amend option with missing author ok 55 - status refreshes the index ok 8 - --reset-author makes the commit ours even with --amend option ok 9 - --reset-author and --author are mutually exclusive ok 10 - --reset-author should be rejected without -c/-C/--amend ok 56 - status shows detached HEAD properly after checking out non-local upstream branch ok 57 - setup status submodule summary ok 11 - commit respects CHERRY_PICK_HEAD and MERGE_MSG ok 58 - status submodule summary is disabled by default ok 59 - status --untracked-files=all does not show submodule ok 12 - --reset-author with CHERRY_PICK_HEAD # passed all 12 test(s) 1..12 ok 60 - status -s submodule summary is disabled by default *** t7510-signed-commit.sh *** ok 61 - status -s --untracked-files=all does not show submodule ok 1 # skip create signed commits (missing GPG) ok 2 # skip verify and show signatures (missing GPG) ok 3 # skip verify-commit exits failure on unknown signature (missing GPG) ok 4 # skip verify-commit exits success on untrusted signature (missing GPG) ok 5 # skip verify-commit exits success with matching minTrustLevel (missing GPG) ok 6 # skip verify-commit exits success with low minTrustLevel (missing GPG) ok 62 - status submodule summary ok 7 # skip verify-commit exits failure with high minTrustLevel (missing GPG) ok 8 # skip verify signatures with --raw (missing GPG) ok 9 # skip proper header is used for hash algorithm (missing GPG) ok 10 # skip show signed commit with signature (missing GPG) ok 11 # skip detect fudged signature (missing GPG) ok 12 # skip detect fudged signature with NUL (missing GPG) ok 13 # skip amending already signed commit (missing GPG) ok 14 # skip bare signature (missing GPG2) ok 15 # skip show good signature with custom format (missing GPG) ok 16 # skip show bad signature with custom format (missing GPG) ok 17 # skip show untrusted signature with custom format (missing GPG) ok 18 # skip show untrusted signature with undefined trust level (missing GPG) ok 19 # skip show untrusted signature with ultimate trust level (missing GPG) ok 20 # skip show unknown signature with custom format (missing GPG) ok 21 # skip show lack of signature with custom format (missing GPG) ok 22 # skip log.showsignature behaves like --show-signature (missing GPG) ok 23 # skip check config gpg.format values (missing GPG) ok 24 # skip detect fudged commit with double signature (missing GPG) ok 25 # skip show double signature with custom format (missing GPG) ok 26 # skip verify-commit verifies multiply signed commits (missing GPG) ok 27 - custom `gpg.program` # passed all 27 test(s) 1..27 *** t7511-status-index.sh *** ok 63 - status submodule summary with status.displayCommentPrefix=false ok 1 - status, filename length 1 ok 64 - commit with submodule summary ignores status.displayCommentPrefix ok 2 - status, filename length 2 ok 65 - status -s submodule summary ok 3 - status, filename length 3 ok 4 - status, filename length 4 ok 5 - status, filename length 5 ok 6 - status, filename length 6 ok 7 - status, filename length 7 ok 8 - status, filename length 8 ok 9 - status, filename length 9 ok 10 - status, filename length 10 ok 11 - status, filename length 11 ok 12 - status, filename length 12 ok 13 - status, filename length 13 ok 14 - status, filename length 14 ok 15 - status, filename length 15 ok 16 - status, filename length 16 ok 17 - status, filename length 17 ok 66 - status submodule summary (clean submodule): commit ok 18 - status, filename length 18 ok 67 - status -s submodule summary (clean submodule) ok 19 - status, filename length 19 ok 20 - status, filename length 20 ok 68 - status -z implies porcelain ok 21 - status, filename length 21 ok 22 - status, filename length 22 ok 23 - status, filename length 23 ok 24 - status, filename length 24 # passed all 24 test(s) 1..24 *** t7512-status-help.sh *** ok 69 - commit --dry-run submodule summary (--amend) ok 70 - status succeeds in a read-only repository ok 1 - prepare for conflicts ok 2 - status when conflicts unresolved ok 71 - --ignore-submodules=untracked suppresses submodules with untracked content ok 3 - status when conflicts resolved before commit ok 4 - prepare for rebase conflicts ok 5 - status when rebase --apply in progress before resolving conflicts ok 6 - status when rebase --apply in progress before rebase --continue ok 72 - .gitmodules ignore=untracked suppresses submodules with untracked content ok 7 - prepare for rebase_i_conflicts ok 8 - status during rebase -i when conflicts unresolved ok 73 - .git/config ignore=untracked suppresses submodules with untracked content ok 9 - status during rebase -i after resolving conflicts ok 74 - --ignore-submodules=dirty suppresses submodules with untracked content ok 10 - status when rebasing -i in edit mode ok 75 - .gitmodules ignore=dirty suppresses submodules with untracked content ok 11 - status when splitting a commit ok 76 - .git/config ignore=dirty suppresses submodules with untracked content ok 12 - status after editing the last commit with --amend during a rebase -i ok 77 - --ignore-submodules=dirty suppresses submodules with modified content ok 13 - prepare for several edits ok 14 - status: (continue first edit) second edit ok 78 - .gitmodules ignore=dirty suppresses submodules with modified content ok 15 - status: (continue first edit) second edit and split ok 79 - .git/config ignore=dirty suppresses submodules with modified content ok 16 - status: (continue first edit) second edit and amend ok 80 - --ignore-submodules=untracked doesn't suppress submodules with modified content ok 17 - status: (amend first edit) second edit ok 81 - .gitmodules ignore=untracked doesn't suppress submodules with modified content ok 18 - status: (amend first edit) second edit and split ok 19 - status: (amend first edit) second edit and amend ok 82 - .git/config ignore=untracked doesn't suppress submodules with modified content ok 20 - status: (split first edit) second edit ok 83 - --ignore-submodules=untracked doesn't suppress submodule summary ok 21 - status: (split first edit) second edit and split ok 84 - .gitmodules ignore=untracked doesn't suppress submodule summary ok 22 - status: (split first edit) second edit and amend ok 23 - prepare am_session ok 85 - .git/config ignore=untracked doesn't suppress submodule summary ok 24 - status in an am session: file already exists ok 25 - status in an am session: file does not exist ok 86 - --ignore-submodules=dirty doesn't suppress submodule summary ok 26 - status in an am session: empty patch ok 87 - .gitmodules ignore=dirty doesn't suppress submodule summary ok 27 - status when bisecting ok 28 - status when bisecting while rebasing ok 88 - .git/config ignore=dirty doesn't suppress submodule summary ok 29 - status when rebase --apply conflicts with statushints disabled ok 89 - status (core.commentchar with submodule summary) ok 30 - prepare for cherry-pick conflicts ok 31 - status when cherry-picking before resolving conflicts ok 90 - status (core.commentchar with two chars with submodule summary) ok 91 - --ignore-submodules=all suppresses submodule summary ok 32 - status when cherry-picking after resolving conflicts ok 33 - status when cherry-picking multiple commits ok 34 - status when cherry-picking after committing conflict resolution ok 92 - .gitmodules ignore=all suppresses unstaged submodule summary ok 35 - status shows cherry-pick with invalid oid ok 36 - status does not show error if .git/sequencer is a file ok 37 - status showing detached at and from a tag ok 93 - .git/config ignore=all suppresses unstaged submodule summary ok 38 - status while reverting commit (conflicts) ok 39 - status while reverting commit (conflicts resolved) ok 40 - status after reverting commit ok 94 - setup of test environment ok 41 - status while reverting after committing conflict resolution ok 95 - "status.short=true" same as "-s" ok 42 - prepare for different number of commits rebased ok 96 - "status.short=true" weaker than "--no-short" ok 43 - status: one command done nothing remaining ok 44 - status: two commands done with some white lines in done file ok 97 - "status.short=false" same as "--no-short" ok 98 - "status.short=false" weaker than "-s" ok 45 - status: two remaining commands with some white lines in todo file ok 99 - "status.branch=true" same as "-b" ok 46 - status: handle not-yet-started rebase -i gracefully ok 100 - "status.branch=true" different from "--no-branch" # passed all 46 test(s) 1..46 ok 101 - "status.branch=true" weaker than "--no-branch" *** t7513-interpret-trailers.sh *** ok 102 - "status.branch=true" weaker than "--porcelain" ok 103 - "status.branch=false" same as "--no-branch" ok 104 - "status.branch=false" weaker than "-b" ok 105 - Restore default test environment ok 1 - setup ok 2 - with cmd ok 106 - git commit will commit a staged but ignored submodule ok 3 - with cmd and $1 ok 4 - with cmd and $1 with sh -c ok 5 - with cmd and $1 with shell script ok 6 - without config ok 7 - without config in another order ok 8 - --trim-empty without config ok 9 - with config option on the command line ok 10 - with only a title in the message ok 11 - with a bodiless message that lacks a trailing newline after the subject ok 107 - git commit --dry-run will show a staged but ignored submodule ok 12 - with a bodied message that lacks a trailing newline after the body ok 13 - with a message that lacks a trailing newline after the trailers ok 14 - with multiline title in the message ok 108 - git commit -m will commit a staged but ignored submodule ok 15 - with non-trailer lines mixed with Signed-off-by ok 16 - with non-trailer lines mixed with cherry picked from ok 17 - with non-trailer lines mixed with a configured trailer ok 18 - with non-trailer lines mixed with a non-configured trailer ok 19 - with all non-configured trailers ok 20 - with non-trailer lines only ok 21 - line with leading whitespace is not trailer ok 22 - multiline field treated as one trailer for 25% check ok 23 - multiline field treated as atomic for placement ok 24 - multiline field treated as atomic for replacement ok 25 - multiline field treated as atomic for difference check ok 26 - multiline field treated as atomic for neighbor check ok 27 - with config setup ok 109 - show stash info with "--show-stash" ok 28 - with config setup and ":=" as separators ok 29 - with config setup and "%" as separators ok 30 - with "%" as separators and a message with trailers ok 31 - with config setup and ":=#" as separators ok 32 - with commit basic message ok 110 - no stash info with "--show-stash --no-show-stash" ok 33 - with basic patch ok 34 - with commit complex message as argument ok 35 - with 2 files arguments ok 36 - with message that has comments (#) ok 37 - with message that has comments (;) ok 38 - with message that has an old style conflict block ok 111 - "status.showStash=false" weaker than "--show-stash" ok 39 - with commit complex message and trailer args ok 40 - with complex patch, args and --trim-empty ok 41 - in-place editing with basic patch ok 42 - in-place editing with additional trailer ok 43 - in-place editing on stdin disallowed ok 112 - "status.showStash=true" weaker than "--no-show-stash" ok 44 - in-place editing on non-existing file ok 45 - in-place editing doesn't clobber original file on error ok 46 - using "where = before" ok 47 - overriding configuration with "--where after" ok 113 - no additional info if no stash entries ok 48 - using "--where after" with "--no-where" ok 49 - using "--where after" with "--no-where" defaults to configuration ok 114 - "No commits yet" should be noted in status output ok 50 - using "--no-where" defaults to hardcoded default if nothing configured ok 51 - using "where = after" ok 52 - using "where = end" ok 115 - "No commits yet" should not be noted in status output ok 53 - using "where = start" ok 54 - using "where = before" for a token in the middle of the message ok 116 - "Initial commit" should be noted in commit template ok 55 - using "where = before" and --trim-empty ok 56 - the default is "ifExists = addIfDifferentNeighbor" ok 117 - "Initial commit" should not be noted in commit template ok 57 - default "ifExists" is now "addIfDifferent" ok 58 - using "ifExists = addIfDifferent" with "where = end" ok 59 - using "ifExists = addIfDifferent" with "where = before" ok 118 - --no-optional-locks prevents index update ok 60 - using "ifExists = addIfDifferentNeighbor" with "where = end" ok 61 - using "ifExists = addIfDifferentNeighbor" with "where = after" ok 62 - using "ifExists = addIfDifferentNeighbor" and --trim-empty ok 119 - racy timestamps will be fixed for clean worktree ok 63 - using "ifExists = add" with "where = end" ok 64 - using "ifExists = add" with "where = after" ok 65 - overriding configuration with "--if-exists replace" ok 66 - using "--if-exists replace" with "--no-if-exists" defaults to configuration ok 120 - racy timestamps will be fixed for dirty worktree ok 67 - using "--no-if-exists" defaults to hardcoded default if nothing configured ok 68 - using "--no-if-exists" defaults to hardcoded default if nothing configured (no addition) ok 121 - setup slow status advice ok 122 - slow status advice when core.untrackedCache and fsmonitor are unset ok 123 - slow status advice when core.untrackedCache true, but not fsmonitor ok 124 - slow status advice when core.untrackedCache true, and fsmonitor ok 125 # skip status does not re-read unchanged 4 or 8 GiB file (missing EXPENSIVE) # passed all 125 test(s) 1..125 ok 69 - using "ifExists = replace" *** t7514-commit-patch.sh *** ok 70 - using "ifExists = replace" with "where = after" ok 1 - setup (initial) ok 2 - edit hunk "commit -p -m message" ok 71 - using "ifExists = doNothing" ok 3 - edit hunk "commit --dry-run -p -m message" # passed all 3 test(s) 1..3 *** t7515-status-symlinks.sh *** ok 72 - the default is "ifMissing = add" ok 1 - setup ok 73 - overriding configuration with "--if-missing doNothing" ok 2 - symlink to a directory ok 3 - symlink replacing a directory # passed all 3 test(s) 1..3 *** t7516-commit-races.sh *** ok 74 - when default "ifMissing" is "doNothing" ok 75 - using "ifMissing = add" with "where = end" ok 1 - race to create orphan commit ok 2 - race to create non-orphan commit # passed all 2 test(s) 1..2 *** t7517-per-repo-email.sh *** ok 76 - using "ifMissing = add" with "where = before" ok 77 - using "ifMissing = doNothing" ok 78 - using "--no-if-missing" defaults to configuration ok 79 - using "--no-if-missing" defaults to hardcoded default if nothing configured ok 1 - setup a likely user.useConfigOnly use case ok 2 - fails committing if clone email is not set ok 3 - fails committing if clone email is not set, but EMAIL set ok 4 - succeeds committing if clone email is set ok 5 - succeeds cloning if global email is not set ok 80 - default "where" is now "after" ok 6 - set up rebase scenarios ok 7 - fast-forward rebase does not care about ident ok 81 - with simple command ok 8 - non-fast-forward rebase refuses to write commits ok 9 - fast-forward rebase does not care about ident (interactive) ok 10 - non-fast-forward rebase refuses to write commits (interactive) ok 82 - with command using committer information ok 11 - noop interactive rebase does not care about ident ok 12 - author.name overrides user.name ok 83 - with command using author information ok 84 - setup a commit ok 13 - author.email overrides user.email ok 14 - committer.name overrides user.name ok 85 - cmd takes precedence over command ok 15 - committer.email overrides user.email ok 86 - with command using $ARG ok 16 - author and committer environment variables override config settings # passed all 16 test(s) 1..16 *** t7518-ident-corner-cases.sh *** ok 87 - with failing command using $ARG ok 88 - with empty tokens ok 1 - empty name and missing email ok 89 - with command but no key ok 2 - commit rejects all-crud name ok 3 - commit does not strip trailing dot ok 4 - empty configured name does not auto-detect ok 90 - with no command and no key ok 5 - empty configured name does not auto-detect for committer # passed all 5 test(s) 1..5 *** t7519-status-fsmonitor.sh *** ok 91 - with cut line ok 92 - only trailers ok 93 - only-trailers omits non-trailer in middle of block ok 94 - only input ok 95 - unfold ok 96 - handling of --- lines in input ok 97 - suppress --- handling ok 98 - suppressing --- does not disable cut-line handling ok 99 - handling of --- lines in conjunction with cut-lines # passed all 99 test(s) 1..99 *** t7520-ignored-hook-warning.sh *** ok 1 - incompatible bare repo ok 2 # skip run fsmonitor-daemon in bare repo (missing FSMONITOR_DAEMON) ok 3 # skip run fsmonitor-daemon in virtual repo (missing FSMONITOR_DAEMON,MINGW of MINGW,FSMONITOR_DAEMON) ok 4 - setup ok 5 - fsmonitor extension is off by default ok 6 - update-index --fsmonitor" adds the fsmonitor extension ok 7 - update-index --no-fsmonitor" removes the fsmonitor extension ok 1 - setup ok 8 - update-index --fsmonitor-valid" sets the fsmonitor valid bit ok 2 - no warning if hook is not ignored ok 9 - update-index --no-fsmonitor-valid" clears the fsmonitor valid bit ok 3 - warning if hook is ignored ok 10 - all files returned by integration script get flagged as invalid ok 4 - no warning if advice.ignoredHook set to false ok 5 - no warning if unset advice.ignoredHook and hook removed # passed all 5 test(s) 1..5 ok 11 - newly added files are marked valid *** t7521-ignored-mode.sh *** ok 12 - all unmodified files get marked valid ok 13 - *only* files returned by the integration script get flagged as invalid ok 1 - setup initial commit and ignore file ok 14 - refresh_index() invalidates fsmonitor cache ok 15 - setup preloadIndex to false ok 2 - Verify behavior of status on directories with ignored files ok 3 - Verify status behavior on directory with tracked & ignored files ok 4 - Verify status behavior on directory with untracked and ignored files ok 5 - Verify status matching ignored files on ignored directory ok 6 - Verify status behavior on ignored directory containing tracked file ok 7 - Verify matching ignored files with --untracked-files=normal ok 8 - Verify matching ignored files with --untracked-files=normal ok 9 - Verify status behavior on ignored directory containing tracked file ok 10 - Verify behavior of status with --ignored=no ok 11 - Verify behavior of status with --ignored=traditional and --untracked-files=all ok 12 - Verify behavior of status with --ignored=traditional and --untracked-files=normal # passed all 12 test(s) 1..12 *** t7524-commit-summary.sh *** ok 1 - setup ok 2 - commit summary ignores rewrites # passed all 2 test(s) 1..2 *** t7525-status-rename.sh *** ok 1 - setup ok 2 - status no-options ok 3 - status --no-renames ok 4 - status.renames inherits from diff.renames false ok 5 - status.renames inherits from diff.renames true ok 6 - status.renames overrides diff.renames false ok 7 - status.renames overrides from diff.renames true ok 8 - status status.renames=false ok 9 - status status.renames=true ok 10 - commit honors status.renames=false ok 11 - commit honors status.renames=true ok 12 - status config overridden ok 13 - status score=100% ok 14 - status score=01% ok 15 - copies not overridden by find-renames # passed all 15 test(s) 1..15 *** t7526-commit-pathspec-file.sh *** ok 1 - setup ok 2 - --pathspec-from-file from stdin ok 3 - --pathspec-from-file from file ok 4 - NUL delimiters ok 5 - LF delimiters ok 6 - no trailing delimiter ok 7 - CRLF delimiters ok 8 - quotes ok 9 - quotes not compatible with --pathspec-file-nul ok 10 - only touches what was listed ok 11 - error conditions # passed all 11 test(s) 1..11 *** t7527-builtin-fsmonitor.sh *** 1..0 # SKIP fsmonitor--daemon is not supported on this platform *** t7528-signed-commit-ssh.sh *** ok 1 # skip create signed commits (missing GPGSSH) ok 2 # skip sign commits using literal public keys with ssh-agent (missing GPGSSH) ok 3 # skip create signed commits with keys having defined lifetimes (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 4 # skip verify and show signatures (missing GPGSSH) ok 5 # skip verify-commit exits failure on untrusted signature (missing GPGSSH) ok 6 # skip verify-commit exits failure on expired signature key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 7 # skip verify-commit exits failure on not yet valid signature key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 8 # skip verify-commit succeeds with commit date and key validity matching (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 9 # skip verify-commit exits failure with commit date outside of key validity (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 10 # skip verify-commit exits success with matching minTrustLevel (missing GPGSSH) ok 11 # skip verify-commit exits success with low minTrustLevel (missing GPGSSH) ok 12 # skip verify-commit exits failure with high minTrustLevel (missing GPGSSH) ok 13 # skip verify signatures with --raw (missing GPGSSH) ok 14 # skip proper header is used for hash algorithm (missing GPGSSH) ok 15 # skip show signed commit with signature (missing GPGSSH) ok 16 # skip detect fudged signature (missing GPGSSH) ok 17 # skip detect fudged signature with NUL (missing GPGSSH) ok 18 # skip amending already signed commit (missing GPGSSH) ok 19 # skip show good signature with custom format (missing GPGSSH) ok 20 # skip show bad signature with custom format (missing GPGSSH) ok 21 # skip show untrusted signature with custom format (missing GPGSSH) ok 22 # skip show untrusted signature with undefined trust level (missing GPGSSH) ok 23 # skip show untrusted signature with ultimate trust level (missing GPGSSH) ok 24 # skip show lack of signature with custom format (missing GPGSSH) ok 25 # skip log.showsignature behaves like --show-signature (missing GPGSSH) ok 26 # skip check config gpg.format values (missing GPGSSH) ok 27 # skip detect fudged commit with double signature (TODO) (missing GPGSSH) ok 28 # skip show double signature with custom format (TODO) (missing GPGSSH) ok 29 # skip verify-commit verifies multiply signed commits (TODO) (missing GPGSSH) # passed all 29 test(s) 1..29 *** t7600-merge.sh *** ok 1 - setup ok 2 - test option parsing ok 3 - merge -h with invalid index ok 4 - reject non-strategy with a git-merge-foo name ok 5 - merge c0 with c1 ok 6 - merge c0 with c1 with --ff-only ok 7 - merge from unborn branch ok 8 - merge c1 with c2 ok 9 - merge c1 with c2 when index.lock exists ok 10 - merge --squash c3 with c7 ok 11 - merge --squash --autostash conflict does not attempt to apply autostash ok 12 - merge c3 with c7 with commit.cleanup = scissors ok 13 - merge c3 with c7 with --squash commit.cleanup = scissors ok 14 - merge c1 with c2 and c3 ok 15 - merges with --ff-only ok 16 - merges with merge.ff=only ok 17 - merge c0 with c1 (no-commit) ok 18 - merge c1 with c2 (no-commit) ok 19 - merge c1 with c2 and c3 (no-commit) ok 20 - merge c0 with c1 (squash) ok 21 - merge c0 with c1 (squash, ff-only) ok 22 - merge c1 with c2 (squash) ok 23 - unsuccessful merge of c1 with c2 (squash, ff-only) ok 24 - merge c1 with c2 and c3 (squash) ok 25 - merge c1 with c2 (no-commit in config) ok 26 - merge c1 with c2 (log in config) ok 27 - merge c1 with c2 (log in config gets overridden) ok 28 - merge c1 with c2 (squash in config) ok 29 - override config option -n with --summary ok 30 - override config option -n with --stat ok 31 - override config option --stat ok 32 - merge c1 with c2 (override --no-commit) ok 33 - merge c1 with c2 (override --squash) ok 34 - merge c0 with c1 (no-ff) ok 35 - merge c0 with c1 (merge.ff=false) ok 36 - combine branch.main.mergeoptions with merge.ff ok 37 - tolerate unknown values for merge.ff ok 38 - combining --squash and --no-ff is refused ok 39 - combining --squash and --commit is refused ok 40 - option --ff-only overwrites --no-ff ok 41 - option --no-ff overrides merge.ff=only config ok 42 - merge c0 with c1 (ff overrides no-ff) ok 43 - merge log message ok 44 - merge c1 with c0, c2, c0, and c1 ok 45 - merge c1 with c0, c2, c0, and c1 ok 46 - merge c1 with c1 and c2 ok 47 - merge fast-forward in a dirty tree ok 48 - in-index merge ok 49 - refresh the index before merging ok 50 - merge with --autostash ok 51 - merge with merge.autoStash ok 52 - fast-forward merge with --autostash ok 53 - failed fast-forward merge with --autostash ok 54 - octopus merge with --autostash ok 55 - failed merge (exit 2) with --autostash ok 56 - conflicted merge with --autostash, --abort restores stash ok 57 - completed merge (git commit) with --no-commit and --autostash ok 58 - completed merge (git merge --continue) with --no-commit and --autostash ok 59 - aborted merge (merge --abort) with --no-commit and --autostash ok 60 - aborted merge (reset --hard) with --no-commit and --autostash ok 61 - quit merge with --no-commit and --autostash ok 62 - merge with conflicted --autostash changes ok 63 - merge early part of c2 ok 64 - merge --no-ff --no-commit && commit ok 65 - amending no-ff merge commit ok 66 - merge --no-ff --edit ok 67 - merge annotated/signed tag w/o tracking ok 68 - merge annotated/signed tag w/ tracking ok 69 # skip merge --ff-only tag (missing GPG) ok 70 # skip merge --no-edit tag should skip editor (missing GPG) ok 71 - set up mod-256 conflict scenario ok 72 - merge detects mod-256 conflicts (recursive) ok 73 - merge detects mod-256 conflicts (resolve) ok 74 - merge nothing into void ok 75 - merge can be completed with --continue ok 76 - killed merge can be completed with --continue ok 77 - merge --quit ok 78 - merge suggests matching remote refname ok 79 - suggested names are not ambiguous # passed all 79 test(s) 1..79 *** t7601-merge-pull-config.sh *** ok 1 - setup ok 2 - pull.rebase not set, ff possible ok 3 - pull.rebase not set and pull.ff=true ok 4 - pull.rebase not set and pull.ff=false ok 5 - pull.rebase not set and pull.ff=only ok 6 - pull.rebase not set and --rebase given ok 7 - pull.rebase not set and --no-rebase given ok 8 - pull.rebase not set and --ff given ok 9 - pull.rebase not set and --no-ff given ok 10 - pull.rebase not set and --ff-only given ok 11 - pull.rebase not set (not-fast-forward) ok 12 - pull.rebase not set and pull.ff=true (not-fast-forward) ok 13 - pull.rebase not set and pull.ff=false (not-fast-forward) ok 14 - pull.rebase not set and pull.ff=only (not-fast-forward) ok 15 - pull.rebase not set and --rebase given (not-fast-forward) ok 16 - pull.rebase not set and --no-rebase given (not-fast-forward) ok 17 - pull.rebase not set and --ff given (not-fast-forward) ok 18 - pull.rebase not set and --no-ff given (not-fast-forward) ok 19 - pull.rebase not set and --ff-only given (not-fast-forward) ok 20 - --ff-only overrides --rebase ok 21 - --ff-only overrides --rebase even if first ok 22 - --ff-only overrides --no-rebase ok 23 - pull.ff=only overrides pull.rebase=true ok 24 - pull.ff=only overrides pull.rebase=false ok 25 - --rebase overrides --no-ff ok 26 - --rebase overrides --ff ok 27 - --rebase fast-forwards when possible ok 28 - pull.rebase=true overrides pull.ff=false ok 29 - pull.rebase=true overrides pull.ff=true ok 30 - --ff-only takes precedence over pull.rebase=true ok 31 - --ff-only takes precedence over pull.rebase=false ok 32 - --no-rebase takes precedence over pull.ff=only ok 33 - --rebase takes precedence over pull.ff=only ok 34 - --rebase overrides pull.ff=true ok 35 - --rebase overrides pull.ff=false ok 36 - --rebase overrides pull.ff unset ok 37 - --no-rebase works with --no-ff ok 38 - --no-rebase works with --ff ok 39 - --no-rebase does ff if pull.ff unset ok 40 - --no-rebase heeds pull.ff=true ok 41 - --no-rebase heeds pull.ff=false ok 42 - pull.rebase=true and --no-ff ok 43 - pull.rebase=true and --ff ok 44 - pull.rebase=false and --no-ff ok 45 - pull.rebase=false and --ff, ff possible ok 46 - pull.rebase=false and --ff, ff not possible ok 47 - Multiple heads warns about inability to fast forward ok 48 - Multiple can never be fast forwarded ok 49 - Cannot rebase with multiple heads ok 50 - merge c1 with c2 ok 51 - fast-forward pull succeeds with "true" in pull.ff ok 52 - pull.ff=true overrides merge.ff=false ok 53 - fast-forward pull creates merge with "false" in pull.ff ok 54 - pull prevents non-fast-forward with "only" in pull.ff ok 55 - already-up-to-date pull succeeds with unspecified pull.ff ok 56 - already-up-to-date pull succeeds with "only" in pull.ff ok 57 - already-up-to-date pull/rebase succeeds with "only" in pull.ff ok 58 - merge c1 with c2 (ours in pull.twohead) ok 59 - merge c1 with c2 and c3 (recursive in pull.octopus) ok 60 - merge c1 with c2 and c3 (recursive and octopus in pull.octopus) ok 61 - setup conflicted merge ok 62 - merge picks up the best result ok 63 - merge picks up the best result (from config) ok 64 - merge errors out on invalid strategy ok 65 - merge errors out on invalid strategy # passed all 65 test(s) 1..65 *** t7602-merge-octopus-many.sh *** ok 1 - setup ok 2 - merge c1 with c2, c3, c4, ... c29 ok 3 - merge output uses pretty names ok 4 - merge reduces irrelevant remote heads ok 5 - merge fast-forward output uses pretty names # passed all 5 test(s) 1..5 *** t7603-merge-reduce-heads.sh *** ok 1 - setup ok 2 - merge c1 with c2, c3, c4, c5 ok 3 - pull c2, c3, c4, c5 into c1 ok 4 - setup ok 5 - merge E and I ok 6 - verify merge result ok 7 - add conflicts ok 8 - merge E2 and I2, causing a conflict and resolve it ok 9 - verify merge result ok 10 - fast-forward to redundant refs ok 11 - verify merge result ok 12 - merge up-to-date redundant refs ok 13 - verify merge result # passed all 13 test(s) 1..13 *** t7604-merge-custom-message.sh *** ok 1 - setup ok 2 - merge c2 with a custom message ok 3 - merge --log appends to custom message ok 4 - prepare file with comment line and trailing newlines ok 5 - cleanup commit messages (verbatim option) ok 6 - cleanup commit messages (whitespace option) ok 7 - cleanup merge messages (scissors option) ok 8 - cleanup commit messages (strip option) # passed all 8 test(s) 1..8 *** t7605-merge-resolve.sh *** ok 1 - setup ok 2 - merge c1 to c2 ok 3 - merge c1 to c2, again ok 4 - merge c2 to c3 (fails) # passed all 4 test(s) 1..4 *** t7606-merge-custom.sh *** ok 1 - set up custom strategy ok 2 - setup ok 3 - merge c2 with a custom strategy ok 4 - trivial merge with custom strategy # passed all 4 test(s) 1..4 *** t7607-merge-state.sh *** ok 1 - Ensure we restore original state if no merge strategy handles it # passed all 1 test(s) 1..1 *** t7608-merge-messages.sh *** ok 1 - merge local branch ok 2 - merge octopus branches ok 3 - merge tag ok 4 - ambiguous tag ok 5 - remote-tracking branch # passed all 5 test(s) 1..5 *** t7609-mergetool--lib.sh *** ok 1 - mergetool --tool=vimdiff creates the expected layout # passed all 1 test(s) 1..1 *** t7610-mergetool.sh *** ok 1 - setup ok 2 - custom mergetool ok 3 - gui mergetool ok 16 - setup untracked cache to false ok 17 - compare status with and without fsmonitor ok 18 - status doesn't detect unreported modifications ok 19 - setup untracked cache to true ok 20 - compare status with and without fsmonitor ok 21 - status doesn't detect unreported modifications ok 22 - setup preloadIndex to true ok 23 - setup untracked cache to false ok 24 - compare status with and without fsmonitor ok 25 - status doesn't detect unreported modifications ok 26 - setup untracked cache to true ok 27 - compare status with and without fsmonitor ok 28 - status doesn't detect unreported modifications ok 29 - splitting the index results in the same state ok 30 - ignore .git changes when invalidating UNTR ok 31 - discard_index() also discards fsmonitor info ok 32 - status succeeds after staging/unstaging ok 4 - gui mergetool without merge.guitool set falls back to merge.tool ok 33 - status succeeds with sparse index # passed all 33 test(s) 1..33 *** t7611-merge-abort.sh *** ok 1 - setup ok 2 - fails without MERGE_HEAD (unstarted merge) ok 3 - fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity ok 4 - fails without MERGE_HEAD (completed merge) ok 5 - fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity ok 6 - Forget previous merge ok 7 - Abort after --no-commit ok 8 - Abort after conflicts ok 9 - Clean merge with dirty index fails ok 10 - Conflicting merge with dirty index fails ok 11 - Reset index (but preserve worktree changes) ok 12 - Abort clean merge with non-conflicting dirty worktree ok 13 - Abort conflicting merge with non-conflicting dirty worktree ok 14 - Reset worktree changes ok 15 - Fail clean merge with conflicting dirty worktree ok 16 - Fail conflicting merge with conflicting dirty worktree ok 17 - Reset worktree changes ok 18 - Fail clean merge with matching dirty worktree ok 19 - Fail conflicting merge with matching dirty worktree # passed all 19 test(s) 1..19 *** t7612-merge-verify-signatures.sh *** ok 5 - mergetool crlf ok 1 # skip create signed commits (missing GPG) ok 2 # skip merge unsigned commit with verification (missing GPG) ok 3 # skip merge unsigned commit with merge.verifySignatures=true (missing GPG) ok 4 # skip merge commit with bad signature with verification (missing GPG) ok 5 # skip merge commit with bad signature with merge.verifySignatures=true (missing GPG) ok 6 # skip merge commit with untrusted signature with verification (missing GPG) ok 7 # skip merge commit with untrusted signature with verification and high minTrustLevel (missing GPG) ok 8 # skip merge commit with untrusted signature with verification and low minTrustLevel (missing GPG) ok 9 # skip merge commit with untrusted signature with merge.verifySignatures=true (missing GPG) ok 10 # skip merge commit with untrusted signature with merge.verifySignatures=true and minTrustLevel (missing GPG) ok 11 # skip merge signed commit with verification (missing GPG) ok 12 # skip merge signed commit with merge.verifySignatures=true (missing GPG) ok 13 # skip merge commit with bad signature without verification (missing GPG) ok 14 # skip merge commit with bad signature with merge.verifySignatures=false (missing GPG) ok 15 # skip merge commit with bad signature with merge.verifySignatures=true and --no-verify-signatures (missing GPG) ok 16 # skip merge unsigned commit into unborn branch (missing GPG) # passed all 16 test(s) 1..16 *** t7614-merge-signoff.sh *** ok 6 - mergetool in subdir ok 1 - setup ok 2 - git merge --signoff adds a sign-off line ok 3 - git merge does not add a sign-off line ok 4 - git merge --no-signoff flag cancels --signoff flag # passed all 4 test(s) 1..4 *** t7615-diff-algo-with-mergy-operations.sh *** ok 1 - setup ok 2 - merge c2 to c1 with recursive merge strategy fails with the current default myers diff algorithm ok 3 - merge c2 to c1 with recursive merge strategy succeeds with -Xdiff-algorithm=histogram ok 4 - merge c2 to c1 with recursive merge strategy succeeds with diff.algorithm = histogram ok 5 - cherry-pick c2 to c1 with recursive merge strategy fails with the current default myers diff algorithm ok 6 - cherry-pick c2 to c1 with recursive merge strategy succeeds with -Xdiff-algorithm=histogram ok 7 - cherry-pick c2 to c1 with recursive merge strategy succeeds with diff.algorithm = histogram # passed all 7 test(s) 1..7 *** t7700-repack.sh *** ok 1 - objects in packs marked .keep are not repacked ok 2 - writing bitmaps via command-line can duplicate .keep objects ok 3 - writing bitmaps via config can duplicate .keep objects ok 4 - loose objects in alternate ODB are not repacked ok 5 - --local keeps packs when alternate is objectdir ok 7 - mergetool on file in parent dir ok 6 - --local disables writing bitmaps when connected to alternate ODB ok 7 - packed obs in alt ODB are repacked even when local repo is packless ok 8 - packed obs in alt ODB are repacked when local repo has packs ok 9 - packed obs in alternate ODB kept pack are repacked ok 10 - packed unreachable obs in alternate ODB are not loosened ok 11 - local packed unreachable obs that exist in alternate ODB are not loosened ok 12 - objects made unreachable by grafts only are kept ok 8 - mergetool skips autoresolved ok 13 - repack --keep-pack ok 14 - repacking fails when missing .pack actually means missing objects ok 15 - bitmaps are created by default in bare repos ok 16 - incremental repack does not complain ok 17 - bitmaps can be disabled on bare repos ok 18 - no bitmaps created if .keep files present ok 9 - mergetool merges all from subdir (rerere disabled) ok 19 - auto-bitmaps do not complain if unavailable ok 20 - repacking with a filter works ok 21 - --filter fails with --write-bitmap-index ok 22 - repacking with two filters works ok 23 - --filter works with .keep packs ok 10 - mergetool merges all from subdir (rerere enabled) ok 24 - --filter works with --pack-kept-objects and .keep packs ok 25 - --filter-to stores filtered out objects ok 11 - mergetool skips resolved paths when rerere is active ok 26 - --filter works with --max-pack-size ok 27 - setup for --write-midx tests ok 28 - --write-midx unchanged ok 29 - --write-midx with a new pack ok 30 - --write-midx with -b ok 12 - conflicted stash sets up rerere ok 31 - --write-midx with -d ok 32 - cleans up MIDX when appropriate ok 13 - mergetool takes partial path ok 33 - --write-midx with preferred bitmap tips ok 14 - mergetool delete/delete conflict ok 34 - --write-midx -b packs non-kept objects ok 35 - --write-midx removes stale pack-based bitmaps ok 15 - mergetool produces no errors when keepBackup is used ok 36 - --write-midx with --pack-kept-objects ok 37 # skip --quiet disables progress (missing TTY) ok 38 - clean up .tmp-* packs on error ok 39 - repack -ad cleans up old .tmp-* packs ok 40 - --name-hash-version option passes through to pack-objects ok 16 - mergetool honors tempfile config for deleted files ok 41 - setup for update-server-info ok 42 - updates server info by default ok 43 - -n skips updating server info ok 44 - repack.updateServerInfo=true updates server info ok 45 - repack.updateServerInfo=false skips updating server info ok 46 - -n overrides repack.updateServerInfo=true # passed all 46 test(s) 1..46 *** t7701-repack-unpack-unreachable.sh *** ok 17 - mergetool keeps tempfiles when aborting delete/delete ok 1 - -A with -d option leaves unreachable objects unpacked ok 2 - -A without -d option leaves unreachable objects packed ok 3 - unpacked objects receive timestamp of pack file ok 4 - do not bother loosening old objects ok 5 - gc.recentObjectsHook ok 6 - keep packed objects found only in index ok 7 - repack -k keeps unreachable packed objects ok 8 - repack -k packs unreachable loose objects ok 9 - repack -k packs unreachable loose objects without existing packfiles # passed all 9 test(s) 1..9 *** t7702-repack-cyclic-alternate.sh *** ok 1 - setup ok 2 - re-packing repository with itself as alternate # passed all 2 test(s) 1..2 *** t7703-repack-geometric.sh *** ok 1 - --geometric with no packs ok 2 - --geometric with one pack ok 3 - --geometric with an intact progression ok 4 - --geometric with loose objects ok 5 - --geometric with small-pack rollup ok 6 - --geometric with small- and large-pack rollup ok 7 - --geometric ignores kept packs ok 8 - --geometric ignores --keep-pack packs ok 9 - --geometric chooses largest MIDX preferred pack ok 10 - --geometric with pack.packSizeLimit ok 11 - --geometric --write-midx with packfiles in main and alternate ODB ok 12 - --geometric --with-midx with no local objects ok 13 - --geometric with same pack in main and alternate ODB ok 14 - --geometric -l with non-intact geometric sequence across ODBs ok 15 - --geometric -l disables writing bitmaps with non-local packfiles # passed all 15 test(s) 1..15 *** t7704-repack-cruft.sh *** ok 1 - --expire-to stores pruned objects (now) ok 18 - deleted vs modified submodule ok 2 - --expire-to stores pruned objects (5.minutes.ago) ok 3 - --max-cruft-size creates new packs when above threshold ok 4 - --max-cruft-size combines existing packs when below threshold ok 5 - --max-cruft-size combines smaller packs first ok 6 - setup --max-cruft-size with freshened objects ok 7 - --max-cruft-size with freshened objects (loose) ok 8 - --max-cruft-size with freshened objects (packed) ok 9 - --max-cruft-size with pruning ok 10 - --max-cruft-size ignores non-local packs ok 11 - reachable packs are preferred over cruft ones # passed all 11 test(s) 1..11 *** t7800-difftool.sh *** ok 19 - file vs modified submodule ok 1 - basic usage requires no repo ok 2 - setup ok 3 - custom commands ok 4 - custom tool commands override built-ins ok 5 - difftool ignores bad --tool values ok 6 - difftool forwards arguments to diff ok 7 - difftool without options ignores exit code ok 8 - difftool without options forwards exit code with --trust-exit-code ok 9 - difftool without options forwards exit code with --trust-exit-code for built-ins ok 10 - difftool without options honors difftool.trustExitCode = true ok 11 - difftool without options honors difftool.trustExitCode = false ok 12 - difftool without options ignores exit code with --no-trust-exit-code ok 20 - submodule in subdirectory ok 13 - difftool without options stops on error with --trust-exit-code ok 14 - difftool without options honors exit status if command not found ok 15 - difftool --dir-diff ignores exit code ok 16 - difftool --dir-diff forwards exit code with --trust-exit-code ok 17 - difftool --dir-diff forwards exit code with --trust-exit-code for built-ins ok 18 - difftool --dir-diff honors difftool.trustExitCode = true ok 19 - difftool --dir-diff honors difftool.trustExitCode = false ok 20 - difftool --dir-diff ignores exit code with --no-trust-exit-code ok 21 - difftool --dir-diff stops on error with --trust-exit-code ok 22 - difftool --dir-diff honors exit status if command not found ok 23 - difftool honors --gui ok 24 - difftool with guiDefault auto selects gui tool when there is DISPLAY ok 25 - difftool with guiDefault auto selects regular tool when no DISPLAY ok 21 - directory vs modified submodule ok 26 - difftool with guiDefault true selects gui tool ok 22 - file with no base ok 27 - difftool --no-gui trumps config guiDefault ok 28 - difftool --gui last setting wins ok 23 - custom commands override built-ins ok 29 - difftool --gui works without configured diff.guitool ok 30 - GIT_DIFF_TOOL variable ok 24 - filenames seen by tools start with ./ ok 31 - GIT_DIFF_TOOL overrides ok 32 - GIT_DIFFTOOL_NO_PROMPT variable ok 25 - temporary filenames are used with mergetool.writeToTemp ok 33 - GIT_DIFFTOOL_PROMPT variable ok 34 - difftool.prompt config variable is false ok 35 - difftool merge.prompt = false ok 26 - diff.orderFile configuration is honored ok 36 - difftool.prompt can overridden with -y ok 37 - difftool.prompt can overridden with --prompt ok 38 - difftool last flag wins ok 27 - mergetool -Oorder-file is honored ok 39 - difftool + mergetool config variables ok 40 - difftool..path ok 41 - difftool --extcmd=cat ok 42 - difftool --extcmd cat ok 43 - difftool -x cat ok 44 - difftool --extcmd echo arg1 ok 45 - difftool --extcmd cat arg1 ok 46 - difftool --extcmd cat arg2 ok 47 - setup with 2 files different ok 48 - say no to the first file ok 49 - say no to the second file ok 50 - ending prompt input with EOF ok 28 - mergetool --tool-help shows recognized tools ok 29 - mergetool hideResolved ok 51 - difftool --tool-help ok 52 - setup change in subdirectory ok 53 - difftool -d with growing paths ok 54 - difftool -d --no-symlinks ok 55 - difftool -d --symlinks ok 56 - difftool --dir-diff --no-symlinks ok 57 - difftool --dir-diff --symlinks ok 58 - difftool --dir-diff avoids repeated slashes in TMPDIR --no-symlinks ok 59 - difftool --dir-diff avoids repeated slashes in TMPDIR --symlinks ok 60 - difftool --dir-diff ignores --prompt --no-symlinks ok 61 - difftool --dir-diff ignores --prompt --symlinks ok 62 - difftool --dir-diff branch from subdirectory --no-symlinks ok 63 - difftool --dir-diff branch from subdirectory --symlinks ok 64 - difftool --dir-diff v1 from subdirectory --no-symlinks ok 65 - difftool --dir-diff v1 from subdirectory --symlinks ok 66 - difftool --dir-diff branch from subdirectory w/ pathspec --no-symlinks ok 67 - difftool --dir-diff branch from subdirectory w/ pathspec --symlinks ok 68 - difftool --dir-diff v1 from subdirectory w/ pathspec --no-symlinks ok 69 - difftool --dir-diff v1 from subdirectory w/ pathspec --symlinks ok 70 - difftool --dir-diff from subdirectory with GIT_DIR set --no-symlinks ok 71 - difftool --dir-diff from subdirectory with GIT_DIR set --symlinks ok 72 - difftool --dir-diff when worktree file is missing --no-symlinks ok 73 - difftool --dir-diff when worktree file is missing --symlinks ok 30 - mergetool with guiDefault ok 74 - difftool --dir-diff with unmerged files --no-symlinks ok 31 - mergetool with non-existent tool # passed all 31 test(s) 1..31 *** t7810-grep.sh *** ok 75 - difftool --dir-diff with unmerged files --symlinks ok 76 - difftool --dir-diff --symlinks without unstaged changes ok 77 - difftool --dir-diff syncs worktree with unstaged change --no-symlinks ok 78 - difftool --dir-diff syncs worktree with unstaged change --symlinks ok 1 - setup ok 2 - grep should not segfault with a bad input ok 3 - invalid expression: grep --and -e A ok 4 - grep -w HEAD ok 5 - grep -w HEAD (with --column) ok 79 - difftool --dir-diff syncs worktree without unstaged change --no-symlinks ok 6 - grep -w HEAD (with --column, extended OR) ok 7 - grep -w HEAD (with --column, --invert-match) ok 80 - difftool --dir-diff syncs worktree without unstaged change --symlinks ok 8 - grep HEAD (with --column, --invert-match, extended OR) ok 81 - difftool --dir-diff with no diff --no-symlinks ok 9 - grep HEAD (with --column, --invert-match, extended AND) ok 82 - difftool --dir-diff with no diff --symlinks ok 10 - grep HEAD (with --column, double-negation) ok 11 - grep -w HEAD (with --column, -C) ok 12 - grep -w HEAD (with --line-number, --column) ok 83 - difftool --no-symlinks does not overwrite working tree file ok 13 - grep -w HEAD (with non-extended patterns, --column) ok 14 - grep -w HEAD ok 15 - grep -w HEAD ok 16 - grep -w HEAD (w) ok 84 - difftool --no-symlinks detects conflict ok 17 - grep -w HEAD (x) ok 18 - grep -w HEAD (y-1) ok 19 - grep -w HEAD (y-2) ok 20 - grep -w HEAD (z) ok 21 - grep HEAD (with --column, --only-matching) ok 22 - grep HEAD (t-1) ok 23 - grep HEAD (t-2) ok 24 - grep HEAD (t-3) ok 25 - grep -c HEAD (no /dev/null) ok 26 - grep --max-depth -1 HEAD ok 27 - grep --max-depth 0 HEAD ok 28 - grep --max-depth 0 -- '*' HEAD ok 29 - grep --max-depth 1 HEAD ok 30 - grep --max-depth 0 -- t HEAD ok 85 - difftool properly honors gitlink and core.worktree ok 31 - grep --max-depth 0 -- . t HEAD ok 32 - grep --max-depth 0 -- t . HEAD ok 33 - grep HEAD with '-c grep.extendedRegexp=false' interpreted as BRE ok 34 - grep HEAD with '-c grep.extendedRegexp=true' interpreted as ERE ok 35 - grep HEAD with '-c grep.patternType=basic' interpreted as BRE ok 36 - grep HEAD with '-c grep.patternType=extended' interpreted as ERE ok 37 - grep HEAD with '-c grep.patternType=fixed' interpreted as FIX ok 38 - grep HEAD with grep.patterntype=perl ok 39 # skip grep HEAD with grep.patterntype=perl errors without PCRE (missing !PCRE of !FAIL_PREREQS,!PCRE) ok 40 - grep HEAD with '-c grep.patternType=default -c grep.extendedRegexp=true' interpreted as ERE ok 41 - grep HEAD with '-c grep.extendedRegexp=true -c grep.patternType=default' interpreted as ERE ok 42 - grep HEAD with '-c grep.patternType=extended -c grep.extendedRegexp=false' interpreted as ERE ok 86 - difftool --dir-diff symlinked directories ok 43 - grep HEAD with '-c grep.patternType=basic -c grep.extendedRegexp=true' interpreted as BRE ok 44 - grep HEAD with '-c grep.extendedRegexp=false -c grep.patternType=extended' interpreted as ERE ok 45 - grep HEAD with '-c grep.extendedRegexp=true -c grep.patternType=basic' interpreted as BRE ok 46 - grep HEAD with '-c grep.extendedRegexp=true -c grep.extendedRegexp=false' interpreted as BRE ok 47 - grep HEAD with '-c grep.extendedRegexp=true -c grep.patternType=basic -c grep.extendedRegexp=false' interpreted as BRE ok 48 - grep HEAD with '-c grep.extendedRegexp=true -c grep.patternType=extended -c grep.extendedRegexp=false' interpreted as ERE ok 49 - grep HEAD with '-c grep.patternType=fixed -c grep.extendedRegexp=true -c grep.patternType=default' interpreted as ERE ok 50 - grep HEAD with '-c grep.extendedRegexp=false -c grep.patternType=default -c grep.extendedRegexp=true' interpreted as ERE ok 51 - grep HEAD with '-c grep.extendedRegexp=false -c grep.extendedRegexp=true -c grep.patternType=default' interpreted as ERE ok 52 - grep HEAD with '-c grep.patternType=default -c grep.extendedRegexp=true -c grep.patternType=basic' interpreted as BRE ok 53 - grep HEAD with '-c grep.patternType=extended -c grep.patternType=default' interpreted as BRE ok 54 - grep HEAD with '-c grep.patternType=extended -c grep.patternType=default -c grep.patternType=fixed' interpreted as FIX ok 55 - grep --count HEAD ok 56 - grep --count -h HEAD ok 57 - grep HEAD searches past invalid lines on UTF-8 locale ok 58 - grep HEAD should quote unusual pathnames ok 59 - grep HEAD in subdir should quote unusual relative pathnames ok 60 - grep -z HEAD with unusual pathnames ok 61 - grep -z HEAD in subdir with unusual relative pathnames ok 62 - grep -w in working tree ok 63 - grep -w in working tree (with --column) ok 64 - grep -w in working tree (with --column, extended OR) ok 65 - grep -w in working tree (with --column, --invert-match) ok 66 - grep in working tree (with --column, --invert-match, extended OR) ok 67 - grep in working tree (with --column, --invert-match, extended AND) ok 68 - grep in working tree (with --column, double-negation) ok 69 - grep -w in working tree (with --column, -C) ok 70 - grep -w in working tree (with --line-number, --column) ok 71 - grep -w in working tree (with non-extended patterns, --column) ok 87 - difftool --dir-diff handles modified symlinks ok 72 - grep -w in working tree ok 73 - grep -w in working tree ok 74 - grep -w in working tree (w) ok 75 - grep -w in working tree (x) ok 76 - grep -w in working tree (y-1) ok 77 - grep -w in working tree (y-2) ok 78 - grep -w in working tree (z) ok 79 - grep in working tree (with --column, --only-matching) ok 80 - grep in working tree (t-1) ok 81 - grep in working tree (t-2) ok 82 - grep in working tree (t-3) ok 83 - grep -c in working tree (no /dev/null) ok 84 - grep --max-depth -1 in working tree ok 85 - grep --max-depth 0 in working tree ok 86 - grep --max-depth 0 -- '*' in working tree ok 87 - grep --max-depth 1 in working tree ok 88 - grep --max-depth 0 -- t in working tree ok 89 - grep --max-depth 0 -- . t in working tree ok 90 - grep --max-depth 0 -- t . in working tree ok 91 - grep in working tree with '-c grep.extendedRegexp=false' interpreted as BRE ok 92 - grep in working tree with '-c grep.extendedRegexp=true' interpreted as ERE ok 93 - grep in working tree with '-c grep.patternType=basic' interpreted as BRE ok 94 - grep in working tree with '-c grep.patternType=extended' interpreted as ERE ok 95 - grep in working tree with '-c grep.patternType=fixed' interpreted as FIX ok 96 - grep in working tree with grep.patterntype=perl ok 97 # skip grep in working tree with grep.patterntype=perl errors without PCRE (missing !PCRE of !FAIL_PREREQS,!PCRE) ok 98 - grep in working tree with '-c grep.patternType=default -c grep.extendedRegexp=true' interpreted as ERE ok 99 - grep in working tree with '-c grep.extendedRegexp=true -c grep.patternType=default' interpreted as ERE ok 88 - difftool --dir-diff writes symlinks as raw text ok 100 - grep in working tree with '-c grep.patternType=extended -c grep.extendedRegexp=false' interpreted as ERE ok 101 - grep in working tree with '-c grep.patternType=basic -c grep.extendedRegexp=true' interpreted as BRE ok 102 - grep in working tree with '-c grep.extendedRegexp=false -c grep.patternType=extended' interpreted as ERE ok 103 - grep in working tree with '-c grep.extendedRegexp=true -c grep.patternType=basic' interpreted as BRE ok 89 - add -N and difftool -d ok 104 - grep in working tree with '-c grep.extendedRegexp=true -c grep.extendedRegexp=false' interpreted as BRE ok 105 - grep in working tree with '-c grep.extendedRegexp=true -c grep.patternType=basic -c grep.extendedRegexp=false' interpreted as BRE ok 106 - grep in working tree with '-c grep.extendedRegexp=true -c grep.patternType=extended -c grep.extendedRegexp=false' interpreted as ERE ok 107 - grep in working tree with '-c grep.patternType=fixed -c grep.extendedRegexp=true -c grep.patternType=default' interpreted as ERE ok 108 - grep in working tree with '-c grep.extendedRegexp=false -c grep.patternType=default -c grep.extendedRegexp=true' interpreted as ERE ok 109 - grep in working tree with '-c grep.extendedRegexp=false -c grep.extendedRegexp=true -c grep.patternType=default' interpreted as ERE ok 110 - grep in working tree with '-c grep.patternType=default -c grep.extendedRegexp=true -c grep.patternType=basic' interpreted as BRE ok 111 - grep in working tree with '-c grep.patternType=extended -c grep.patternType=default' interpreted as BRE ok 112 - grep in working tree with '-c grep.patternType=extended -c grep.patternType=default -c grep.patternType=fixed' interpreted as FIX ok 113 - grep --count in working tree ok 114 - grep --count -h in working tree ok 115 - grep in working tree searches past invalid lines on UTF-8 locale ok 116 - grep in working tree should quote unusual pathnames ok 117 - grep in working tree in subdir should quote unusual relative pathnames ok 118 - grep -z in working tree with unusual pathnames ok 119 - grep -z in working tree in subdir with unusual relative pathnames ok 120 # skip grep exactly one char in single-char multibyte file (missing MB_REGEX) ok 121 # skip grep two chars in single-char multibyte file (missing MB_REGEX) ok 90 - difftool --cached with unmerged files ok 122 - grep -l -C ok 123 - grep -c -C ok 124 - grep -L -C ok 125 - grep --files-without-match --quiet ok 126 - grep --max-count 0 (must exit with non-zero) ok 127 - grep --max-count 3 ok 128 - grep --max-count -1 (no limit) ok 91 - outside worktree ok 129 - grep --max-count 1 --context 2 ok 130 - grep --max-count 1 --show-function ok 131 - grep --max-count 2 --show-function ok 132 - grep --max-count 1 --count ok 133 - grep --max-count 1 (multiple files) ok 92 - difftool --gui, --tool and --extcmd are mutually exclusive ok 134 - grep --max-count 1 --context 1 (multiple files) ok 135 - grep -e A --and -e B ok 136 - grep ( -e A --or -e B ) --and -e B ok 137 - grep -e A --and --not -e B ok 138 - grep should ignore GREP_OPTIONS ok 139 - grep -f, non-existent file ok 140 - grep -f, one pattern ok 141 - grep -f, multiple patterns ok 142 - grep, multiple patterns ok 143 - grep -f, ignore empty lines ok 144 - grep -f, ignore empty lines, read patterns from stdin ok 93 - difftool --rotate-to ok 145 - grep -f, use cwd relative file ok 146 - grep -q, silently report matches ok 147 - grep -C1 hunk mark between files ok 94 - difftool --skip-to ok 95 - difftool --rotate/skip-to error condition # passed all 95 test(s) 1..95 ok 148 - log grep setup ok 149 - log grep (1) *** t7811-grep-open.sh *** ok 150 - log grep (2) ok 151 - log grep (3) ok 152 - log grep (4) ok 153 - log grep (5) ok 154 - log grep (6) ok 155 - log grep (7) ok 156 - log grep (8) ok 157 - log grep (9) ok 158 - log grep (9) ok 159 - log --grep-reflog can only be used under -g ok 160 - log with multiple --grep uses union ok 161 - log --all-match with multiple --grep uses intersection ok 162 - log with multiple --author uses union ok 163 - log --all-match with multiple --author still uses union ok 164 - log --grep --author uses intersection ok 165 - log --grep --grep --author takes union of greps and intersects with author ok 1 - determine default pager ok 166 - log ---all-match -grep --author --author still takes union of authors and intersects with grep ok 167 - log --grep --author --author takes union of authors and intersects with grep ok 168 - log --all-match --grep --grep --author takes intersection ok 169 - log --author does not search in timestamp ok 170 - log --committer does not search in timestamp ok 171 - grep with CE_VALID file ok 172 - grep -p with userdiff ok 173 - grep -p ok 174 - grep -p -B5 ok 175 - grep -W ok 2 - setup ok 176 - grep -W shows no trailing empty lines ok 3 - git grep -O ok 177 - grep -W with userdiff ok 4 - git grep -O --cached ok 178 - includes preceding comment ok 179 - includes function line ok 180 - includes matching line ok 181 - includes last line of the function ok 5 - git grep -O --no-index ok 6 - setup: fake "less" ok 182 - grep --threads=0 & -c grep.threads=0 ok 183 - grep --threads=1 & -c grep.threads=1 ok 7 - git grep -O jumps to line in less ok 184 - grep --threads=2 & -c grep.threads=2 ok 8 - modified file ok 185 - grep --threads=3 & -c grep.threads=3 ok 186 - grep --threads=4 & -c grep.threads=4 ok 9 - copes with color settings ok 187 - grep --threads=5 & -c grep.threads=5 ok 188 - grep --threads=6 & -c grep.threads=6 ok 10 - run from subdir # passed all 10 test(s) 1..10 *** t7812-grep-icase-non-ascii.sh *** ok 189 - grep --threads=7 & -c grep.threads=7 ok 190 - grep --threads=8 & -c grep.threads=8 ok 191 - grep --threads=9 & -c grep.threads=9 ok 192 - grep --threads=10 & -c grep.threads=10 ok 193 # skip grep --threads=N or pack.threads=N warns when no pthreads (missing !PTHREADS of !PTHREADS,!FAIL_PREREQS) ok 194 - grep from a subdirectory to search wider area (1) ok 195 - grep from a subdirectory to search wider area (2) ok 196 - grep -Fi ok 1 # skip setup (missing GETTEXT_LOCALE) ok 2 # skip setup REGEX_LOCALE prerequisite (missing GETTEXT_LOCALE) ok 3 # skip grep literal string, no -F (missing REGEX_LOCALE) ok 4 # skip grep pcre utf-8 icase (missing GETTEXT_LOCALE of GETTEXT_LOCALE,PCRE) ok 5 # skip grep pcre utf-8 string with "+" (missing GETTEXT_LOCALE of GETTEXT_LOCALE,PCRE) ok 197 - outside of git repository ok 6 # skip grep literal string, with -F (missing REGEX_LOCALE) ok 7 # skip grep string with regex, with -F (missing REGEX_LOCALE) ok 8 # skip pickaxe -i on non-ascii (missing REGEX_LOCALE) ok 9 # skip PCRE v2: setup invalid UTF-8 data (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 10 # skip PCRE v2: grep ASCII from invalid UTF-8 data (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 11 # skip PCRE v2: grep ASCII from invalid UTF-8 data (PCRE2 bug #2642) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 12 # skip PCRE v2: grep non-ASCII from invalid UTF-8 data (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 13 # skip PCRE v2: grep non-ASCII from invalid UTF-8 data (PCRE2 bug #2642) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 14 # skip PCRE v2: grep non-ASCII from invalid UTF-8 data with -i (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 15 # skip PCRE v2: grep non-ASCII from invalid UTF-8 data with -i (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2,PCRE2_MATCH_INVALID_UTF) ok 16 # skip PCRE v2: grep non-ASCII from invalid UTF-8 data with -i (PCRE2 bug #2642) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2,PCRE2_MATCH_INVALID_UTF) ok 17 # skip PCRE v2: grep non-literal ASCII from UTF-8 (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) ok 18 # skip PCRE v2: grep avoid endless loop bug (missing GETTEXT_LOCALE of GETTEXT_LOCALE,LIBPCRE2) # passed all 18 test(s) 1..18 *** t7813-grep-icase-iso.sh *** ok 198 - outside of git repository with fallbackToNoIndex ok 199 - no repository with path outside $cwd ok 200 - inside git repository but with --no-index ok 1 # skip setup (missing GETTEXT_ISO_LOCALE) ok 2 # skip grep pcre string (missing GETTEXT_ISO_LOCALE of GETTEXT_ISO_LOCALE,PCRE) # passed all 2 test(s) 1..2 *** t7814-grep-recurse-submodules.sh *** ok 201 - grep --no-index descends into repos, but not .git ok 202 - setup double-dash tests ok 203 - grep -- pattern ok 204 - grep -- pattern -- pathspec ok 205 - grep -e pattern -- path ok 206 - grep -e -- -- path ok 207 - dashdash disambiguates rev as rev ok 208 - dashdash disambiguates pathspec as pathspec ok 209 - report bogus arg without dashdash ok 210 - report bogus rev with dashdash ok 211 - allow non-existent path with dashdash ok 212 - grep --no-index pattern -- path ok 213 - grep --no-index complains of revs ok 214 - grep --no-index prefers paths to revs ok 215 - grep --no-index does not "diagnose" revs ok 216 - grep --perl-regexp pattern ok 217 # skip grep --perl-regexp pattern errors without PCRE (missing !PCRE of !FAIL_PREREQS,!PCRE) ok 218 - grep -P pattern ok 219 - grep -P with (*NO_JIT) doesn't error out ok 220 # skip grep -P pattern errors without PCRE (missing !PCRE of !FAIL_PREREQS,!PCRE) ok 221 - grep pattern with grep.extendedRegexp=true ok 222 - grep -P pattern with grep.extendedRegexp=true ok 223 - grep -P -v pattern ok 224 - grep -P -i pattern ok 225 - grep -P -w pattern ok 226 - grep -P backreferences work (the PCRE NO_AUTO_CAPTURE flag is not set) ok 227 - grep -G invalidpattern properly dies ok 1 - setup directory structure and submodule ok 228 - grep invalidpattern properly dies with grep.patternType=basic ok 229 - grep -E invalidpattern properly dies ok 230 - grep invalidpattern properly dies with grep.patternType=extended ok 2 - grep correctly finds patterns in a submodule ok 231 - grep -P invalidpattern properly dies ok 232 - grep invalidpattern properly dies with grep.patternType=perl ok 3 - grep finds patterns in a submodule via config ok 233 - grep -G -E -F pattern ok 234 - grep pattern with grep.patternType=basic, =extended, =fixed ok 235 - grep -E -F -G pattern ok 4 - grep --no-recurse-submodules overrides config ok 236 - grep pattern with grep.patternType=extended, =fixed, =basic ok 5 - grep and basic pathspecs ok 237 - grep -F -G -E pattern ok 238 - grep pattern with grep.patternType=fixed, =basic, =extended ok 239 - grep -G -F -P -E pattern ok 240 - grep pattern with grep.patternType=fixed, =basic, =perl, =extended ok 241 - grep -G -F -E -P pattern ok 242 - grep pattern with grep.patternType=fixed, =basic, =extended, =perl ok 243 - grep -P pattern with grep.patternType=fixed ok 244 - grep -F pattern with grep.patternType=basic ok 245 - grep -G pattern with grep.patternType=fixed ok 246 - grep -E pattern with grep.patternType=fixed ok 6 - grep and nested submodules ok 7 - grep and multiple patterns ok 247 - grep --color, separator ok 248 - grep --break ok 8 - grep and multiple patterns ok 249 - grep --break with context ok 9 - basic grep tree ok 250 - grep --heading ok 10 - grep tree HEAD^ ok 11 - grep tree HEAD^^ ok 12 - grep tree and pathspecs ok 13 - grep tree and pathspecs ok 14 - grep tree and more pathspecs ok 15 - grep tree and more pathspecs ok 251 - mimic ack-grep --group ok 252 - grep -E "^ " ok 253 - grep -P "^ " ok 254 - grep --color -e A -e B with context ok 255 - grep --color -e A --and -e B with context ok 16 - grep recurse submodule colon in name ok 256 - grep --color -e A --and --not -e B with context ok 257 - grep --color -e A --and -e B -p with context ok 258 - grep can find things only in the work tree ok 259 - grep can find things only in the work tree (i-t-a) ok 17 - grep history with moved submoules ok 260 - grep does not search work tree with assume unchanged ok 261 - grep can find things only in the index ok 262 - grep does not report i-t-a with -L --cached ok 263 - grep does not report i-t-a and assume unchanged with -L # passed all 263 test(s) 1..263 *** t7815-grep-binary.sh *** ok 18 - grep using relative path ok 1 - setup ok 2 - git grep ina a ok 3 - git grep -ah ina a ok 4 - git grep -I ina a ok 5 - git grep -c ina a ok 6 - git grep -l ina a ok 7 - git grep -L bar a ok 8 - git grep -q ina a ok 9 - git grep -F ile a ok 10 - git grep -Fi iLE a ok 11 - git grep ile a not ok 12 - git grep .fi a # TODO known breakage ok 13 - grep respects binary diff attribute ok 14 - grep --cached respects binary diff attribute ok 15 - grep --cached respects binary diff attribute (2) ok 16 - grep revision respects binary diff attribute ok 17 - grep respects not-binary diff attribute ok 18 - setup textconv filters ok 19 - grep does not honor textconv ok 20 - grep --textconv honors textconv ok 21 - grep --no-textconv does not honor textconv ok 22 - grep --textconv blob honors textconv ok 19 - grep from a subdir # still have 1 known breakage(s) # passed all remaining 21 test(s) 1..22 ok 20 - --recurse-submodules and --untracked are incompatible *** t7816-grep-binary-pattern.sh *** ok 21 - grep --recurse-submodules --no-index ignores --recurse-submodules ok 22 - grep --recurse-submodules should pass the pattern type along ok 23 - grep --recurse-submodules with submodules without .gitmodules in the working tree ok 1 - setup ok 2 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'yf' a ok 3 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'yf' a ok 4 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'yf' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 5 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'yx' a ok 6 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'yx' a ok 7 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'yx' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 8 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Yf' a ok 9 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Yf' a ok 10 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'Yf' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 24 - grep --recurse-submodules without --cached considers worktree modifications ok 11 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Yx' a ok 12 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Yx' a ok 13 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'Yx' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 14 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yf' a ok 15 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yf' a ok 16 # skip LC_ALL='' git grep -P -f f 'yf' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 17 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yx' a ok 18 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yx' a ok 19 # skip LC_ALL='' git grep -P -f f 'yx' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 20 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'æð' a ok 25 - grep --recurse-submodules with --cached ignores worktree modifications ok 21 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'æð' a ok 22 # skip LC_ALL='' git grep -P -f f 'æð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 23 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'em[*]c' a ok 24 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'em[*]c' a ok 25 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'em[*]c' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 26 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'EM[*]C' a ok 27 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'EM[*]C' a ok 28 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'EM[*]C' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 29 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'y[f]' a ok 30 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'y[f]' a ok 31 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'y[f]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 32 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F '[y]f' a not ok 26 - grep --textconv: superproject .gitattributes does not affect submodules # TODO known breakage ok 33 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F '[y]f' a ok 34 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F '[y]f' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 35 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Y[F]' a ok 36 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Y[F]' a ok 37 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'Y[F]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 38 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi '[Y]F' a ok 39 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi '[Y]F' a ok 40 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi '[Y]F' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 41 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'æ[ð]' a ok 42 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'æ[ð]' a ok 43 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'æ[ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 44 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F '[æ]ð' a ok 45 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F '[æ]ð' a not ok 27 - grep --textconv: superproject .gitattributes (from index) does not affect submodules # TODO known breakage ok 46 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F '[æ]ð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 47 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[æ]ð' a ok 48 - LC_ALL='C' git grep -P -f f -i '[æ]ð' a ok 49 # skip LC_ALL='' git grep -P -f f -i '[æ]ð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 50 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Æ[Ð]' a ok 51 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Æ[Ð]' a ok 52 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'Æ[Ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 53 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Æ[Ð]' a ok 54 - LC_ALL='C' git grep -P -f f -i 'Æ[Ð]' a ok 55 # skip LC_ALL='' git grep -P -f f -i 'Æ[Ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 56 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[Æ]Ð' a ok 57 - LC_ALL='C' git grep -P -f f -i '[Æ]Ð' a ok 58 # skip LC_ALL='' git grep -P -f f -i '[Æ]Ð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) not ok 28 - grep --textconv: superproject .git/info/attributes does not affect submodules # TODO known breakage ok 59 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[Æ]ð' a ok 60 - LC_ALL='C' git grep -P -f f -i '[Æ]ð' a ok 61 # skip LC_ALL='' git grep -P -f f -i '[Æ]ð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 62 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'ÆÐ' a ok 63 - LC_ALL='C' git grep -P -f f -i 'ÆÐ' a ok 64 # skip LC_ALL='' git grep -P -f f -i 'ÆÐ' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 65 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'y[f]' a ok 66 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'y[f]' a ok 67 # skip LC_ALL='' git grep -P -f f 'y[f]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 68 - error, PCRE v2 only: LC_ALL='C' git grep -f f '[y]f' a ok 69 - error, PCRE v2 only: LC_ALL='C' git grep -f f '[y]f' a ok 70 # skip LC_ALL='' git grep -P -f f '[y]f' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) not ok 29 - grep --textconv correctly reads submodule .gitattributes # TODO known breakage ok 71 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Y[F]' a ok 72 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Y[F]' a ok 73 # skip LC_ALL='' git grep -P -f f -i 'Y[F]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 74 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[Y]f' a ok 75 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[Y]f' a ok 76 # skip LC_ALL='' git grep -P -f f -i '[Y]f' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 77 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'æ[ð]' a ok 78 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'æ[ð]' a ok 79 # skip LC_ALL='' git grep -P -f f 'æ[ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 80 - error, PCRE v2 only: LC_ALL='C' git grep -f f '[æ]ð' a ok 81 - error, PCRE v2 only: LC_ALL='C' git grep -f f '[æ]ð' a ok 82 # skip LC_ALL='' git grep -P -f f '[æ]ð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) not ok 30 - grep --textconv correctly reads submodule .gitattributes (from index) # TODO known breakage ok 83 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Æ[Ð]' a ok 84 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Æ[Ð]' a ok 85 # skip LC_ALL='' git grep -P -f f -i 'Æ[Ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 86 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'em.*c' a ok 87 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'em.*c' a ok 88 # skip LC_ALL='' git grep -P -f f 'em.*c' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 89 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'EM.*c' a ok 90 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'EM.*c' a ok 91 # skip LC_ALL='' git grep -P -f f -i 'EM.*c' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 92 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'em[*]c' a ok 93 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'em[*]c' a ok 94 # skip LC_ALL='' git grep -P -f f 'em[*]c' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) not ok 31 - grep --textconv correctly reads submodule .git/info/attributes # TODO known breakage ok 95 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'EM[*]C' a ok 96 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'EM[*]C' a ok 97 # skip LC_ALL='' git grep -P -f f -i 'EM[*]C' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 98 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'NOMATCHð' a ok 99 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'NOMATCHð' a ok 100 # skip LC_ALL='' git grep -P -f f -i 'NOMATCHð' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 101 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[Æ]NOMATCH' a ok 102 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[Æ]NOMATCH' a ok 103 # skip LC_ALL='' git grep -P -f f -i '[Æ]NOMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 104 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[æ]NOMATCH' a ok 105 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i '[æ]NOMATCH' a ok 106 # skip LC_ALL='' git grep -P -f f -i '[æ]NOMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 107 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'y[f]' a not ok 32 - grep saves textconv cache in the appropriate repository # TODO known breakage ok 108 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'y[f]' a ok 109 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'y[f]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 110 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Y[F]' a ok 111 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Y[F]' a ok 112 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'Y[F]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 113 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yNOMATCH' a ok 114 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yNOMATCH' a ok 115 # skip LC_ALL='' git grep -P -f f 'yNOMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 116 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'NOMATCH' a ok 117 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'NOMATCH' a ok 118 # skip LC_ALL='' git grep -P -f f 'NOMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 119 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'YNOMATCH' a ok 120 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'YNOMATCH' a ok 121 # skip LC_ALL='' git grep -P -f f -i 'YNOMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 122 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'NOMATCH' a ok 123 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'NOMATCH' a ok 124 # skip LC_ALL='' git grep -P -f f -i 'NOMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 125 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'æ[ð]' a ok 126 - error, PCRE v2 only: LC_ALL='C' git grep -f f -F 'æ[ð]' a ok 127 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -F 'æ[ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 128 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Æ[Ð]' a ok 129 - error, PCRE v2 only: LC_ALL='C' git grep -f f -Fi 'Æ[Ð]' a ok 130 # skip error, PCRE v2 only: LC_ALL='' git grep -f f -Fi 'Æ[Ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 131 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Æ[Ð]' a ok 132 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'Æ[Ð]' a ok 133 # skip LC_ALL='' git grep -P -f f -i 'Æ[Ð]' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 134 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yNÓMATCH' a ok 135 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'yNÓMATCH' a ok 136 # skip LC_ALL='' git grep -P -f f 'yNÓMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 137 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'NÓMATCH' a ok 138 - error, PCRE v2 only: LC_ALL='C' git grep -f f 'NÓMATCH' a ok 139 # skip LC_ALL='' git grep -P -f f 'NÓMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 33 - grep partially-cloned submodule ok 140 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'YNÓMATCH' a ok 141 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'YNÓMATCH' a ok 142 # skip LC_ALL='' git grep -P -f f -i 'YNÓMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) ok 143 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'NÓMATCH' a ok 144 - error, PCRE v2 only: LC_ALL='C' git grep -f f -i 'NÓMATCH' a ok 145 # skip LC_ALL='' git grep -P -f f -i 'NÓMATCH' a (missing GETTEXT_LOCALE of LIBPCRE2,GETTEXT_LOCALE) # passed all 145 test(s) 1..145 *** t7817-grep-sparse-checkout.sh *** ok 34 - check scope of core.useReplaceRefs # still have 7 known breakage(s) # passed all remaining 27 test(s) 1..34 *** t7900-maintenance.sh *** ok 1 - help text ok 1 - setup ok 2 - working tree grep honors sparse checkout ok 2 - run [--auto|--quiet] ok 3 - maintenance.auto config option ok 4 - maintenance.autoDetach=true config option ok 5 - maintenance.autoDetach=false config option ok 3 - grep searches unmerged file despite not matching sparsity patterns ok 4 - grep --cached searches entries with the SKIP_WORKTREE bit ok 6 - gc.autoDetach=true config option ok 5 - grep --recurse-submodules honors sparse checkout in submodule ok 7 - gc.autoDetach=false config option ok 6 - grep --recurse-submodules --cached searches entries with the SKIP_WORKTREE bit ok 7 - working tree grep does not search the index with CE_VALID and SKIP_WORKTREE ok 8 - maintenance.autoDetach overrides gc.autoDetach ok 8 - grep --cached searches index entries with both CE_VALID and SKIP_WORKTREE # passed all 8 test(s) 1..8 ok 9 - register uses XDG_CONFIG_HOME config if it exists *** t8001-annotate.sh *** ok 10 - register does not need XDG_CONFIG_HOME config to exist ok 11 - unregister uses XDG_CONFIG_HOME config if it exists ok 12 - unregister does not need XDG_CONFIG_HOME config to exist ok 13 - maintenance..enabled ok 1 - setup A lines ok 2 - blame 1 author ok 3 - blame working copy ok 4 - blame with --contents ok 5 - blame with --contents in a bare repo ok 6 - blame with --contents changed ok 14 - run --task= ok 15 - core.commitGraph=false prevents write process ok 7 - blame in a bare repo without starting commit ok 8 - blame by tag objects ok 9 - setup B lines ok 10 - blame 2 authors ok 11 - blame with --contents and revision ok 16 - commit-graph auto condition ok 12 - setup B1 lines (branch1) ok 17 - run --task=bogus ok 18 - run --task duplicate ok 13 - blame 2 authors + 1 branch1 author ok 19 - run --task=prefetch with no remotes ok 14 - setup B2 lines (branch2) ok 15 - blame 2 authors + 1 branch2 author ok 16 - merge branch1 & branch2 ok 17 - blame 2 authors + 2 merged-in authors ok 18 - blame --first-parent blames merge for branch1 ok 19 - blame ancestor ok 20 - blame great-ancestor ok 21 - setup evil merge ok 22 - blame evil merge ok 20 - prefetch multiple remotes ok 21 - loose-objects task ok 22 - maintenance.loose-objects.auto ok 23 - incremental-repack task ok 24 # skip incremental-repack 2g limit (missing EXPENSIVE) ok 23 - blame huge graft ok 24 - setup incomplete line ok 25 - maintenance.incremental-repack.auto ok 25 - blame incomplete line ok 26 - setup edits ok 27 - blame edits ok 28 - setup obfuscated email ok 29 - blame obfuscated email ok 30 - blame -L 1 (all) ok 31 - blame -L , (all) ok 32 - blame -L X (X to end) ok 33 - blame -L X, (X to end) ok 34 - blame -L ,Y (up to Y) ok 26 - maintenance.incremental-repack.auto (when config is unset) ok 35 - blame -L X,X ok 36 - blame -L X,Y ok 37 - blame -L Y,X (undocumented) ok 27 - pack-refs task ok 38 - blame -L -X ok 28 - --auto and --schedule incompatible ok 39 - blame -L 0 ok 29 - invalid --schedule value ok 40 - blame -L ,0 ok 41 - blame -L ,+0 ok 42 - blame -L X,+0 ok 43 - blame -L X,+1 ok 44 - blame -L X,+N ok 45 - blame -L ,-0 ok 46 - blame -L X,-0 ok 47 - blame -L X,-1 ok 48 - blame -L X,-N ok 49 - blame -L /RE/ (RE to end) ok 50 - blame -L /RE/,/RE2/ ok 51 - blame -L X,/RE/ ok 52 - blame -L /RE/,Y ok 53 - blame -L /RE/,+N ok 54 - blame -L /RE/,-N ok 55 - blame -L X (X == nlines) ok 56 - blame -L X (X == nlines + 1) ok 57 - blame -L X (X > nlines) ok 58 - blame -L ,Y (Y == nlines) ok 59 - blame -L ,Y (Y == nlines + 1) ok 60 - blame -L ,Y (Y > nlines) ok 61 - blame -L multiple (disjoint) ok 62 - blame -L multiple (disjoint: unordered) ok 30 - --schedule inheritance weekly -> daily -> hourly ok 63 - blame -L multiple (adjacent) ok 64 - blame -L multiple (adjacent: unordered) ok 65 - blame -L multiple (overlapping) ok 66 - blame -L multiple (overlapping: unordered) ok 67 - blame -L multiple (superset/subset) ok 68 - blame -L multiple (superset/subset: unordered) ok 69 - blame -L /RE/ (relative) ok 70 - blame -L /RE/ (relative: no preceding range) ok 71 - blame -L /RE/ (relative: adjacent) ok 72 - blame -L /RE/ (relative: not found) ok 73 - blame -L /RE/ (relative: end-of-file) ok 74 - blame -L ^/RE/ (absolute) ok 75 - blame -L ^/RE/ (absolute: no preceding range) ok 76 - blame -L ^/RE/ (absolute: not found) ok 77 - blame -L ^/RE/ (absolute: end-of-file) ok 78 - setup -L :regex ok 79 - blame -L :literal ok 80 - blame -L :regex ok 81 - blame -L :nomatch ok 82 - blame -L :RE (relative) ok 83 - blame -L :RE (relative: no preceding range) ok 84 - blame -L :RE (relative: not found) ok 85 - blame -L :RE (relative: end-of-file) ok 86 - blame -L ^:RE (absolute) ok 31 - maintenance.strategy inheritance ok 87 - blame -L ^:RE (absolute: no preceding range) ok 88 - blame -L ^:RE (absolute: not found) ok 89 - blame -L ^:RE (absolute: end-of-file) ok 90 - blame -L :funcname with userdiff driver ok 32 - register and unregister ok 33 - register with no value for maintenance.repo ok 91 - setup incremental ok 92 - blame empty ok 34 - unregister with no value for maintenance.repo ok 93 - blame -L 0 empty ok 94 - blame -L 1 empty ok 95 - blame -L 2 empty ok 96 - blame half ok 35 - register and unregister with regex metacharacters ok 97 - blame -L 0 half ok 98 - blame -L 1 half ok 99 - blame -L 2 half ok 100 - blame -L 3 half ok 101 - blame full ok 36 - start without GIT_TEST_MAINT_SCHEDULER ok 102 - blame -L 0 full ok 103 - blame -L 1 full ok 37 - start --scheduler= ok 104 - blame -L 2 full ok 105 - blame -L 3 full ok 106 - blame -L ok 107 - blame -L X,+ ok 38 - start from empty cron table ok 108 - blame -L X,- ok 109 - blame -L X (non-numeric X) ok 110 - blame -L X,Y (non-numeric Y) ok 111 - blame -L X,+N (non-numeric N) ok 39 - stop from existing schedule ok 112 - blame -L X,-N (non-numeric N) ok 113 - blame -L ,^/RE/ ok 40 - start preserves existing schedule ok 41 - magic markers are correct ok 114 - blame progress on a full file ok 42 - stop preserves surrounding schedule ok 115 - blame progress on a single range ok 116 - blame progress on multiple ranges ok 117 - annotate old revision # passed all 117 test(s) 1..117 *** t8002-blame.sh *** ok 43 - start and stop macOS maintenance ok 44 - use launchctl list to prevent extra work ok 1 - setup A lines ok 45 - start and stop Windows maintenance ok 2 - blame 1 author ok 3 - blame working copy ok 4 - blame with --contents ok 46 - start and stop Linux/systemd maintenance ok 5 - blame with --contents in a bare repo ok 6 - blame with --contents changed ok 7 - blame in a bare repo without starting commit ok 8 - blame by tag objects ok 9 - setup B lines ok 10 - blame 2 authors ok 11 - blame with --contents and revision ok 12 - setup B1 lines (branch1) ok 13 - blame 2 authors + 1 branch1 author ok 47 - start and stop when several schedulers are available ok 14 - setup B2 lines (branch2) ok 15 - blame 2 authors + 1 branch2 author ok 48 - register preserves existing strategy ok 16 - merge branch1 & branch2 ok 17 - blame 2 authors + 2 merged-in authors ok 49 - fails when running outside of a repository ok 18 - blame --first-parent blames merge for branch1 ok 19 - blame ancestor ok 50 - register and unregister bare repo ok 20 - blame great-ancestor ok 21 - setup evil merge ok 22 - blame evil merge ok 51 - failed schedule prevents config change ok 52 - --no-detach causes maintenance to not run in background ok 53 - --detach causes maintenance to run in background ok 54 - repacking loose objects is quiet ok 55 - maintenance aborts with existing lock file # passed all 55 test(s) 1..55 *** t8003-blame-corner-cases.sh *** ok 1 - setup ok 2 - straight copy without -C ok 3 - straight move without -C ok 4 - straight copy with -C ok 5 - straight move with -C ok 6 - straight copy with -C -C ok 7 - straight move with -C -C ok 8 - append without -C ok 9 - append with -C ok 10 - append with -C -C ok 11 - append with -C -C -C ok 12 - blame wholesale copy ok 13 - blame wholesale copy and more ok 14 - blame wholesale copy and more in the index ok 23 - blame huge graft ok 24 - setup incomplete line ok 25 - blame incomplete line ok 15 - blame during cherry-pick with file rename conflict ok 26 - setup edits ok 27 - blame edits ok 28 - setup obfuscated email ok 16 - blame path that used to be a directory ok 29 - blame obfuscated email ok 17 - blame to a commit with no author name ok 18 - blame -L with invalid start ok 30 - blame -L 1 (all) ok 19 - blame -L with invalid end ok 31 - blame -L , (all) ok 20 - blame parses part of -L ok 21 - blame -Ln,-(n+1) ok 32 - blame -L X (X to end) ok 22 - indent of line numbers, nine lines ok 23 - indent of line numbers, ten lines ok 33 - blame -L X, (X to end) ok 34 - blame -L ,Y (up to Y) ok 24 - setup file with CRLF newlines ok 35 - blame -L X,X ok 25 - blame file with CRLF core.autocrlf true ok 36 - blame -L X,Y ok 26 - blame file with CRLF attributes text ok 37 - blame -L Y,X (undocumented) ok 38 - blame -L -X ok 39 - blame -L 0 ok 40 - blame -L ,0 ok 41 - blame -L ,+0 ok 42 - blame -L X,+0 ok 27 - blame file with CRLF core.autocrlf=true ok 43 - blame -L X,+1 ok 44 - blame -L X,+N ok 45 - blame -L ,-0 ok 46 - blame -L X,-0 ok 47 - blame -L X,-1 ok 48 - blame -L X,-N ok 28 - setup coalesce tests ok 49 - blame -L /RE/ (RE to end) ok 29 - blame coalesce ok 30 - blame does not coalesce non-adjacent result lines # passed all 30 test(s) 1..30 ok 50 - blame -L /RE/,/RE2/ *** t8004-blame-with-conflicts.sh *** ok 51 - blame -L X,/RE/ ok 52 - blame -L /RE/,Y ok 53 - blame -L /RE/,+N ok 54 - blame -L /RE/,-N ok 55 - blame -L X (X == nlines) ok 56 - blame -L X (X == nlines + 1) ok 57 - blame -L X (X > nlines) ok 58 - blame -L ,Y (Y == nlines) ok 59 - blame -L ,Y (Y == nlines + 1) ok 60 - blame -L ,Y (Y > nlines) ok 61 - blame -L multiple (disjoint) ok 62 - blame -L multiple (disjoint: unordered) ok 63 - blame -L multiple (adjacent) ok 64 - blame -L multiple (adjacent: unordered) ok 65 - blame -L multiple (overlapping) ok 66 - blame -L multiple (overlapping: unordered) ok 67 - blame -L multiple (superset/subset) ok 1 - setup first case ok 68 - blame -L multiple (superset/subset: unordered) ok 2 - blame runs on unconflicted file while other file has conflicts ok 3 - blame does not crash with conflicted file in stages 1,3 # passed all 3 test(s) 1..3 ok 69 - blame -L /RE/ (relative) *** t8005-blame-i18n.sh *** ok 70 - blame -L /RE/ (relative: no preceding range) ok 71 - blame -L /RE/ (relative: adjacent) ok 72 - blame -L /RE/ (relative: not found) ok 73 - blame -L /RE/ (relative: end-of-file) ok 74 - blame -L ^/RE/ (absolute) ok 75 - blame -L ^/RE/ (absolute: no preceding range) ok 76 - blame -L ^/RE/ (absolute: not found) ok 77 - blame -L ^/RE/ (absolute: end-of-file) ok 78 - setup -L :regex ok 79 - blame -L :literal ok 1 - setup the repository ok 80 - blame -L :regex ok 81 - blame -L :nomatch ok 2 - blame respects i18n.commitencoding ok 82 - blame -L :RE (relative) ok 3 - blame respects i18n.logoutputencoding ok 83 - blame -L :RE (relative: no preceding range) ok 84 - blame -L :RE (relative: not found) ok 4 - blame respects --encoding=UTF-8 ok 85 - blame -L :RE (relative: end-of-file) ok 5 - blame respects --encoding=none ok 86 - blame -L ^:RE (absolute) # passed all 5 test(s) 1..5 *** t8006-blame-textconv.sh *** ok 87 - blame -L ^:RE (absolute: no preceding range) ok 88 - blame -L ^:RE (absolute: not found) ok 89 - blame -L ^:RE (absolute: end-of-file) ok 90 - blame -L :funcname with userdiff driver ok 91 - setup incremental ok 92 - blame empty ok 93 - blame -L 0 empty ok 94 - blame -L 1 empty ok 1 - setup ok 95 - blame -L 2 empty ok 2 - no filter specified ok 96 - blame half ok 3 - setup textconv filters ok 97 - blame -L 0 half ok 4 - blame with --no-textconv ok 98 - blame -L 1 half ok 99 - blame -L 2 half ok 100 - blame -L 3 half ok 101 - blame full ok 102 - blame -L 0 full ok 5 - basic blame on last commit ok 103 - blame -L 1 full ok 104 - blame -L 2 full ok 105 - blame -L 3 full ok 106 - blame -L ok 107 - blame -L X,+ ok 6 - blame --textconv going through revisions ok 108 - blame -L X,- ok 109 - blame -L X (non-numeric X) ok 110 - blame -L X,Y (non-numeric Y) ok 111 - blame -L X,+N (non-numeric N) ok 112 - blame -L X,-N (non-numeric N) ok 113 - blame -L ,^/RE/ ok 7 - blame --textconv with local changes ok 8 - setup +cachetextconv ok 114 - blame progress on a full file ok 115 - blame progress on a single range ok 116 - blame progress on multiple ranges ok 117 - setup ok 118 - blame untracked file in empty repo ok 119 - blame --show-email ok 9 - blame --textconv works with textconvcache ok 10 - setup -cachetextconv ok 120 - setup showEmail tests ok 121 - blame with no options and no config ok 11 - make a new commit ok 122 - blame with showemail options ok 12 - blame from previous revision ok 13 - blame with --no-textconv (on symlink) ok 14 - blame --textconv (on symlink) ok 123 - blame with showEmail config false ok 15 - make another new commit ok 124 - blame with showEmail config true ok 125 - set up abbrev tests ok 16 - blame on last commit (-C -C, symlink) ok 126 - blame --abbrev= works # passed all 16 test(s) 1..16 *** t8007-cat-file-textconv.sh *** ok 127 - blame -l aligns regular and boundary commits ok 128 - blame --abbrev with full length behaves like -l ok 129 - --no-abbrev works like --abbrev with full length ok 130 - blame --abbrev gets truncated ok 131 - blame --abbrev gets truncated with boundary commit ok 132 - blame --abbrev -b truncates the blank boundary ok 133 - blame with excessive --abbrev and -b culls to hash length ok 134 - --exclude-promisor-objects does not BUG-crash ok 1 - setup ok 2 - usage: ok 3 - usage: : ok 135 - blame with uncommitted edits in partial clone does not crash ok 4 - usage: : # passed all 135 test(s) 1..135 ok 5 - usage: with no ok 6 - usage: : ok 7 - no filter specified ok 8 - setup textconv filters *** t8008-blame-formats.sh *** ok 9 - cat-file without --textconv ok 10 - cat-file without --textconv on previous commit ok 11 - cat-file --textconv on last commit ok 12 - cat-file --textconv on previous commit ok 13 - cat-file without --textconv (symlink) ok 14 - cat-file --textconv on index (symlink) ok 15 - cat-file --textconv on HEAD (symlink) # passed all 15 test(s) 1..15 *** t8009-blame-vs-topicbranches.sh *** ok 1 - setup ok 2 - normal blame output ok 3 - blame --porcelain output ok 4 - blame --line-porcelain output ok 5 - --porcelain detects first non-blank line as subject # passed all 5 test(s) 1..5 *** t8010-cat-file-filters.sh *** ok 1 - setup ok 2 - no filters with `git show` ok 1 - setup ok 3 - no filters with cat-file ok 2 - blame --reverse --first-parent finds A1 ok 4 - cat-file --filters converts to worktree version # passed all 2 test(s) 1..2 *** t8011-blame-split-file.sh *** ok 5 - cat-file --filters --path= works ok 6 - cat-file --textconv --path= works ok 7 - --path= complains without --textconv/--filters ok 8 - --textconv/--filters complain without path ok 9 - cat-file --textconv --batch works # passed all 9 test(s) 1..9 *** t8012-blame-colors.sh *** ok 1 - setup A lines ok 1 - setup split file case ok 2 - blame 1 author ok 2 - setup simulated porcelain ok 3 - generate --porcelain output ok 4 - porcelain output finds correct commits ok 3 - blame working copy ok 5 - porcelain output shows correct filenames ok 4 - blame with --contents ok 6 - porcelain output shows correct previous pointer ok 7 - generate --line-porcelain output ok 5 - blame with --contents in a bare repo ok 8 - line-porcelain output finds correct commits ok 6 - blame with --contents changed ok 9 - line-porcelain output shows correct filenames ok 10 - line-porcelain output shows correct previous pointer # passed all 10 test(s) 1..10 *** t8013-blame-ignore-revs.sh *** ok 7 - blame in a bare repo without starting commit ok 8 - blame by tag objects ok 9 - setup B lines ok 10 - blame 2 authors ok 11 - blame with --contents and revision ok 12 - setup B1 lines (branch1) ok 13 - blame 2 authors + 1 branch1 author ok 14 - setup B2 lines (branch2) ok 15 - blame 2 authors + 1 branch2 author ok 16 - merge branch1 & branch2 ok 17 - blame 2 authors + 2 merged-in authors ok 18 - blame --first-parent blames merge for branch1 ok 1 - setup ok 19 - blame ancestor ok 2 - validate --ignore-rev ok 20 - blame great-ancestor ok 3 - validate --ignore-revs-file ok 21 - setup evil merge ok 4 - ignore_rev_changing_lines (X) ok 22 - blame evil merge ok 5 - ignore_rev_changing_lines (XT) ok 6 - ignore_rev_adding_unblamable_lines ok 7 - ignore_revs_from_files ok 8 - ignore_revs_from_configs_and_files ok 9 - override_ignore_revs_file ok 10 - bad_files_and_revs ok 11 - mark_unblamable_lines ok 12 - mark_ignored_lines ok 13 - mark_unblamable_lines_intermediate ok 14 - ignored_chunk_negative_parent_size ok 15 - ignore_merge # passed all 15 test(s) 1..15 *** t8014-blame-ignore-fuzzy.sh *** ok 23 - blame huge graft ok 24 - setup incomplete line ok 25 - blame incomplete line ok 26 - setup edits ok 27 - blame edits ok 28 - setup obfuscated email ok 29 - blame obfuscated email ok 30 - blame -L 1 (all) ok 31 - blame -L , (all) ok 32 - blame -L X (X to end) ok 33 - blame -L X, (X to end) ok 34 - blame -L ,Y (up to Y) ok 35 - blame -L X,X ok 36 - blame -L X,Y ok 37 - blame -L Y,X (undocumented) ok 38 - blame -L -X ok 39 - blame -L 0 ok 40 - blame -L ,0 ok 41 - blame -L ,+0 ok 42 - blame -L X,+0 ok 43 - blame -L X,+1 ok 44 - blame -L X,+N ok 45 - blame -L ,-0 ok 46 - blame -L X,-0 ok 47 - blame -L X,-1 ok 48 - blame -L X,-N ok 49 - blame -L /RE/ (RE to end) ok 50 - blame -L /RE/,/RE2/ ok 51 - blame -L X,/RE/ ok 52 - blame -L /RE/,Y ok 53 - blame -L /RE/,+N ok 54 - blame -L /RE/,-N ok 55 - blame -L X (X == nlines) ok 56 - blame -L X (X == nlines + 1) ok 57 - blame -L X (X > nlines) ok 58 - blame -L ,Y (Y == nlines) ok 59 - blame -L ,Y (Y == nlines + 1) ok 60 - blame -L ,Y (Y > nlines) ok 61 - blame -L multiple (disjoint) ok 62 - blame -L multiple (disjoint: unordered) ok 63 - blame -L multiple (adjacent) ok 64 - blame -L multiple (adjacent: unordered) ok 65 - blame -L multiple (overlapping) ok 66 - blame -L multiple (overlapping: unordered) ok 67 - blame -L multiple (superset/subset) ok 68 - blame -L multiple (superset/subset: unordered) ok 69 - blame -L /RE/ (relative) ok 70 - blame -L /RE/ (relative: no preceding range) ok 71 - blame -L /RE/ (relative: adjacent) ok 72 - blame -L /RE/ (relative: not found) ok 73 - blame -L /RE/ (relative: end-of-file) ok 74 - blame -L ^/RE/ (absolute) ok 75 - blame -L ^/RE/ (absolute: no preceding range) ok 76 - blame -L ^/RE/ (absolute: not found) ok 77 - blame -L ^/RE/ (absolute: end-of-file) ok 78 - setup -L :regex ok 79 - blame -L :literal ok 80 - blame -L :regex ok 81 - blame -L :nomatch ok 82 - blame -L :RE (relative) ok 83 - blame -L :RE (relative: no preceding range) ok 84 - blame -L :RE (relative: not found) ok 85 - blame -L :RE (relative: end-of-file) ok 86 - blame -L ^:RE (absolute) ok 87 - blame -L ^:RE (absolute: no preceding range) ok 88 - blame -L ^:RE (absolute: not found) ok 89 - blame -L ^:RE (absolute: end-of-file) ok 90 - blame -L :funcname with userdiff driver ok 91 - setup incremental ok 92 - blame empty ok 93 - blame -L 0 empty ok 94 - blame -L 1 empty ok 95 - blame -L 2 empty ok 96 - blame half ok 97 - blame -L 0 half ok 98 - blame -L 1 half ok 99 - blame -L 2 half ok 100 - blame -L 3 half ok 101 - blame full ok 102 - blame -L 0 full ok 103 - blame -L 1 full ok 104 - blame -L 2 full ok 105 - blame -L 3 full ok 106 - blame -L ok 107 - blame -L X,+ ok 108 - blame -L X,- ok 109 - blame -L X (non-numeric X) ok 110 - blame -L X,Y (non-numeric Y) ok 111 - blame -L X,+N (non-numeric N) ok 112 - blame -L X,-N (non-numeric N) ok 113 - blame -L ,^/RE/ ok 114 - blame progress on a full file ok 115 - blame progress on a single range ok 116 - blame progress on multiple ranges ok 117 - colored blame colors contiguous lines ok 118 - color by age consistently colors old code ok 1 - setup ok 119 - blame color by age: new code is different # passed all 119 test(s) 1..119 ok 2 - Regression test for partially overlapping search ranges *** t9001-send-email.sh *** ok 3 - Combine 3 lines into 2 ok 4 - Add curly brackets ok 5 - Combine many lines and change case ok 6 - Rename and combine lines ok 7 - Same line twice ok 8 - Enforce line order ok 9 - Expand lines and rename variables ok 1 - prepare reference tree ok 10 - Two close matches versus one less close match ok 2 - Setup helper tool ok 11 - Piggy in the middle ok 3 - Extract patches ok 12 - No trailing newline ok 13 - Reorder includes ok 14 - Diff chunks with no suspects ok 15 - position matching ok 4 - No confirm with --suppress-cc ok 16 - preserve order # passed all 16 test(s) 1..16 *** t9002-column.sh *** ok 5 - No confirm with --confirm=never ok 1 - setup ok 2 - never ok 3 - always ok 4 - --nl ok 5 - 80 columns ok 6 - COLUMNS = 1 ok 7 - width = 1 ok 8 - 20 columns ok 9 - 20 columns, nodense ok 10 - 20 columns, dense ok 11 - 20 columns, padding 2 ok 12 - 20 columns, indented ok 13 - 20 columns, row first ok 14 - 20 columns, row first, nodense ok 15 - 20 columns, row first, dense ok 16 - padding must be non-negative # passed all 16 test(s) 1..16 *** t9003-help-autocorrect.sh *** ok 6 - No confirm with sendemail.confirm=never ok 1 - setup ok 2 - autocorrect showing candidates ok 3 - autocorrect showing candidates ok 4 - autocorrect showing candidates ok 5 - autocorrect showing candidates ok 6 - autocorrect showing candidates ok 7 - Send patches ok 8 - setup expect ok 9 - Verify commandline ok 7 - autocorrect running commands ok 8 - autocorrect running commands ok 9 - autocorrect can be declined altogether ok 10 - autocorrect works in work tree created from bare repo # passed all 10 test(s) 1..10 *** t9100-git-svn-basic.sh *** ok 10 - Send patches with --envelope-sender ok 11 - setup expect ok 12 - Verify commandline 1..0 # SKIP skipping git svn tests, svn not found *** t9101-git-svn-props.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9102-git-svn-deep-rmdir.sh *** ok 13 - Send patches with --envelope-sender=auto ok 14 - setup expect ok 15 - Verify commandline ok 16 - setup expect for cc trailer 1..0 # SKIP skipping git svn tests, svn not found *** t9103-git-svn-tracked-directory-removed.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9104-git-svn-follow-parent.sh *** ok 17 - cc trailer with various syntax 1..0 # SKIP skipping git svn tests, svn not found *** t9105-git-svn-commit-diff.sh *** ok 18 - setup fake get_maintainer.pl script for cc trailer 1..0 # SKIP skipping git svn tests, svn not found *** t9106-git-svn-commit-diff-clobber.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9107-git-svn-migrate.sh *** ok 19 - cc trailer with get_maintainer.pl output ok 20 - setup expect 1..0 # SKIP skipping git svn tests, svn not found *** t9108-git-svn-glob.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9109-git-svn-multi-glob.sh *** ok 21 - self name is suppressed 1..0 # SKIP skipping git svn tests, svn not found *** t9110-git-svn-use-svm-props.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9111-git-svn-use-svnsync-props.sh *** ok 22 - self name with dot is suppressed 1..0 # SKIP skipping git svn tests, svn not found *** t9112-git-svn-md5less-file.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9113-git-svn-dcommit-new-file.sh *** ok 23 - non-ascii self name is suppressed 1..0 # SKIP skipping git svn tests, svn not found *** t9114-git-svn-dcommit-merge.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9115-git-svn-dcommit-funky-renames.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9116-git-svn-log.sh *** ok 24 - long non-ascii self name is suppressed 1..0 # SKIP skipping git svn tests, svn not found *** t9117-git-svn-init-clone.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9118-git-svn-funky-branch-names.sh *** ok 25 - sanitized self name is suppressed 1..0 # SKIP skipping git svn tests, svn not found *** t9119-git-svn-info.sh *** 1..0 # SKIP skipping git svn tests, svn not found ok 26 - Show all headers *** t9120-git-svn-clone-with-percent-escapes.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9121-git-svn-fetch-renamed-dir.sh *** ok 27 - Prompting works ok 28 # skip implicit ident is allowed (missing AUTOIDENT of PERL,AUTOIDENT) 1..0 # SKIP skipping git svn tests, svn not found *** t9122-git-svn-author.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9123-git-svn-rebuild-with-rewriteroot.sh *** ok 29 - broken implicit ident aborts send-email ok 30 - setup cmd scripts 1..0 # SKIP skipping git svn tests, svn not found *** t9124-git-svn-dcommit-auto-props.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9125-git-svn-multi-glob-branch-names.sh *** ok 31 - tocmd works 1..0 # SKIP skipping git svn tests, svn not found *** t9126-git-svn-follow-deleted-readded-directory.sh *** ok 32 - cccmd works 1..0 # SKIP skipping git svn tests, svn not found *** t9127-git-svn-partial-rebuild.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9128-git-svn-cmd-branch.sh *** ok 33 - headercmd works 1..0 # SKIP skipping git svn tests, svn not found *** t9129-git-svn-i18n-commitencoding.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9130-git-svn-authors-file.sh *** ok 34 - --no-header-cmd works 1..0 # SKIP skipping git svn tests, svn not found *** t9131-git-svn-empty-symlink.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9132-git-svn-broken-symlink.sh *** ok 35 - multiline fields are correctly unfolded 1..0 # SKIP skipping git svn tests, svn not found *** t9133-git-svn-nested-git-repo.sh *** ok 36 - malform output reported on blank lines in command output 1..0 # SKIP skipping git svn tests, svn not found *** t9134-git-svn-ignore-paths.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9135-git-svn-moved-branch-empty-file.sh *** ok 37 - reject long lines ok 38 - no patch was sent 1..0 # SKIP skipping git svn tests, svn not found *** t9136-git-svn-recreated-branch-empty-file.sh *** ok 39 - Author From: in message body 1..0 # SKIP skipping git svn tests, svn not found *** t9137-git-svn-dcommit-clobber-series.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9138-git-svn-authors-prog.sh *** ok 40 - Author From: not in message body 1..0 # SKIP skipping git svn tests, svn not found *** t9139-git-svn-non-utf8-commitencoding.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9140-git-svn-reset.sh *** ok 41 - allow long lines with --no-validate 1..0 # SKIP skipping git svn tests, svn not found *** t9141-git-svn-multiple-branches.sh *** ok 42 - short lines with auto encoding are 8bit 1..0 # SKIP skipping git svn tests, svn not found *** t9142-git-svn-shallow-clone.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9143-git-svn-gc.sh *** ok 43 - long lines with auto encoding are quoted-printable 1..0 # SKIP skipping git svn tests, svn not found *** t9144-git-svn-old-rev_map.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9145-git-svn-master-branch.sh *** ok 44 - carriage returns with auto encoding are quoted-printable 1..0 # SKIP skipping git svn tests, svn not found *** t9146-git-svn-empty-dirs.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9147-git-svn-include-paths.sh *** ok 45 - --validate passes with encoding auto 1..0 # SKIP skipping git svn tests, svn not found *** t9148-git-svn-propset.sh *** ok 46 - --validate passes with encoding quoted-printable 1..0 # SKIP skipping git svn tests, svn not found *** t9150-svk-mergetickets.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9151-svn-mergeinfo.sh *** ok 47 - --validate passes with encoding base64 1..0 # SKIP skipping git svn tests, svn not found *** t9152-svn-empty-dirs-after-gc.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9153-git-svn-rewrite-uuid.sh *** ok 48 - --validate respects relative core.hooksPath path 1..0 # SKIP skipping git svn tests, svn not found *** t9154-git-svn-fancy-glob.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9155-git-svn-fetch-deleted-tag.sh *** ok 49 - --validate respects absolute core.hooksPath path 1..0 # SKIP skipping git svn tests, svn not found *** t9156-git-svn-fetch-deleted-tag-2.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9157-git-svn-fetch-merge.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9158-git-svn-mergeinfo.sh *** ok 50 - --validate hook supports multiple addresses in arguments 1..0 # SKIP skipping git svn tests, svn not found *** t9159-git-svn-no-parent-mergeinfo.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9160-git-svn-preserve-empty-dirs.sh *** ok 51 - --validate hook supports header argument 1..0 # SKIP skipping git svn tests, svn not found *** t9161-git-svn-mergeinfo-push.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9162-git-svn-dcommit-interactive.sh *** ok 52 - clear message-id before parsing a new message 1..0 # SKIP skipping git svn tests, svn not found *** t9163-git-svn-reset-clears-caches.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9164-git-svn-dcommit-concurrent.sh *** ok 53 - --transfer-encoding=7bit produces correct header 1..0 # SKIP skipping git svn tests, svn not found *** t9165-git-svn-fetch-merge-branch-of-branch.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9166-git-svn-fetch-merge-branch-of-branch2.sh *** ok 54 - --transfer-encoding=8bit produces correct header 1..0 # SKIP skipping git svn tests, svn not found *** t9167-git-svn-cmd-branch-subproject.sh *** ok 55 - --transfer-encoding=quoted-printable produces correct header 1..0 # SKIP skipping git svn tests, svn not found *** t9168-git-svn-partially-globbed-names.sh *** 1..0 # SKIP skipping git svn tests, svn not found *** t9169-git-svn-dcommit-crlf.sh *** ok 56 - --transfer-encoding=base64 produces correct header 1..0 # SKIP skipping git svn tests, svn not found *** t9200-git-cvsexportcommit.sh *** 1..0 # SKIP skipping git cvsexportcommit tests, cvs not found *** t9210-scalar.sh *** ok 57 - Invalid In-Reply-To ok 1 - scalar shows a usage ok 58 - Valid In-Reply-To when prompting ok 2 - scalar invoked on enlistment root ok 59 - In-Reply-To without --chain-reply-to ok 3 - scalar invoked on enlistment src repo ok 60 - In-Reply-To with --chain-reply-to ok 61 - setup erroring fake editor ok 62 - fake editor dies with error ok 4 - scalar invoked when enlistment root and repo are the same ok 63 - setup fake editor ok 5 - scalar repo search respects GIT_CEILING_DIRECTORIES ok 6 - scalar enlistments need a worktree ok 7 # skip scalar register starts fsmon daemon (missing FSMONITOR_DAEMON) ok 8 - scalar register warns when background maintenance fails ok 9 - scalar unregister ok 64 - --compose works ok 65 - first message is compose text ok 66 - second message is patch ok 67 - setup expect ok 10 - set up repository to clone ok 68 - sendemail.cc set ok 69 - setup expect ok 11 - scalar clone ok 70 - sendemail.cc unset ok 71 - setup expect ok 12 - scalar clone --no-... opts ok 72 - sendemail.cccmd ok 73 - setup expect ok 13 - scalar reconfigure ok 74 - --suppress-cc=all ok 75 - setup expect ok 76 - --suppress-cc=body ok 77 - setup expect ok 78 - --suppress-cc=body --suppress-cc=cccmd ok 79 - setup expect ok 14 - scalar reconfigure --all with includeIf.onbranch ok 80 - --suppress-cc=sob ok 81 - setup expect ok 82 - --suppress-cc=bodycc ok 83 - setup expect ok 15 - scalar reconfigure --all with detached HEADs ok 84 - --suppress-cc=cc ok 85 - --confirm=always ok 16 - `reconfigure -a` removes stale config entries ok 17 - scalar delete without enlistment shows a usage ok 18 - scalar delete with enlistment ok 86 - --confirm=auto ok 19 - scalar supports -c/-C ok 20 - `scalar [...] ` errors out when dir is missing ok 87 - --confirm=cc ok 21 - scalar diagnose # passed all 21 test(s) 1..21 *** t9211-scalar-clone.sh *** ok 88 - --confirm=compose ok 1 - set up repository to clone ok 89 - confirm by default (due to cc) ok 2 - creates content in enlistment root ok 3 - with spaces ok 90 - confirm by default (due to --compose) ok 4 - partial clone if supported by server ok 5 - fall back on full clone if partial unsupported ok 91 - confirm detects EOF (inform assumes y) ok 6 - initializes sparse-checkout by default ok 92 - confirm detects EOF (auto causes failure) ok 7 - --full-clone does not create sparse-checkout ok 8 - --single-branch clones HEAD only ok 93 - confirm does not loop forever ok 9 - --no-single-branch clones all branches ok 10 # skip progress with tty (missing TTY) ok 94 - utf8 Cc is rfc2047 encoded ok 11 - progress without tty ok 12 - scalar clone warns when background maintenance fails ok 95 - --compose adds MIME for utf8 body ok 13 - `scalar clone --no-src` ok 96 - --compose respects user mime type # passed all 13 test(s) 1..13 *** t9300-fast-import.sh *** ok 1 - empty stream succeeds ok 2 - truncated stream complains ok 3 - A: create pack from stdin ok 4 - A: verify pack ok 5 - A: verify commit ok 6 - A: verify tree ok 7 - A: verify file2 ok 8 - A: verify file3 ok 9 - A: verify file4 ok 10 - A: verify tag/series-A ok 11 - A: verify tag/series-A-blob ok 12 - A: verify tag deletion is successful ok 97 - --compose adds MIME for utf8 subject ok 13 - A: verify marks output ok 14 - A: verify marks import ok 15 - A: tag blob by sha1 ok 16 - A: verify marks import does not crash ok 17 - A: verify pack ok 18 - A: verify diff ok 19 - A: export marks with large values ok 20 - B: fail on invalid blob sha1 ok 98 - utf8 author is correctly passed on ok 21 - B: accept branch name "TEMP_TAG" ok 22 - B: accept empty committer ok 23 - B: reject invalid timezone ok 24 - B: accept invalid timezone with raw-permissive ok 25 - B: accept and fixup committer with no name ok 26 - B: fail on invalid committer (1) ok 27 - B: fail on invalid committer (2) ok 28 - B: fail on invalid committer (3) ok 29 - B: fail on invalid committer (4) ok 99 - utf8 sender is not duplicated ok 30 - B: fail on invalid committer (5) ok 100 - setup expect for cc list ok 31 - B: fail on invalid file path of .. ok 32 - B: fail on invalid file path of . ok 33 # skip B: fail on invalid file path of C: (missing WINDOWS) ok 34 - B: fail on invalid file path of .git ok 35 - B: fail on invalid file path of .gitmodules ok 36 - C: incremental import create pack from stdin ok 37 - C: verify pack ok 38 - C: validate reuse existing blob ok 39 - C: verify commit ok 40 - C: validate rename result ok 41 - D: inline data in commit ok 42 - D: verify pack ok 43 - D: validate new files added ok 44 - D: verify file5 ok 45 - D: verify file6 ok 46 - E: rfc2822 date, --date-format=raw ok 47 - E: rfc2822 date, --date-format=rfc2822 ok 48 - E: verify pack ok 101 - cc list is sanitized ok 49 - E: verify commit ok 50 - F: non-fast-forward update skips ok 51 - F: verify pack ok 52 - F: verify other commit ok 53 - G: non-fast-forward update forced ok 54 - G: verify pack ok 55 - G: branch changed, but logged ok 56 - H: deletall, add 1 ok 57 - H: verify pack ok 102 - sendemail.composeencoding works ok 58 - H: validate old files removed, new files added ok 59 - H: verify file ok 60 - I: export-pack-edges ok 61 - I: verify edge list ok 62 - J: reset existing branch creates empty commit ok 63 - J: branch has 1 commit, empty tree ok 64 - J: tag must fail on empty branch ok 65 - K: reinit branch with from ok 66 - K: verify K^1 = branch^1 ok 67 - L: verify internal tree sorting ok 68 - L: nested tree copy does not corrupt deltas ok 69 - M: rename file in same subdirectory ok 70 - M: rename file to new subdirectory ok 71 - M: rename subdirectory to new subdirectory ok 72 - M: rename root ("") to subdirectory ok 103 - --compose-encoding works ok 73 - M: rename root () to subdirectory ok 74 - N: copy file in same subdirectory ok 75 - N: copy then modify subdirectory ok 76 - N: copy dirty subdirectory ok 77 - N: copy directory by id ok 78 - N: read and copy directory ok 79 - N: empty directory reads as missing ok 80 - N: copy root ("") by tree hash ok 81 - N: copy root ("") by path ok 104 - --compose-encoding overrides sendemail.composeencoding ok 82 - N: copy root () by tree hash ok 83 - N: copy root () by path ok 84 - N: delete directory by copying ok 85 - N: modify copied tree ok 86 - N: reject foo/ syntax ok 87 - N: reject foo/ syntax in copy source ok 88 - N: reject foo/ syntax in rename source ok 89 - N: reject foo/ syntax in ls argument ok 90 - N: copy to root ("") by id and modify ok 91 - N: extract subtree to the root ("") ok 105 - --compose-encoding adds correct MIME for subject ok 92 - N: modify subtree, extract it to the root (""), and modify again ok 93 - N: copy to root () by id and modify ok 94 - N: extract subtree to the root () ok 95 - N: modify subtree, extract it to the root (), and modify again ok 96 - O: comments are all skipped ok 97 - O: blank lines not necessary after data commands ok 106 - detects ambiguous reference/file conflict ok 98 - O: repack before next test ok 99 - O: blank lines not necessary after other commands ok 100 - O: progress outputs as requested by input ok 107 - feed two files ok 101 - P: superproject & submodule mix ok 102 - P: verbatim SHA gitlinks ok 103 - P: fail on inline gitlink ok 104 - P: fail on blob mark in gitlink ok 105 - Q: commit notes ok 106 - Q: verify pack ok 108 - in-reply-to but no threading ok 107 - Q: verify first commit ok 108 - Q: verify second commit ok 109 - Q: verify third commit ok 110 - Q: verify first notes commit ok 111 - Q: verify first notes tree ok 112 - Q: verify first note for first commit ok 113 - Q: verify first note for second commit ok 114 - Q: verify first note for third commit ok 115 - Q: verify second notes commit ok 116 - Q: verify second notes tree ok 117 - Q: verify second note for first commit ok 118 - Q: verify first note for second commit ok 119 - Q: verify first note for third commit ok 120 - Q: verify third notes commit ok 121 - Q: verify third notes tree ok 122 - Q: verify third note for first commit ok 123 - Q: verify fourth notes commit ok 124 - Q: verify fourth notes tree ok 125 - Q: verify second note for second commit ok 126 - Q: deny note on empty branch ok 127 - R: abort on unsupported feature ok 109 - no in-reply-to and no threading ok 128 - R: supported feature is accepted ok 129 - R: abort on receiving feature after data command ok 130 - R: import-marks features forbidden by default ok 131 - R: only one import-marks feature allowed per stream ok 132 - R: export-marks feature forbidden by default ok 133 - R: export-marks feature results in a marks file being created ok 134 - R: export-marks options can be overridden by commandline options ok 135 - R: catch typo in marks file name ok 136 - R: import and output marks can be the same file ok 137 - R: --import-marks=foo --output-marks=foo to create foo fails ok 138 - R: --import-marks-if-exists ok 139 - R: feature import-marks-if-exists ok 140 - R: import to output marks works without any content ok 141 - R: import marks prefers commandline marks file over the stream ok 142 - R: multiple --import-marks= should be honoured ok 143 - R: feature relative-marks should be honoured ok 144 - R: feature no-relative-marks should be honoured ok 145 - R: feature ls supported ok 146 - R: feature cat-blob supported ok 147 - R: cat-blob-fd must be a nonnegative integer ok 110 - threading but no chain-reply-to ok 148 - R: print old blob ok 149 - R: in-stream cat-blob-fd not respected ok 150 - R: print mark for new blob ok 151 - R: print new blob ok 152 - R: print new blob by sha1 ok 153 - setup: big file ok 154 - R: print two blobs to stdout ok 111 - override in-reply-to if no threading ok 155 - R: copy using cat-file ok 156 - R: print blob mid-commit ok 157 - R: print staged blob within commit ok 158 - R: quiet option results in no stats being output ok 159 - R: feature done means terminating "done" is mandatory ok 160 - R: terminating "done" with trailing gibberish is ok ok 161 - R: terminating "done" within commit ok 162 - R: die on unknown option ok 163 - R: unknown commandline options are rejected ok 164 - R: die on invalid option argument ok 165 - R: ignore non-git options ok 166 - R: corrupt lines do not mess marks file ok 112 - sendemail.to works ok 113 - setup sendemail.identity ok 114 - sendemail.identity: reads the correct identity config ok 115 - sendemail.identity: identity overrides sendemail.identity ok 167 - R: blob bigger than threshold ok 168 - R: verify created pack ok 169 - R: verify written objects ok 170 - R: blob appears only once ok 171 - S: initialize for S tests ok 172 - S: filemodify with garbage after mark must fail ok 173 - S: filemodify with garbage after inline must fail ok 174 - S: filemodify with garbage after sha1 must fail ok 116 - sendemail.identity: --no-identity clears previous identity ok 175 - S: notemodify with garbage after mark dataref must fail ok 176 - S: notemodify with garbage after inline dataref must fail ok 177 - S: notemodify with garbage after sha1 dataref must fail ok 178 - S: notemodify with garbage after mark commit-ish must fail ok 179 - S: from with garbage after mark must fail ok 180 - S: merge with garbage after mark must fail ok 181 - S: tag with garbage after mark must fail ok 182 - S: cat-blob with garbage after mark must fail ok 183 - S: ls with garbage after mark must fail ok 184 - S: ls with garbage after sha1 must fail ok 185 - S: paths at EOL with quoted spaces must work ok 117 - sendemail.identity: bool identity variable existence overrides ok 186 - S: paths at EOL with unquoted spaces must work ok 187 - S: paths at EOL with octal escapes must work ok 188 - S: paths before space with quoted spaces must work ok 189 - S: paths before space with no unquoted spaces must work ok 118 - sendemail.identity: bool variable fallback ok 190 - S: paths before space with octal escapes must work ok 191 - S: filemodify with unclosed " in path must fail ok 192 - S: filemodify with invalid escape in quoted path must fail ok 193 - S: filemodify with escaped NUL in quoted path must fail ok 194 - S: filemodify with garbage after quoted path must fail ok 195 - S: filemodify with space after quoted path must fail ok 196 - S: filedelete with unclosed " in path must fail ok 197 - S: filedelete with invalid escape in quoted path must fail ok 198 - S: filedelete with escaped NUL in quoted path must fail ok 199 - S: filedelete with garbage after quoted path must fail ok 200 - S: filedelete with space after quoted path must fail ok 201 - S: filecopy with unclosed " in source must fail ok 202 - S: filecopy with invalid escape in quoted source must fail ok 203 - S: filecopy with escaped NUL in quoted source must fail ok 204 - S: filecopy with missing space after quoted source must fail ok 205 - S: filecopy with missing space after unquoted source must fail ok 206 - S: filecopy with unclosed " in dest must fail ok 207 - S: filecopy with invalid escape in quoted dest must fail ok 208 - S: filecopy with escaped NUL in quoted dest must fail ok 119 - sendemail.identity: bool variable without a value ok 209 - S: filecopy with garbage after quoted dest must fail ok 210 - S: filecopy with space after quoted dest must fail ok 211 - S: filerename with unclosed " in source must fail ok 212 - S: filerename with invalid escape in quoted source must fail ok 213 - S: filerename with escaped NUL in quoted source must fail ok 214 - S: filerename with missing space after quoted source must fail ok 215 - S: filerename with missing space after unquoted source must fail ok 216 - S: filerename with unclosed " in dest must fail ok 217 - S: filerename with invalid escape in quoted dest must fail ok 218 - S: filerename with escaped NUL in quoted dest must fail ok 219 - S: filerename with garbage after quoted dest must fail ok 220 - S: filerename with space after quoted dest must fail ok 221 - S: ls (in commit) with unclosed " in path must fail ok 222 - S: ls (in commit) with invalid escape in quoted path must fail ok 223 - S: ls (in commit) with escaped NUL in quoted path must fail ok 224 - S: ls (in commit) with garbage after quoted path must fail ok 225 - S: ls (in commit) with space after quoted path must fail ok 226 - S: ls (without dataref in commit) with unclosed " in path must fail ok 227 - S: ls (without dataref in commit) with invalid escape in quoted path must fail ok 228 - S: ls (without dataref in commit) with escaped NUL in quoted path must fail ok 229 - S: ls (without dataref in commit) with garbage after quoted path must fail ok 230 - S: ls (without dataref in commit) with space after quoted path must fail ok 120 - --no-to overrides sendemail.to ok 231 - T: ls root ("") tree ok 232 - T: ls root () tree ok 233 - T: delete branch ok 234 - T: empty reset doesnt delete branch ok 235 - U: initialize for U tests ok 236 - U: filedelete file succeeds ok 237 - U: validate file delete result ok 238 - U: filedelete directory succeeds ok 239 - U: validate directory delete result ok 240 - U: filedelete root ("") succeeds ok 241 - U: validate root ("") delete result ok 242 - U: filedelete root () succeeds ok 243 - U: validate root () delete result ok 121 - sendemail.cc works ok 244 - V: checkpoint helper does not get stuck with extra output ok 245 - V: checkpoint updates refs after reset ok 246 - V: checkpoint updates refs and marks after commit ok 247 - V: checkpoint updates refs and marks after commit (no new objects) ok 248 - V: checkpoint updates tags after tag ok 249 - W: get-mark & empty orphan commit with no newlines ok 250 - W: get-mark & empty orphan commit with one newline ok 251 - W: get-mark & empty orphan commit with ugly second newline ok 252 - W: get-mark & empty orphan commit with erroneous third newline ok 122 - --no-cc overrides sendemail.cc ok 253 - X: handling encoding ok 254 - X: replace ref that becomes useless is removed ok 255 - Y: setup ok 123 - sendemail.bcc works ok 256 - Y: rewrite submodules # passed all 256 test(s) 1..256 *** t9301-fast-import-notes.sh *** ok 1 - set up main branch ok 124 - --no-bcc overrides sendemail.bcc ok 2 - add notes with simple M command ok 3 - add notes with simple N command ok 4 - update existing notes with N command ok 5 - add concatenation notes with M command ok 6 - verify that deleteall also removes notes ok 7 - verify that later N commands override earlier M commands ok 125 - patches To headers are used by default ok 126 - patches To headers are appended to ok 127 - To headers from files reset each patch ok 128 - setup expect ok 129 - setup expect ok 130 - ASCII subject is not RFC2047 quoted ok 131 - setup expect ok 132 - asks about and fixes 8bit encodings ok 133 - sendemail.8bitEncoding works ok 134 - sendemail.8bitEncoding in .git/config overrides --global .gitconfig ok 135 - --8bit-encoding overrides sendemail.8bitEncoding ok 136 - setup expect ok 137 - setup expect ok 138 - --8bit-encoding also treats subject ok 139 - setup expect ok 140 - --transfer-encoding overrides sendemail.transferEncoding ok 141 - sendemail.transferEncoding via config ok 8 - add lots of commits and notes ok 142 - sendemail.transferEncoding via cli ok 143 - setup expect ok 9 - verify that lots of notes trigger a fanout scheme ok 144 - 8-bit and sendemail.transferencoding=quoted-printable ok 145 - setup expect ok 146 - 8-bit and sendemail.transferencoding=base64 ok 147 - setup expect ok 10 - verify that importing a notes tree respects the fanout scheme ok 11 - verify that non-notes are untouched by a fanout change ok 12 - change a few existing notes ok 148 - convert from quoted-printable to base64 ok 149 - setup expect ok 150 - setup expect ok 13 - verify that changing notes respect existing fanout ok 151 - CRLF and sendemail.transferencoding=quoted-printable ok 152 - setup expect ok 153 - CRLF and sendemail.transferencoding=base64 ok 154 - refusing to send cover letter template ok 155 - --force sends cover letter template anyway ok 156 - to-cover adds To to all mail ok 14 - remove lots of notes ok 15 - verify that removing notes trigger fanout consolidation ok 16 - verify that non-notes are untouched by a fanout change ok 157 - cc-cover adds Cc to all mail ok 158 - tocover adds To to all mail ok 17 - add notes to 16 commits in each of 10 refs # passed all 17 test(s) 1..17 *** t9302-fast-import-unpack-limit.sh *** ok 1 - create loose objects on import ok 159 - cccover adds Cc to all mail ok 2 - bigger packs are preserved ok 160 - escaped quotes in sendemail.aliasfiletype=mutt ok 161 - sendemail.aliasfiletype=mailrc ok 162 - sendemail.aliasesfile=~/.mailrc ok 163 - --dump-aliases sendmail format ok 164 - --dump-aliases mutt format ok 165 - --dump-aliases mailrc format ok 166 - --dump-aliases pine format ok 167 - --dump-aliases gnus format ok 168 - --dump-aliases must be used alone ok 169 - --translate-aliases sendmail format ok 170 - --translate-aliases mutt format ok 171 - --translate-aliases mailrc format ok 172 - --translate-aliases pine format ok 173 - --translate-aliases gnus format ok 174 - --translate-aliases passes valid addresses through ok 175 - --translate-aliases passes unknown aliases through ok 176 - aliases and sendemail.identity ok 177 - sendemail.aliasfiletype=sendmail ok 178 - sendmail aliases line folding ok 179 - sendmail aliases tolerate bogus line folding ok 180 - sendmail aliases empty ok 3 - lookups after checkpoint works # passed all 3 test(s) 1..3 *** t9303-fast-import-compression.sh *** ok 181 - alias support in To header ok 1 - fast-import (packed) with -c core.compression=0 ok 2 - fast-import (packed) with -c core.compression=9 ok 182 - alias support in Cc header ok 3 - fast-import (packed) with -c core.compression=0 -c pack.compression=0 ok 4 - fast-import (packed) with -c core.compression=9 -c pack.compression=0 ok 5 - fast-import (packed) with -c core.compression=0 -c pack.compression=9 ok 183 - tocmd works with aliases ok 6 - fast-import (packed) with -c core.compression=9 -c pack.compression=9 ok 7 - fast-import (packed) with -c pack.compression=0 ok 8 - fast-import (packed) with -c pack.compression=9 ok 184 - cccmd works with aliases ok 9 - fast-import (loose) with -c core.compression=0 ok 10 - fast-import (loose) with -c core.compression=9 ok 185 - --[no-]xmailer without any configuration ok 11 - fast-import (loose) with -c core.compression=0 -c core.loosecompression=0 ok 12 - fast-import (loose) with -c core.compression=9 -c core.loosecompression=0 ok 13 - fast-import (loose) with -c core.compression=0 -c core.loosecompression=9 ok 14 - fast-import (loose) with -c core.compression=9 -c core.loosecompression=9 ok 186 - --[no-]xmailer with sendemail.xmailer=true ok 15 - fast-import (loose) with -c core.loosecompression=0 ok 16 - fast-import (loose) with -c core.loosecompression=9 # passed all 16 test(s) 1..16 *** t9304-fast-import-marks.sh *** ok 1 - setup dump of basic history ok 187 - --[no-]xmailer with sendemail.xmailer ok 2 - setup large marks file ok 3 - import with large marks file ok 4 - setup dump with submodule ok 5 - setup submodule mapping with large id ok 6 - import with submodule mapping ok 7 - paths adjusted for relative subdir ok 8 - relative marks are not affected by subdir # passed all 8 test(s) 1..8 *** t9350-fast-export.sh *** ok 1 - setup ok 188 - --[no-]xmailer with sendemail.xmailer=false ok 2 - fast-export | fast-import ok 3 - fast-export ^muss^{commit} muss ok 4 - fast-export --mark-tags ^muss^{commit} muss ok 5 - fast-export main~2..main ok 6 - fast-export --reference-excluded-parents main~2..main ok 7 - fast-export --show-original-ids ok 8 - fast-export --show-original-ids | git fast-import ok 9 - reencoding iso-8859-7 ok 10 - aborting on iso-8859-7 ok 11 - preserving iso-8859-7 ok 12 - encoding preserved if reencoding fails ok 13 - import/export-marks ok 14 - set up faked signed tag ok 15 - signed-tags=abort ok 16 - signed-tags=verbatim ok 17 - signed-tags=strip ok 18 - signed-tags=warn-strip ok 189 - --[no-]xmailer with sendemail.xmailer= ok 19 - setup submodule ok 190 - setup expected-list ok 20 - submodule fast-export | fast-import ok 191 - use email list in --cc --to and --bcc ok 21 - setup copies ok 22 - fast-export -C -C | fast-import ok 23 - fast-export | fast-import when main is tagged ok 24 - cope with tagger-less tags ok 192 - aliases work with email list ok 25 - setup for limiting exports by PATH ok 26 - dropping tag of filtered out object ok 27 - rewriting tag of filtered out object ok 28 - rewrite tag predating pathspecs to nothing not ok 29 - no exact-ref revisions included # TODO known breakage ok 30 - path limiting with import-marks does not lose unmodified files ok 31 - path limiting works ok 193 - leading and trailing whitespaces are removed ok 32 - avoid corrupt stream with non-existent mark ok 33 - full-tree re-shows unmodified files ok 34 - set-up a few more tags for tag export tests ok 35 - tree_tag ok 36 - tree_tag-obj ok 37 - tag-obj_tag ok 38 - tag-obj_tag-obj ok 39 - handling tags of blobs ok 40 - handling nested tags ok 194 - mailmap support with --to ok 41 - directory becomes symlink ok 42 - fast-export quotes pathnames ok 195 - sendemail.mailmap configuration ok 43 - test bidirectionality ok 44 - avoid uninteresting refs ok 45 - refs are updated even if no commits need to be exported ok 46 - use refspec ok 47 - delete ref because entire history excluded ok 48 - delete refspec ok 49 - when using -C, do not declare copy when source of copy is also modified ok 196 - sendemail.mailmap.file configuration ok 50 - merge commit gets exported with --import-marks ok 197 - sendemail.mailmap identity overrides configuration ok 51 - fast-export --first-parent outputs all revisions output by revision walk ok 52 - fast-export handles --end-of-options # still have 1 known breakage(s) # passed all remaining 51 test(s) 1..52 *** t9351-fast-export-anonymize.sh *** ok 198 - --no-mailmap overrides configuration ok 1 - setup simple repo ok 2 - export anonymized stream ok 3 - stream omits path names ok 4 - stream contains user-specified names ok 5 - stream omits gitlink oids ok 6 - stream retains other as refname ok 7 - stream omits other refnames ok 8 - stream omits identities ok 9 - stream omits tag message ok 199 - mailmap support in To header ok 10 - import stream to new repository ok 11 - result has two branches ok 12 - repo has original shape and timestamps ok 13 - root tree has original shape ok 14 - paths in subdir ended up in one tree ok 15 - identical gitlinks got identical oid ok 16 - all tags point to branch tip ok 17 - idents are shared # passed all 17 test(s) 1..17 *** t9400-git-cvsserver-server.sh *** ok 200 - mailmap support in Cc header 1..0 # SKIP skipping git-cvsserver tests, cvs not found *** t9401-git-cvsserver-crlf.sh *** 1..0 # SKIP skipping git-cvsserver tests, cvs not found *** t9402-git-cvsserver-refs.sh *** ok 201 - test using command name with --sendmail-cmd 1..0 # SKIP skipping git-cvsserver tests, cvs not found *** t9500-gitweb-standalone-no-errors.sh *** 1..0 # SKIP skipping gitweb tests, CGI & CGI::Util & CGI::Carp modules not available *** t9501-gitweb-standalone-http-status.sh *** ok 202 - test using arguments with --sendmail-cmd 1..0 # SKIP skipping gitweb tests, CGI & CGI::Util & CGI::Carp modules not available *** t9502-gitweb-standalone-parse-output.sh *** ok 203 - test shell expression with --sendmail-cmd ok 204 - set up in-reply-to/references patches 1..0 # SKIP skipping gitweb tests, CGI & CGI::Util & CGI::Carp modules not available *** t9600-cvsimport.sh *** 1..0 # SKIP skipping cvsimport tests, cvs not found ok 205 - patch reply headers correct with --no-thread *** t9601-cvsimport-vendor-branch.sh *** 1..0 # SKIP skipping cvsimport tests, cvs not found *** t9602-cvsimport-branches-tags.sh *** ok 206 - cmdline in-reply-to used with --no-thread 1..0 # SKIP skipping cvsimport tests, cvs not found *** t9603-cvsimport-patchsets.sh *** 1..0 # SKIP skipping cvsimport tests, cvs not found *** t9604-cvsimport-timestamps.sh *** 1..0 # SKIP skipping cvsimport tests, cvs not found *** t9700-perl-git.sh *** ok 207 - invoke hook ok 1 - set up test repository ok 2 - set up bare repository ok 208 - --validate hook allows counting of messages ok 209 - test that send-email works outside a repo ok 3 - use t9700/test.pl to test Git.pm # passed all 3 test(s) 1..3 *** t9800-git-p4-basic.sh *** ok 210 - send-email relays -v 3 to format-patch 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9801-git-p4-branch.sh *** ok 211 - test that sendmail config is rejected 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9802-git-p4-filetype.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9803-git-p4-shell-metachars.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9804-git-p4-label.sh *** ok 212 - test that sendmail config rejection is specific 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9805-git-p4-skip-submit-edit.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9806-git-p4-options.sh *** ok 213 - test forbidSendmailVariables behavior override 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9807-git-p4-submit.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9808-git-p4-chdir.sh *** ok 214 - --compose handles lowercase headers 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9809-git-p4-client-view.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9810-git-p4-rcs.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9811-git-p4-label-import.sh *** ok 215 - --compose handles to headers # passed all 215 test(s) 1..215 *** t9812-git-p4-wildcards.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9813-git-p4-preserve-users.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9814-git-p4-rename.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9815-git-p4-submit-fail.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9816-git-p4-locked.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9817-git-p4-exclude.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9818-git-p4-block.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9819-git-p4-case-folding.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9820-git-p4-editor-handling.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9821-git-p4-path-variations.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9822-git-p4-path-encoding.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9823-git-p4-mock-lfs.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9824-git-p4-git-lfs.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9825-git-p4-handle-utf16-without-bom.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9826-git-p4-keep-empty-commits.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9827-git-p4-change-filetype.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9828-git-p4-map-user.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9829-git-p4-jobs.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9830-git-p4-symlink-dir.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9831-git-p4-triggers.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9832-unshelve.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9833-errors.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9834-git-p4-file-dir-bug.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9835-git-p4-metadata-encoding-python2.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9836-git-p4-metadata-encoding-python3.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9850-shell.sh *** 1..0 # SKIP skipping git p4 tests; no p4 or p4d *** t9901-git-web--browse.sh *** ok 1 - shell allows upload-pack ok 2 - shell forbids other commands ok 3 - shell forbids interactive use by default ok 4 - shell allows interactive command ok 1 - URL with an ampersand in it ok 5 - shell complains of overlong commands # passed all 5 test(s) 1..5 *** t9902-completion.sh *** ok 2 - URL with a semi-colon in it ok 3 - URL with a hash in it ok 4 - browser paths are properly quoted ok 5 - browser command allows arbitrary shell code # passed all 5 test(s) 1..5 *** t9903-bash-prompt.sh *** ok 1 - setup for __git_find_repo_path/__gitdir tests ok 2 - __git_find_repo_path - from command line (through $__git_dir) ok 3 - __git_find_repo_path - .git directory in cwd ok 4 - __git_find_repo_path - .git directory in parent ok 5 - __git_find_repo_path - cwd is a .git directory ok 6 - __git_find_repo_path - parent is a .git directory ok 7 - __git_find_repo_path - $GIT_DIR set while .git directory in cwd ok 8 - __git_find_repo_path - $GIT_DIR set while .git directory in parent ok 9 - __git_find_repo_path - from command line while "git -C" ok 10 - __git_find_repo_path - relative dir from command line and "git -C" ok 11 - __git_find_repo_path - $GIT_DIR set while "git -C" ok 12 - __git_find_repo_path - relative dir in $GIT_DIR and "git -C" ok 13 - __git_find_repo_path - "git -C" while .git directory in cwd ok 14 - __git_find_repo_path - "git -C" while cwd is a .git directory ok 15 - __git_find_repo_path - "git -C" while .git directory in parent ok 16 - __git_find_repo_path - non-existing path in "git -C" ok 17 - __git_find_repo_path - non-existing path in $__git_dir ok 18 - __git_find_repo_path - non-existing $GIT_DIR ok 19 - __git_find_repo_path - gitfile in cwd ok 20 - __git_find_repo_path - gitfile in parent ok 21 - __git_find_repo_path - resulting path avoids symlinks ok 22 - __git_find_repo_path - not a git repository ok 1 - setup for prompt tests ok 23 - __gitdir - finds repo ok 24 - __gitdir - returns error when cannot find repo ok 2 - prompt - branch name ok 25 - __gitdir - repo as argument ok 26 - __gitdir - remote as argument ok 27 - __git_dequote - plain unquoted word ok 28 - __git_dequote - backslash escaped ok 29 - __git_dequote - single quoted ok 30 - __git_dequote - double quoted ok 31 - __git_dequote - open single quote ok 32 - __git_dequote - open double quote ok 33 - __gitcomp_direct - puts everything into COMPREPLY as-is ok 34 - __gitcomp - trailing space - options ok 35 - __gitcomp - trailing space - config keys ok 36 - __gitcomp - option parameter ok 37 - __gitcomp - prefix ok 3 - prompt - branch name - symlink symref ok 38 - __gitcomp - suffix ok 39 - __gitcomp - ignore optional negative options ok 40 - __gitcomp - ignore/narrow optional negative options ok 41 - __gitcomp - ignore/narrow optional negative options ok 4 - prompt - unborn branch ok 42 - __gitcomp - expand all negative options ok 43 - __gitcomp - expand/narrow all negative options ok 44 - __gitcomp - equal skip ok 45 - __gitcomp - doesnt fail because of invalid variable name ok 46 - __gitcomp_nl - trailing space ok 47 - __gitcomp_nl - prefix ok 48 - __gitcomp_nl - suffix ok 49 - __gitcomp_nl - no suffix ok 50 - __gitcomp_nl - doesnt fail because of invalid variable name ok 5 - prompt - with newline in path ok 51 - __git_remotes - list remotes from $GIT_DIR/remotes and from config file ok 6 - prompt - detached head ok 52 - __git_is_configured_remote ok 7 - prompt - describe detached head - contains ok 8 - prompt - describe detached head - branch ok 53 - setup for ref completion ok 54 - __git_refs - simple ok 9 - prompt - describe detached head - describe ok 55 - __git_refs - full refs ok 56 - __git_refs - repo given on the command line ok 57 - __git_refs - remote on local file system ok 10 - prompt - describe detached head - default ok 58 - __git_refs - remote on local file system - full refs ok 11 - prompt - inside .git directory ok 59 - __git_refs - configured remote ok 12 - prompt - deep inside .git directory ok 60 - __git_refs - configured remote - full refs ok 13 - prompt - inside bare repository ok 61 - __git_refs - configured remote - repo given on the command line ok 62 - __git_refs - configured remote - full refs - repo given on the command line ok 63 - __git_refs - configured remote - remote name matches a directory ok 14 - prompt - interactive rebase ok 64 - __git_refs - URL remote ok 65 - __git_refs - URL remote - full refs ok 66 - __git_refs - non-existing remote ok 15 - prompt - rebase merge ok 67 - __git_refs - non-existing remote - full refs ok 68 - __git_refs - non-existing URL remote ok 69 - __git_refs - non-existing URL remote - full refs ok 70 - __git_refs - not in a git repository ok 16 - prompt - rebase am ok 71 - __git_refs - unique remote branches for git checkout DWIMery ok 72 - __git_refs - after --opt= ok 17 - prompt - merge ok 73 - __git_refs - after --opt= - full refs ok 74 - __git refs - excluding refs ok 75 - __git refs - excluding full refs ok 18 - prompt - cherry-pick ok 76 - setup for filtering matching refs ok 77 - __git_refs - do not filter refs unless told so ok 78 - __git_refs - only matching refs ok 79 - __git_refs - only matching refs - full refs ok 80 - __git_refs - only matching refs - remote on local file system ok 19 - prompt - revert ok 81 - __git_refs - only matching refs - configured remote ok 20 - prompt - bisect ok 82 - __git_refs - only matching refs - remote - full refs ok 21 - prompt - dirty status indicator - clean ok 83 - __git_refs - only matching refs - checkout DWIMery ok 22 - prompt - dirty status indicator - dirty worktree ok 84 - teardown after filtering matching refs ok 85 - __git_refs - for-each-ref format specifiers in prefix ok 86 - __git_complete_refs - simple ok 23 - prompt - dirty status indicator - dirty index ok 87 - __git_complete_refs - matching ok 88 - __git_complete_refs - remote ok 24 - prompt - dirty status indicator - dirty index and worktree ok 89 - __git_complete_refs - track ok 90 - __git_complete_refs - current word ok 91 - __git_complete_refs - prefix ok 25 - prompt - dirty status indicator - orphan branch - clean ok 92 - __git_complete_refs - suffix ok 93 - __git_complete_fetch_refspecs - simple ok 26 - prompt - dirty status indicator - orphan branch - dirty index ok 94 - __git_complete_fetch_refspecs - matching ok 95 - __git_complete_fetch_refspecs - prefix ok 27 - prompt - dirty status indicator - orphan branch - dirty index and worktree ok 96 - __git_complete_fetch_refspecs - fully qualified ok 28 - prompt - dirty status indicator - shell variable unset with config disabled ok 97 - __git_complete_fetch_refspecs - fully qualified & prefix ok 29 - prompt - dirty status indicator - shell variable unset with config enabled ok 98 - __git_complete_worktree_paths ok 99 - __git_complete_worktree_paths - not a git repository ok 30 - prompt - dirty status indicator - shell variable set with config disabled ok 100 - __git_complete_worktree_paths with -C ok 31 - prompt - dirty status indicator - shell variable set with config enabled ok 101 - git switch - with no options, complete local branches and unique remote branch names for DWIM logic ok 32 - prompt - dirty status indicator - not shown inside .git directory ok 102 - git bisect - when not bisecting, complete only replay and start subcommands ok 33 - prompt - stash status indicator - no stash ok 103 - git bisect - complete options to start subcommand ok 34 - prompt - stash status indicator - stash ok 104 - setup for git-bisect tests requiring a repo ok 105 - git bisect - start subcommand arguments before double-dash are completed as revs ok 35 - prompt - stash status indicator - not shown inside .git directory ok 106 - git bisect - start subcommand arguments after double-dash are not completed ok 107 - setup for git-bisect tests requiring ongoing bisection ok 36 - prompt - untracked files status indicator - no untracked files ok 108 - git-bisect - when bisecting all subcommands are candidates ok 37 - prompt - untracked files status indicator - untracked files ok 109 - git-bisect - options to terms subcommand are candidates ok 38 - prompt - untracked files status indicator - empty untracked dir ok 39 - prompt - untracked files status indicator - non-empty untracked dir ok 110 - git-bisect - git-log options to visualize subcommand are candidates ok 40 - prompt - untracked files status indicator - untracked files outside cwd ok 111 - git-bisect - view subcommand is not a candidate ok 41 - prompt - untracked files status indicator - shell variable unset with config disabled ok 42 - prompt - untracked files status indicator - shell variable unset with config enabled ok 112 - git-bisect - existing view subcommand is recognized and enables completion of git-log options ok 43 - prompt - untracked files status indicator - shell variable set with config disabled ok 44 - prompt - untracked files status indicator - shell variable set with config enabled ok 113 - git checkout - completes refs and unique remote branches for DWIM ok 45 - prompt - untracked files status indicator - not shown inside .git directory ok 46 - prompt - format string starting with dash ok 114 - git switch - with --no-guess, complete only local branches ok 47 - prompt - pc mode ok 115 - git switch - with GIT_COMPLETION_CHECKOUT_NO_GUESS=1, complete only local branches ok 48 - prompt - bash color pc mode - branch name ok 116 - git switch - --guess overrides GIT_COMPLETION_CHECKOUT_NO_GUESS=1, complete local branches and unique remote names for DWIM logic ok 49 - prompt - bash color pc mode - detached head ok 117 - git switch - a later --guess overrides previous --no-guess, complete local and remote unique branches for DWIM ok 50 - prompt - bash color pc mode - dirty status indicator - dirty worktree ok 118 - git switch - a later --no-guess overrides previous --guess, complete only local branches ok 51 - prompt - bash color pc mode - dirty status indicator - dirty index ok 119 - git checkout - with GIT_COMPLETION_NO_GUESS=1 only completes refs ok 52 - prompt - bash color pc mode - dirty status indicator - dirty index and worktree ok 120 - git checkout - --guess overrides GIT_COMPLETION_NO_GUESS=1, complete refs and unique remote branches for DWIM ok 53 - prompt - bash color pc mode - dirty status indicator - before root commit ok 121 - git checkout - with --no-guess, only completes refs ok 54 - prompt - bash color pc mode - inside .git directory ok 122 - git checkout - a later --guess overrides previous --no-guess, complete refs and unique remote branches for DWIM ok 55 - prompt - bash color pc mode - stash status indicator ok 123 - git checkout - a later --no-guess overrides previous --guess, complete only refs ok 56 - prompt - bash color pc mode - untracked files status indicator ok 57 - prompt - zsh color pc mode ok 124 - git checkout - with checkout.guess = false, only completes refs ok 58 - prompt - hide if pwd ignored - env var unset, config disabled ok 59 - prompt - hide if pwd ignored - env var unset, config disabled, pc mode ok 125 - git checkout - with checkout.guess = true, completes refs and unique remote branches for DWIM ok 60 - prompt - hide if pwd ignored - env var unset, config unset ok 61 - prompt - hide if pwd ignored - env var unset, config unset, pc mode ok 126 - git checkout - a later --guess overrides previous checkout.guess = false, complete refs and unique remote branches for DWIM ok 62 - prompt - hide if pwd ignored - env var set, config disabled ok 63 - prompt - hide if pwd ignored - env var set, config disabled, pc mode ok 127 - git checkout - a later --no-guess overrides previous checkout.guess = true, complete only refs ok 64 - prompt - hide if pwd ignored - env var set, config unset ok 128 - git switch - with --detach, complete all references ok 65 - prompt - hide if pwd ignored - env var set, config unset, pc mode ok 66 - prompt - hide if pwd ignored - inside gitdir ok 129 - git checkout - with --detach, complete only references ok 130 - setup sparse-checkout tests ok 131 - sparse-checkout completes subcommands ok 67 - prompt - conflict indicator # passed all 67 test(s) 1..67 not ok 132 - cone mode sparse-checkout completes directory names # # # initialize sparse-checkout definitions # git -C sparse-checkout sparse-checkout set --cone folder1/0 folder3 && # # # test tab completion # ( # cd sparse-checkout && # test_completion "git sparse-checkout set f" <<-\EOF # folder1/ # folder2/ # folder3/ # EOF # ) && # # ( # cd sparse-checkout && # test_completion "git sparse-checkout set folder1/" <<-\EOF # folder1/0/ # EOF # ) && # # ( # cd sparse-checkout && # test_completion "git sparse-checkout set folder1/0/" <<-\EOF # folder1/0/1/ # EOF # ) && # # ( # cd sparse-checkout/folder1 && # test_completion "git sparse-checkout add 0" <<-\EOF # 0/ # EOF # ) # not ok 133 - cone mode sparse-checkout completes directory names with spaces and accents # # # reset sparse-checkout # git -C sparse-checkout sparse-checkout disable && # ( # cd sparse-checkout && # mkdir "directory with spaces" && # mkdir "directory-with-áccent" && # >"directory with spaces/randomfile" && # >"directory-with-áccent/randomfile" && # git add . && # git commit -m "Add directory with spaces and directory with accent" && # git sparse-checkout set --cone "directory with spaces" \ # "directory-with-áccent" && # test_completion "git sparse-checkout add dir" <<-\EOF && # directory with spaces/ # directory-with-áccent/ # EOF # rm -rf "directory with spaces" && # rm -rf "directory-with-áccent" && # git add . && # git commit -m "Remove directory with spaces and directory with accent" # ) # not ok 134 - cone mode sparse-checkout completes directory names with tabs # # # reset sparse-checkout # git -C sparse-checkout sparse-checkout disable && # ( # cd sparse-checkout && # mkdir "$(printf "directory\twith\ttabs")" && # >"$(printf "directory\twith\ttabs")/randomfile" && # git add . && # git commit -m "Add directory with tabs" && # git sparse-checkout set --cone \ # "$(printf "directory\twith\ttabs")" && # test_completion "git sparse-checkout add dir" <<-\EOF && # directory with tabs/ # EOF # rm -rf "$(printf "directory\twith\ttabs")" && # git add . && # git commit -m "Remove directory with tabs" # ) # not ok 135 - cone mode sparse-checkout completes directory names with backslashes # # # reset sparse-checkout # git -C sparse-checkout sparse-checkout disable && # ( # cd sparse-checkout && # mkdir "directory\with\backslashes" && # >"directory\with\backslashes/randomfile" && # git add . && # git commit -m "Add directory with backslashes" && # git sparse-checkout set --cone \ # "directory\with\backslashes" && # test_completion "git sparse-checkout add dir" <<-\EOF && # directory\with\backslashes/ # EOF # rm -rf "directory\with\backslashes" && # git add . && # git commit -m "Remove directory with backslashes" # ) # not ok 136 - non-cone mode sparse-checkout gives rooted paths # # # reset sparse-checkout repo to non-cone mode # git -C sparse-checkout sparse-checkout disable && # git -C sparse-checkout sparse-checkout set --no-cone && # # ( # cd sparse-checkout && # # expected to be empty since we have not configured # # custom completion for non-cone mode # test_completion "git sparse-checkout set f" <<-\EOF # /folder1/0/1/t.txt Z # /folder1/expected Z # /folder1/out Z # /folder1/out_sorted Z # /folder2/0/t.txt Z # /folder3/t.txt Z # EOF # ) # not ok 137 - git sparse-checkout set --cone completes directory names # # git -C sparse-checkout sparse-checkout disable && # # ( # cd sparse-checkout && # test_completion "git sparse-checkout set --cone f" <<-\EOF # folder1/ # folder2/ # folder3/ # EOF # ) # ok 138 - git switch - with -d, complete all references ok 139 - git checkout - with -d, complete only references ok 140 - git switch - with --track, complete only remote branches ok 141 - git checkout - with --track, complete only remote branches ok 142 - git switch - with --no-track, complete only local branch names ok 143 - git checkout - with --no-track, complete only local references ok 144 - git switch - with -c, complete all references ok 145 - git switch - with -C, complete all references ok 146 - git switch - with -c and --track, complete all references ok 147 - git switch - with -C and --track, complete all references ok 148 - git switch - with -c and --no-track, complete all references ok 149 - git switch - with -C and --no-track, complete all references ok 150 - git checkout - with -b, complete all references ok 151 - git checkout - with -B, complete all references ok 152 - git checkout - with -b and --track, complete all references ok 153 - git checkout - with -B and --track, complete all references ok 154 - git checkout - with -b and --no-track, complete all references ok 155 - git checkout - with -B and --no-track, complete all references ok 156 - git switch - for -c, complete local branches and unique remote branches ok 157 - git switch - for -C, complete local branches and unique remote branches ok 158 - git switch - for -c with --no-guess, complete local branches only ok 159 - git switch - for -C with --no-guess, complete local branches only ok 160 - git switch - for -c with --no-track, complete local branches only ok 161 - git switch - for -C with --no-track, complete local branches only ok 162 - git checkout - for -b, complete local branches and unique remote branches ok 163 - git checkout - for -B, complete local branches and unique remote branches ok 164 - git checkout - for -b with --no-guess, complete local branches only ok 165 - git checkout - for -B with --no-guess, complete local branches only ok 166 - git checkout - for -b with --no-track, complete local branches only ok 167 - git checkout - for -B with --no-track, complete local branches only ok 168 - git switch - with --orphan completes local branch names and unique remote branch names ok 169 - git switch - --orphan with branch already provided completes nothing else ok 170 - git checkout - with --orphan completes local branch names and unique remote branch names ok 171 - git checkout - --orphan with branch already provided completes local refs for a start-point ok 172 - git restore completes modified files ok 173 - teardown after ref completion ok 174 - setup for path completion tests ok 175 - __git_complete_index_file - simple ok 176 - __git_complete_index_file - escaped characters on cmdline ok 177 - __git_complete_index_file - quoted characters on cmdline ok 178 - __git_complete_index_file - UTF-8 in ls-files output ok 179 - __git_complete_index_file - C-style escapes in ls-files output ok 180 - __git_complete_index_file - \nnn-escaped characters in ls-files output ok 181 - __git_complete_index_file - removing repeated quoted path components ok 182 - teardown after path completion tests ok 183 - __git_find_on_cmdline - single match ok 184 - __git_find_on_cmdline - multiple matches ok 185 - __git_find_on_cmdline - no match ok 186 - __git_find_on_cmdline - single match with index ok 187 - __git_find_on_cmdline - multiple matches with index ok 188 - __git_find_on_cmdline - no match with index ok 189 - __git_find_on_cmdline - ignores matches before command with index ok 190 - __git_get_config_variables ok 191 - __git_pretty_aliases ok 192 - basic ok 193 - double dash "git" itself ok 194 - double dash "git checkout" ok 195 - general options ok 196 - general options plus command ok 197 - git --help completion ok 198 - completion.commands removes multiple commands ok 199 - setup for integration tests ok 200 - checkout completes ref names ok 201 - checkout does not match ref names of a different case ok 202 - checkout matches case insensitively with GIT_COMPLETION_IGNORE_CASE ok 203 - checkout completes pseudo refs ok 204 - checkout completes pseudo refs case insensitively with GIT_COMPLETION_IGNORE_CASE ok 205 - git -C checkout uses the right repo ok 206 - show completes all refs ok 207 - : completes paths ok 208 - complete tree filename with spaces ok 209 - complete tree filename with metacharacters ok 210 - symbolic-ref completes builtin options ok 211 - symbolic-ref completes short ref names ok 212 - symbolic-ref completes full ref names ok 213 - send-email ok 214 - complete files ok 215 - simple alias ok 216 - recursive alias ok 217 - completion uses completion for alias: !sh -c 'git ...' ok 218 - completion uses completion for alias: !f () { VAR=val git ... } ok 219 - completion used completion for alias: !f() { : git ; ... } ok 220 - completion used completion for alias: !f() { : ; ... } ok 221 - completion used completion for alias: !f() { : ; ... } ok 222 - completion without explicit _git_xxx function not ok 223 - complete with tilde expansion # TODO known breakage ok 224 - setup other remote for remote reference completion ok 225 - __git_complete_remote_or_refspec - push -d other not ok 226 - __git_complete_remote_or_refspec - push other -d # TODO known breakage ok 227 - __git_complete_remote_or_refspec - push --delete other not ok 228 - __git_complete_remote_or_refspec - push other --delete # TODO known breakage ok 229 - git config subcommand ok 230 - git config subcommand options ok 231 - git config get ok 232 - git config set - section ok 233 - git config set - section include, includeIf ok 234 - git config set - variable name ok 235 - git config set - variable name include ok 236 - setup for git config submodule tests ok 237 - git config set - variable name - submodule and __git_compute_first_level_config_vars_for_section ok 238 - git config set - variable name - __git_compute_second_level_config_vars_for_section ok 239 - git config set - value ok 240 - git -c - section ok 241 - git -c - variable name ok 242 - git -c - value ok 243 - git clone --config= - section ok 244 - git clone --config= - variable name ok 245 - git clone --config= - value ok 246 - git reflog show ok 247 - options with value ok 248 - sourcing the completion script clears cached commands ok 249 - sourcing the completion script clears cached merge strategies ok 250 - sourcing the completion script clears cached --options ok 251 - option aliases are not shown by default ok 252 - option aliases are shown with GIT_COMPLETION_SHOW_ALL ok 253 - plumbing commands are excluded without GIT_COMPLETION_SHOW_ALL_COMMANDS ok 254 - all commands are shown with GIT_COMPLETION_SHOW_ALL_COMMANDS (also main non-builtin) ok 255 - __git_complete ok 256 - __git_pseudoref_exists # still have 3 known breakage(s) # failed 6 among remaining 253 test(s) 1..256 make[1]: *** [Makefile:77: t9902-completion.sh] Error 1 make[1]: Leaving directory '/home/udu/aports/main/git/src/git-2.49.1/t' make: *** [Makefile:63: test] Error 2 make: Leaving directory '/home/udu/aports/main/git/src/git-2.49.1/t'