*** This log is abridged to its last 500000 bytes gnored file output ok 34 - complaints for ignored sub/ign ok 35 - complaints for ignored sub/ign output ok 36 - complaints for ignored sub/ign with unignored file ok 37 - complaints for ignored sub/ign with unignored file output ok 38 - complaints for ignored sub in dir ok 39 - complaints for ignored sub in dir output ok 40 - complaints for ignored sub/file in dir ok 41 - complaints for ignored sub/file in dir output ok 42 - complaints for ignored sub/ign in dir ok 43 - complaints for ignored sub/ign in dir output ok 44 - complaints for ignored ign in sub ok 45 - complaints for ignored ign in sub output ok 46 - complaints for ignored file in sub ok 47 - complaints for ignored file in sub output # passed all 47 test(s) 1..47 *** t2205-add-worktree-config.sh *** ok 1 - 1a: setup--config worktree ok 2 - 1b: pre-add all ok 3 - 1c: pre-add dir all ok 4 - 1d: post-add tracked ok 5 - 1e: post-add untracked ok 6 - 2a: setup--set git-dir ok 7 - 2b: pre-add all ok 8 - 2c: pre-add dir all ok 9 - 2d: post-add tracked ok 10 - 2e: post-add untracked ok 11 - 3a: setup--add repo dir ok 30 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #3 ok 12 - 3b: ignored ok 13 - 3c: add repo # passed all 13 test(s) 1..13 *** t2300-cd-to-toplevel.sh *** ok 1 - at physical root ok 2 - at physical subdir ok 3 - at symbolic root ok 4 - at symbolic subdir ok 5 - at internal symbolic subdir # passed all 5 test(s) 1..5 *** t2400-worktree-add.sh *** ok 1 - setup ok 2 - "add" an existing worktree ok 3 - "add" an existing empty worktree ok 4 - "add" using shorthand - fails when no previous branch ok 5 - "add" using - shorthand ok 6 - "add" refuses to checkout locked branch ok 7 - checking out paths not complaining about linked checkouts ok 8 - "add" worktree ok 9 - "add" worktree with lock ok 10 - "add" worktree with lock and reason ok 11 - "add" worktree with reason but no lock ok 12 - "add" worktree from a subdir ok 13 - "add" from a linked checkout ok 14 - "add" worktree creating new branch ok 15 - die the same branch is already checked out ok 16 - refuse to reset a branch in use elsewhere ok 17 - die the same branch is already checked out (symlink) ok 18 - not die the same branch is already checked out ok 19 - not die on re-checking out current branch ok 20 - "add" from a bare repo ok 21 - checkout from a bare repo without "add" ok 22 - "add" default branch of a bare repo ok 23 - "add" to bare repo with worktree config ok 24 - checkout with grafts ok 25 - "add" from relative HEAD ok 26 - "add -b" with omitted ok 27 - "add --detach" with omitted ok 28 - "add" with omitted ok 29 - "add" checks out existing branch of dwimd name ok 30 - "add " dwim fails with checked out branch ok 31 - "add --force" with existing dwimd name doesnt die ok 32 - "add" no auto-vivify with --detach and omitted ok 33 - 'worktree add' with '-b poodle -B poodle bamboo main' has mutually exclusive options ok 34 - 'worktree add' with '-b poodle --detach bamboo main' has mutually exclusive options ok 35 - 'worktree add' with '-B poodle --detach bamboo main' has mutually exclusive options ok 36 - 'worktree add' with '--orphan --detach bamboo' has mutually exclusive options ok 37 - 'worktree add' with '--orphan --no-checkout bamboo' has mutually exclusive options ok 38 - 'worktree add' with '--orphan bamboo main' has mutually exclusive options ok 39 - 'worktree add' with '--orphan -b bamboo wtdir/ main' has mutually exclusive options ok 40 - "add -B" fails if the branch is checked out ok 41 - add -B ok 42 - add --quiet ok 43 - add --quiet -b ok 44 - "add --orphan" ok 45 - "add --orphan (no -b)" ok 46 - "add --orphan --quiet" ok 47 - "add --orphan" fails if the branch already exists ok 48 - "add --orphan" with empty repository ok 49 - "add" worktree with orphan branch and lock ok 50 - "add" worktree with orphan branch, lock, and reason ok 51 - 'worktree add' show orphan hint in bad/orphan HEAD w/ no opts ok 52 - 'worktree add' show orphan hint in bad/orphan HEAD w/ -b ok 53 - 'worktree add' show orphan hint in bad/orphan HEAD w/ -B ok 54 - 'worktree add' doesn't show orphan hint in bad/orphan HEAD w/ --quiet ok 55 - local clone from linked checkout ok 56 - local clone --shared from linked checkout ok 57 - "add" worktree with --no-checkout ok 58 - "add" worktree with --checkout ok 59 - put a worktree under rebase ok 60 - add a worktree, checking out a rebased branch ok 61 - checking out a rebased branch from another worktree ok 62 - not allow to delete a branch under rebase ok 63 - rename a branch under rebase not allowed ok 64 - check out from current worktree branch ok ok 65 - checkout a branch under bisect ok 66 - rename a branch under bisect not allowed ok 67 - --track sets up tracking ok 31 - update the split index after unpack trees() copied a racily clean cache entry from the shared index #4 # passed all 31 test(s) 1..31 *** t2401-worktree-prune.sh *** ok 68 - "add" w/ no HEAD ok 1 - initialize ok 2 - worktree prune on normal repo ok 3 - prune files inside $GIT_DIR/worktrees ok 4 - prune directories without gitdir ok 5 - prune directories with unreadable gitdir ok 6 - prune directories with invalid gitdir ok 7 - prune directories with gitdir pointing to nowhere ok 8 - not prune locked checkout ok 69 - --no-track avoids setting up tracking ok 70 - "add" fails ok 9 - not prune recent checkouts ok 10 - not prune proper checkouts ok 11 - prune duplicate (linked/linked) ok 12 - prune duplicate (main/linked) ok 71 - "add" dwims ok 13 - not prune proper worktrees inside linked worktree with relative paths # passed all 13 test(s) 1..13 *** t2402-worktree-list.sh *** ok 1 - setup ok 2 - rev-parse --git-common-dir on main worktree ok 3 - rev-parse --git-path objects linked worktree ok 72 - "add" dwims with checkout.defaultRemote ok 4 - "list" all worktrees from main ok 5 - "list" all worktrees from linked ok 6 - "list" all worktrees --porcelain ok 7 - "list" all worktrees --porcelain -z ok 8 - "list" -z fails without --porcelain ok 73 - git worktree add does not match remote ok 9 - "list" all worktrees with locked annotation ok 10 - "list" all worktrees --porcelain with locked ok 11 - "list" all worktrees --porcelain with locked reason newline escaped ok 74 - git worktree add --guess-remote sets up tracking ok 12 - "list" all worktrees with prunable annotation ok 13 - "list" all worktrees --porcelain with prunable ok 14 - "list" all worktrees with prunable consistent with "prune" ok 15 - "list" --verbose and --porcelain mutually exclusive ok 16 - "list" all worktrees --verbose with locked ok 75 - git worktree add --guess-remote sets up tracking (quiet) ok 17 - "list" all worktrees --verbose with prunable ok 18 - bare repo setup ok 19 - "list" all worktrees from bare main ok 20 - "list" all worktrees --porcelain from bare main ok 76 - git worktree --no-guess-remote (quiet) ok 21 - "list" all worktrees from linked with a bare main ok 22 - bare repo cleanup ok 23 - broken main worktree still at the top ok 24 - linked worktrees are sorted ok 77 - git worktree add with worktree.guessRemote sets up tracking ok 25 - linked worktrees with relative paths are shown with absolute paths ok 26 - worktree path when called in .git directory # passed all 26 test(s) 1..26 *** t2403-worktree-move.sh *** ok 78 - git worktree --no-guess-remote option overrides config ok 79 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch ok 1 - setup ok 2 - lock main worktree ok 3 - lock linked worktree ok 80 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, >=1 local branches, valid HEAD ok 4 - lock linked worktree from another worktree ok 5 - lock worktree twice ok 6 - lock worktree twice (from the locked worktree) ok 7 - unlock main worktree ok 8 - unlock linked worktree ok 9 - unlock worktree twice ok 10 - move non-worktree ok 81 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 11 - move locked worktree ok 12 - move worktree ok 13 - move main worktree ok 14 - move worktree to another dir ok 82 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 15 - move locked worktree (force) ok 16 - refuse to move worktree atop existing path ok 83 - "add" error need fetch w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 17 - move atop existing but missing worktree ok 84 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 18 - move a repo with uninitialized submodule ok 85 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 86 - "add" DWIM infer --orphan w/ empty repo, no --quiet (expect output), 'cd repo && git', --branch ok 19 - not move a repo with initialized submodule ok 20 - remove main worktree ok 21 - remove locked worktree ok 87 - "add" DWIM doesnt infer --orphan w/ no --quiet (expect output), 'cd repo && git', --branch, >=1 local branches, valid HEAD ok 22 - remove worktree with dirty tracked file ok 23 - remove worktree with untracked file ok 24 - force remove worktree with untracked file ok 88 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd repo && git', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 25 - remove missing worktree ok 26 - NOT remove missing-but-locked worktree ok 27 - proper error when worktree not found ok 89 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd repo && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 28 - remove locked worktree (force) ok 29 - remove cleans up .git/worktrees when empty ok 90 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd repo && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 30 - remove a repo with uninitialized submodule ok 91 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd repo && git', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 31 - not remove a repo with initialized submodule ok 92 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd repo && git', no --branch, >=1 local branches, invalid (or orphan) HEAD ok 32 - move worktree with absolute path to relative path ok 33 - move worktree with relative path to absolute path # passed all 33 test(s) 1..33 *** t2404-worktree-config.sh *** ok 93 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'cd repo && git', --branch, >=1 local branches, invalid (or orphan) HEAD ok 94 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'cd repo && git', --detach, >=1 local branches, invalid (or orphan) HEAD ok 1 - setup ok 95 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch ok 2 - config --worktree in single worktree ok 3 - add worktrees ok 4 - config --worktree without extension ok 5 - enable worktreeConfig extension ok 6 - config is shared as before ok 96 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, >=1 local branches, valid HEAD ok 7 - config is shared (set from another worktree) ok 8 - config private to main worktree ok 97 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 9 - config private to linked worktree ok 10 - core.bare no longer for main only ok 11 - per-worktree core.bare is picked up ok 12 - config.worktree no longer read without extension # passed all 12 test(s) 1..12 *** t2405-worktree-submodule.sh *** ok 98 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 99 - "add" error need fetch w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 100 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 101 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 1 - setup: create origin repos ok 102 - "add" DWIM infer --orphan w/ empty repo, no --quiet (expect output), 'cd wt && git', --branch ok 2 - setup: clone superproject to create main worktree ok 3 - add superproject worktree not ok 4 - submodule is checked out just after worktree add # TODO known breakage ok 103 - "add" DWIM doesnt infer --orphan w/ no --quiet (expect output), 'cd wt && git', --branch, >=1 local branches, valid HEAD ok 104 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd wt && git', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 5 - add superproject worktree and initialize submodules ok 6 - submodule is checked out just after submodule update in linked worktree ok 7 - add superproject worktree and manually add submodule worktree ok 8 - submodule is checked out after manually adding submodule worktree ok 105 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd wt && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 106 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd wt && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 9 - checkout --recurse-submodules uses $GIT_DIR for submodules in a linked worktree ok 107 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'cd wt && git', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 10 - core.worktree is removed in $GIT_DIR/modules//config, not in $GIT_COMMON_DIR/modules//config ok 11 - unsetting core.worktree does not prevent running commands directly against the submodule repository # still have 1 known breakage(s) # passed all remaining 10 test(s) 1..11 ok 108 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), no --quiet (expect output), 'cd wt && git', no --branch, >=1 local branches, invalid (or orphan) HEAD *** t2406-worktree-repair.sh *** ok 109 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'cd wt && git', --branch, >=1 local branches, invalid (or orphan) HEAD ok 1 - setup ok 2 - skip missing worktree ok 110 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'cd wt && git', --detach, >=1 local branches, invalid (or orphan) HEAD ok 3 - worktree path not directory ok 111 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch ok 4 - don't clobber .git repo ok 5 - repair missing .git file ok 112 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, >=1 local branches, valid HEAD ok 6 - repair bogus .git file ok 113 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 7 - repair incorrect .git file ok 8 - repair .git file from main/.git ok 114 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 9 - repair .git file from linked worktree ok 115 - "add" error need fetch w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 10 - repair .git file from bare.git ok 11 - invalid worktree path ok 12 - repo not found; .git not file ok 13 - repo not found; .git not referencing repo ok 116 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 14 - repo not found; .git file broken ok 15 - repair broken gitdir ok 16 - repair incorrect gitdir ok 17 - repair gitdir (implicit) from linked worktree ok 117 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 18 - unable to repair gitdir (implicit) from main worktree ok 118 - "add" DWIM infer --orphan w/ empty repo, no --quiet (expect output), 'git -C repo', --branch ok 19 - repair multiple gitdir files ok 119 - "add" DWIM doesnt infer --orphan w/ no --quiet (expect output), 'git -C repo', --branch, >=1 local branches, valid HEAD ok 20 - repair moved main and linked worktrees ok 120 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C repo', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 21 - repair copied main and linked worktrees ok 121 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C repo', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 22 - repair worktree with relative path with missing gitfile ok 122 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C repo', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 23 - repair absolute worktree to use relative paths ok 24 - repair relative worktree to use absolute paths # passed all 24 test(s) 1..24 *** t2407-worktree-heads.sh *** ok 123 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C repo', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 124 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C repo', no --branch, >=1 local branches, invalid (or orphan) HEAD ok 125 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'git -C repo', --branch, >=1 local branches, invalid (or orphan) HEAD ok 126 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'git -C repo', --detach, >=1 local branches, invalid (or orphan) HEAD ok 127 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch ok 128 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, >=1 local branches, valid HEAD ok 129 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 130 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 131 - "add" error need fetch w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 1 - setup ok 2 - refuse to overwrite: checked out in worktree ok 132 - "add" DWIM infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 3 - refuse to overwrite: worktree in bisect ok 4 - refuse to overwrite: worktree in rebase (apply) ok 5 - refuse to overwrite: worktree in rebase (merge) ok 133 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 6 - refuse to overwrite: worktree in rebase with --update-refs ok 7 - refuse to fetch over ref: checked out ok 134 - "add" DWIM infer --orphan w/ empty repo, no --quiet (expect output), 'git -C wt', --branch ok 8 - refuse to fetch over ref: worktree in bisect ok 9 - refuse to fetch over ref: worktree in rebase ok 135 - "add" DWIM doesnt infer --orphan w/ no --quiet (expect output), 'git -C wt', --branch, >=1 local branches, valid HEAD ok 10 - refuse to overwrite when in error states ok 136 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C wt', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 11 - refuse to overwrite during rebase with --update-refs ok 12 - $EDITOR and friends are unchanged # passed all 12 test(s) 1..12 *** t2500-untracked-overwriting.sh *** ok 137 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C wt', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 138 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C wt', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 1 - reset --hard will nuke untracked files/dirs ok 139 - "add" DWIM infer --orphan w/ no --quiet (expect output), 'git -C wt', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 2 - reset --merge will preserve untracked files/dirs ok 140 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), no --quiet (expect output), 'git -C wt', no --branch, >=1 local branches, invalid (or orphan) HEAD ok 3 - reset --keep will preserve untracked files/dirs ok 141 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'git -C wt', --branch, >=1 local branches, invalid (or orphan) HEAD ok 4 - checkout -m does not nuke untracked file ok 142 - "add" error, warn on bad HEAD, hint use orphan w/ no --quiet (expect output), 'git -C wt', --detach, >=1 local branches, invalid (or orphan) HEAD ok 143 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, DWIM (no --branch), no --quiet (expect output), no --branch, --no-checkout ok 144 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, DWIM (no --branch), no --quiet (expect output), no --branch, --track ok 145 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, no --quiet (expect output), --branch, --no-checkout ok 146 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, no --quiet (expect output), --branch, --track ok 147 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), --quiet, 'cd repo && git', no --branch ok 5 - git rebase --abort and untracked files ok 148 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, >=1 local branches, valid HEAD ok 149 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 6 - git rebase fast forwarding and untracked files ok 150 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 151 - "add" error need fetch w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 152 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force not ok 7 - git rebase --autostash and untracked files # TODO known breakage ok 153 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 154 - "add" DWIM infer --orphan w/ empty repo, --quiet, 'cd repo && git', --branch not ok 8 - git stash and untracked files # TODO known breakage ok 155 - "add" DWIM doesnt infer --orphan w/ --quiet, 'cd repo && git', --branch, >=1 local branches, valid HEAD ok 156 - "add" DWIM infer --orphan w/ --quiet, 'cd repo && git', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 157 - "add" DWIM infer --orphan w/ --quiet, 'cd repo && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 9 - git am --abort and untracked dir vs. unmerged file ok 158 - "add" DWIM infer --orphan w/ --quiet, 'cd repo && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 159 - "add" DWIM infer --orphan w/ --quiet, 'cd repo && git', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 10 - git am --skip and untracked dir vs deleted file # still have 2 known breakage(s) # passed all remaining 8 test(s) 1..10 ok 160 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), --quiet, 'cd repo && git', no --branch, >=1 local branches, invalid (or orphan) HEAD *** t2501-cwd-empty.sh *** ok 161 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'cd repo && git', --branch, >=1 local branches, invalid (or orphan) HEAD ok 162 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'cd repo && git', --detach, >=1 local branches, invalid (or orphan) HEAD ok 163 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), --quiet, 'cd wt && git', no --branch ok 164 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, >=1 local branches, valid HEAD ok 1 - setup ok 165 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 2 - checkout does not clean cwd incidentally ok 3 - checkout fails if cwd needs to be removed ok 4 - reset --hard does not clean cwd incidentally ok 166 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 5 - reset --hard fails if cwd needs to be removed ok 6 - merge does not clean cwd incidentally ok 167 - "add" error need fetch w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 7 - merge fails if cwd needs to be removed; recursive friendly ok 8 - merge fails if cwd needs to be removed ok 9 - cherry-pick does not clean cwd incidentally ok 168 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 10 - cherry-pick fails if cwd needs to be removed ok 11 - rebase does not clean cwd incidentally ok 12 - rebase fails if cwd needs to be removed ok 13 - revert does not clean cwd incidentally ok 169 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 14 - revert fails if cwd needs to be removed ok 170 - "add" DWIM infer --orphan w/ empty repo, --quiet, 'cd wt && git', --branch ok 15 - rm does not clean cwd incidentally ok 16 - apply does not remove cwd incidentally ok 17 - clean does not remove cwd incidentally ok 171 - "add" DWIM doesnt infer --orphan w/ --quiet, 'cd wt && git', --branch, >=1 local branches, valid HEAD ok 18 - stash does not remove cwd incidentally ok 19 - `rm -rf dir` only removes a subset of dir ok 172 - "add" DWIM infer --orphan w/ --quiet, 'cd wt && git', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 20 - `rm -rf dir` even with only tracked files will remove something else ok 21 - git version continues working from a deleted dir ok 173 - "add" DWIM infer --orphan w/ --quiet, 'cd wt && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 22 - rm -r with -C leaves submodule if cwd inside ok 174 - "add" DWIM infer --orphan w/ --quiet, 'cd wt && git', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 175 - "add" DWIM infer --orphan w/ --quiet, 'cd wt && git', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 23 - rm -r leaves submodule if cwd inside ok 176 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), --quiet, 'cd wt && git', no --branch, >=1 local branches, invalid (or orphan) HEAD ok 24 - rm -rf removes submodule even if cwd inside ok 177 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'cd wt && git', --branch, >=1 local branches, invalid (or orphan) HEAD # passed all 24 test(s) 1..24 *** t3000-ls-files-others.sh *** ok 178 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'cd wt && git', --detach, >=1 local branches, invalid (or orphan) HEAD ok 179 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), --quiet, 'git -C repo', no --branch ok 1 - setup ok 2 - setup: expected output ok 3 - ls-files --others ok 4 - ls-files --others --directory ok 5 - --no-empty-directory hides empty directory ok 6 - ls-files --others handles non-submodule .git ok 180 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, >=1 local branches, valid HEAD ok 181 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 7 - ls-files --others with symlinked submodule ok 8 - setup nested pathspec search ok 9 - ls-files -o --directory with single deep dir pathspec ok 10 - ls-files -o --directory with multiple dir pathspecs ok 11 - ls-files -o --directory with mix dir/file pathspecs ok 12 - ls-files -o --directory with glob filetype match ok 13 - ls-files -o --directory with mix of tracked states ok 14 - ls-files -o --directory with glob filetype match only ok 182 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 15 - ls-files -o --directory to get immediate paths under one dir only ok 16 - ls-files -o avoids listing untracked non-matching gitdir # passed all 16 test(s) 1..16 *** t3001-ls-files-others-exclude.sh *** ok 183 - "add" error need fetch w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 184 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 1 - git ls-files --others with various exclude options. ok 2 - git ls-files --others with \r\n line endings. ok 3 - setup skip-worktree gitignore ok 4 - git ls-files --others with various exclude options. ok 5 - restore gitignore ok 6 - git status honors core.excludesfile ok 7 - trailing slash in exclude allows directory match(1) ok 8 - trailing slash in exclude allows directory match (2) ok 9 - trailing slash in exclude forces directory match (1) ok 10 - trailing slash in exclude forces directory match (2) ok 11 - negated exclude matches can override previous ones ok 12 - excluded directory overrides content patterns ok 13 - negated directory doesn't affect content patterns ok 14 - subdirectory ignore (setup) ok 15 - subdirectory ignore (toplevel) ok 185 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 16 - subdirectory ignore (l1/l2) ok 17 - subdirectory ignore (l1) ok 18 - show/hide empty ignored directory (setup) ok 19 - show empty ignored directory with --directory ok 20 - hide empty ignored directory with --no-empty-directory ok 21 - show/hide empty ignored sub-directory (setup) ok 22 - show empty ignored sub-directory with --directory ok 186 - "add" DWIM infer --orphan w/ empty repo, --quiet, 'git -C repo', --branch ok 23 - hide empty ignored sub-directory with --no-empty-directory ok 24 - pattern matches prefix completely ok 25 - ls-files with "**" patterns ok 26 - ls-files with "**" patterns and --directory ok 27 - ls-files with "**" patterns and no slashes # passed all 27 test(s) 1..27 *** t3002-ls-files-dashpath.sh *** ok 187 - "add" DWIM doesnt infer --orphan w/ --quiet, 'git -C repo', --branch, >=1 local branches, valid HEAD ok 188 - "add" DWIM infer --orphan w/ --quiet, 'git -C repo', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 1 - setup ok 2 - git ls-files without path restriction. ok 3 - git ls-files with path restriction. ok 4 - git ls-files with path restriction with --. ok 5 - git ls-files with path restriction with -- --. ok 189 - "add" DWIM infer --orphan w/ --quiet, 'git -C repo', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 6 - git ls-files with no path restriction. # passed all 6 test(s) 1..6 *** t3003-ls-files-exclude.sh *** ok 190 - "add" DWIM infer --orphan w/ --quiet, 'git -C repo', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 1 - create repo with file ok 2 - ls-files output contains file (cached) ok 3 - ls-files output contains file (modified) ok 4 - add file to gitignore ok 5 - ls-files output contains file (cached) ok 6 - ls-files output contains file (modified) ok 7 - ls-files -i -c lists only tracked-but-ignored files # passed all 7 test(s) 1..7 *** t3004-ls-files-basic.sh *** ok 191 - "add" DWIM infer --orphan w/ --quiet, 'git -C repo', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 192 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), --quiet, 'git -C repo', no --branch, >=1 local branches, invalid (or orphan) HEAD ok 1 - ls-files in empty repository ok 2 - ls-files with nonexistent path ok 3 - ls-files with nonsense option ok 193 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'git -C repo', --branch, >=1 local branches, invalid (or orphan) HEAD ok 4 - ls-files -h in corrupt repository ok 5 - ls-files with absolute paths to symlinks # passed all 5 test(s) 1..5 ok 194 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'git -C repo', --detach, >=1 local branches, invalid (or orphan) HEAD *** t3005-ls-files-relative.sh *** ok 195 - "add" DWIM infer --orphan w/ empty repo, DWIM (no --branch), --quiet, 'git -C wt', no --branch ok 1 - prepare ok 2 - ls-files with mixed levels ok 3 - ls-files -c ok 196 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, >=1 local branches, valid HEAD ok 4 - ls-files -o # passed all 4 test(s) 1..4 *** t3006-ls-files-long.sh *** ok 197 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 1 - setup ok 2 - overly-long path by itself is not a problem ok 3 - overly-long path does not replace another by mistake ok 198 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote # passed all 3 test(s) 1..3 *** t3007-ls-files-recurse-submodules.sh *** ok 199 - "add" error need fetch w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 200 - "add" DWIM infer --orphan w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote, --force ok 1 - setup directory structure and submodules ok 2 - ls-files correctly outputs files in submodule ok 3 - --stage ok 4 - ls-files correctly outputs files in submodule with -z ok 5 - ls-files does not output files not added to a repo ok 201 - "add" DWIM doesnt infer --orphan w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 202 - "add" DWIM infer --orphan w/ empty repo, --quiet, 'git -C wt', --branch ok 6 - ls-files recurses more than 1 level ok 7 - ls-files works with GIT_DIR ok 203 - "add" DWIM doesnt infer --orphan w/ --quiet, 'git -C wt', --branch, >=1 local branches, valid HEAD ok 204 - "add" DWIM infer --orphan w/ --quiet, 'git -C wt', --branch, 0 local branches, 0 remotes, 0 fetched remote branches, --no-guess-remote ok 8 - --recurse-submodules and pathspecs setup ok 205 - "add" DWIM infer --orphan w/ --quiet, 'git -C wt', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --no-guess-remote ok 9 - inactive submodule ok 10 - --recurse-submodules and pathspecs ok 11 - --recurse-submodules and pathspecs ok 12 - --recurse-submodules and pathspecs ok 13 - --recurse-submodules and pathspecs ok 206 - "add" DWIM infer --orphan w/ --quiet, 'git -C wt', --branch, 0 local branches, >=1 remotes, 0 fetched remote branches, --guess-remote ok 14 - --recurse-submodules and pathspecs ok 15 - --recurse-submodules and relative paths ok 16 - --recurse-submodules does not support --error-unmatch ok 17 - --recurse-submodules parses submodule repo config ok 18 - --recurse-submodules parses submodule worktree config ok 19 - --recurse-submodules submodules ignore super project worktreeConfig extension ok 20 - --recurse-submodules and --deleted are incompatible ok 21 - --recurse-submodules and --modified are incompatible ok 207 - "add" DWIM infer --orphan w/ --quiet, 'git -C wt', --branch, 0 local branches, >=1 remotes, >=1 fetched remote branches, --guess-remote ok 22 - --recurse-submodules and --others are incompatible ok 23 - --recurse-submodules and --killed are incompatible ok 24 - --recurse-submodules and --unmerged are incompatible # passed all 24 test(s) 1..24 *** t3008-ls-files-lazy-init-name-hash.sh *** ok 208 - "add" error, warn on bad HEAD, hint use orphan w/ DWIM (no --branch), --quiet, 'git -C wt', no --branch, >=1 local branches, invalid (or orphan) HEAD ok 209 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'git -C wt', --branch, >=1 local branches, invalid (or orphan) HEAD ok 210 - "add" error, warn on bad HEAD, hint use orphan w/ --quiet, 'git -C wt', --detach, >=1 local branches, invalid (or orphan) HEAD ok 1 - no buffer overflow in lazy_init_name_hash # passed all 1 test(s) 1..1 *** t3009-ls-files-others-nonsubmodule.sh *** ok 211 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, DWIM (no --branch), --quiet, no --branch, --no-checkout ok 212 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, DWIM (no --branch), --quiet, no --branch, --track ok 213 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, --quiet, --branch, --no-checkout ok 214 - "add" error inferred "--orphan" gives illegal opts combo w/ empty repo, --quiet, --branch, --track ok 215 - "add" invokes post-checkout hook (branch) ok 216 - "add" invokes post-checkout hook (detached) ok 1 - setup: directories ok 2 - ls-files --others handles untracked git repositories # passed all 2 test(s) 1..2 *** t3010-ls-files-killed-modified.sh *** ok 217 - "add --no-checkout" suppresses post-checkout hook ok 218 - "add" in other worktree invokes post-checkout hook ok 219 - "add" in bare repo invokes post-checkout hook ok 220 - "add" an existing but missing worktree ok 1 - git update-index --add to add various paths. ok 2 - git ls-files -k to show killed files. ok 3 - git ls-files -k output (w/o icase) ok 4 - git ls-files -k output (w/ icase) ok 5 - git ls-files -m to show modified files. ok 221 - "add" an existing locked but missing worktree ok 6 - validate git ls-files -m output. # passed all 6 test(s) 1..6 *** t3011-common-prefixes-and-directory-traversal.sh *** ok 222 - "add" not tripped up by magic worktree matching" ok 223 - sanitize generated worktree name ok 224 - "add" should not fail because of another bad worktree ok 1 - setup ok 2 - git ls-files -o shows the right entries ok 3 - git ls-files -o --exclude-standard shows the right entries ok 4 - git ls-files -o untracked_dir recurses ok 5 - git ls-files -o untracked_dir/ recurses ok 6 - git ls-files -o --directory untracked_dir does not recurse ok 7 - git ls-files -o --directory untracked_dir/ does not recurse ok 8 - git ls-files -o untracked_repo does not recurse ok 9 - git ls-files -o untracked_repo/ does not recurse ok 10 - git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only ok 11 - git ls-files -o untracked_dir/ untracked_repo/ recurses into untracked_dir only ok 12 - git ls-files -o --directory untracked_dir untracked_repo does not recurse ok 13 - git ls-files -o --directory untracked_dir/ untracked_repo/ does not recurse ok 14 - git ls-files -o .git shows nothing ok 15 - git ls-files -o .git/ shows nothing ok 16 - git ls-files -o untracked_* recurses appropriately not ok 17 - git ls-files -o untracked_*/ recurses appropriately # TODO known breakage ok 18 - git ls-files -o --directory untracked_* does not recurse ok 19 - git ls-files -o --directory untracked_*/ does not recurse ok 20 - git ls-files -o consistent between one or two dirs ok 21 - git status --ignored shows same files under dir with or without pathspec # still have 1 known breakage(s) # passed all remaining 20 test(s) 1..21 ok 225 - "add" with uninitialized submodule, with submodule.recurse unset *** t3012-ls-files-dedup.sh *** ok 226 - "add" with uninitialized submodule, with submodule.recurse set ok 227 - "add" with initialized submodule, with submodule.recurse unset ok 228 - "add" with initialized submodule, with submodule.recurse set ok 1 - setup ok 229 - can create worktrees with relative paths ok 2 - git ls-files --deduplicate to show unique unmerged path ok 3 - git ls-files -d -m --deduplicate with different display options # passed all 3 test(s) 1..3 ok 230 - can create worktrees with absolute paths *** t3013-ls-files-format.sh *** ok 231 - move repo without breaking relative internal links ok 232 - relative worktree sets extension config ok 1 - usage: --format is incompatible with -s # passed all 232 test(s) 1..232 ok 2 - usage: --format is incompatible with -o ok 3 - usage: --format is incompatible with -k ok 4 - usage: --format is incompatible with -t ok 5 - usage: --format is incompatible with --resolve-undo ok 6 - usage: --format is incompatible with --deduplicate ok 7 - usage: --format is incompatible with --eol ok 8 - setup ok 9 - git ls-files --format objectmode v.s. -s *** t3020-ls-files-error-unmatch.sh *** ok 10 - git ls-files --format objectname v.s. -s ok 11 - git ls-files --format objecttype ok 12 - git ls-files --format objectsize ok 13 - git ls-files --format objectsize:padded ok 14 - git ls-files --format v.s. --eol ok 15 - git ls-files --format path v.s. -s ok 16 - git ls-files --format with relative path ok 17 - git ls-files --format with -m ok 18 - git ls-files --format with -d ok 19 - git ls-files --format v.s -s ok 20 - git ls-files --format with --debug # passed all 20 test(s) 1..20 ok 1 - setup *** t3040-subprojects-basic.sh *** ok 2 - git ls-files --error-unmatch should fail with unmatched path. ok 3 - git ls-files --error-unmatch should succeed with matched paths. # passed all 3 test(s) 1..3 *** t3050-subprojects-fetch.sh *** ok 1 - setup: create superproject ok 1 - setup ok 2 - clone ok 2 - setup: create subprojects ok 3 - check if fsck ignores the subprojects ok 3 - advance ok 4 - check if commit in a subproject detected ok 5 - check if a changed subproject HEAD can be committed ok 6 - check if diff-index works for subproject elements ok 7 - check if diff-tree works for subproject elements ok 8 - check if git diff works for subproject elements ok 4 - fetch # passed all 4 test(s) 1..4 *** t3060-ls-files-with-tree.sh *** ok 9 - check if clone works ok 10 - removing and adding subproject ok 11 - checkout in superproject # passed all 11 test(s) 1..11 *** t3070-wildmatch.sh *** ok 1 - setup ok 2 - usage ok 3 - git ls-files --with-tree should succeed from subdir ok 4 - git ls-files --with-tree should add entries from named tree. ok 1 - cleanup after previous file test ok 5 - no duplicates in --with-tree output ok 2 - setup match file test for foo ok 3 - wildmatch: match 'foo' 'foo' ok 4 - wildmatch (via ls-files): match 'foo' 'foo' ok 5 - iwildmatch: match 'foo' 'foo' ok 6 - iwildmatch (via ls-files): match 'foo' 'foo' ok 7 - pathmatch: match 'foo' 'foo' ok 8 - pathmatch (via ls-files): match 'foo' 'foo' ok 9 - ipathmatch: match 'foo' 'foo' ok 10 - ipathmatch (via ls-files): match 'foo' 'foo' ok 11 - cleanup after previous file test ok 12 - setup match file test for foo ok 13 - wildmatch: no match 'foo' 'bar' ok 6 - setup: output in a conflict ok 14 - wildmatch (via ls-files): no match 'bar' 'foo' ok 15 - iwildmatch: no match 'foo' 'bar' ok 16 - iwildmatch (via ls-files): no match 'bar' 'foo' ok 17 - pathmatch: no match 'foo' 'bar' ok 7 - output in a conflict ok 18 - pathmatch (via ls-files): no match 'bar' 'foo' ok 19 - ipathmatch: no match 'foo' 'bar' ok 8 - output with removed .git/index # passed all 8 test(s) 1..8 ok 20 - ipathmatch (via ls-files): no match 'bar' 'foo' *** t3100-ls-tree-restrict.sh *** ok 21 - cleanup after previous file test ok 22 - setup match file test for ok 23 - wildmatch: match '' '' not ok 24 - wildmatch (via ls-files): match skip '' '' # TODO known breakage ok 25 - iwildmatch: match '' '' not ok 26 - iwildmatch (via ls-files): match skip '' '' # TODO known breakage ok 27 - pathmatch: match '' '' not ok 28 - pathmatch (via ls-files): match skip '' '' # TODO known breakage ok 29 - ipathmatch: match '' '' not ok 30 - ipathmatch (via ls-files): match skip '' '' # TODO known breakage ok 31 - cleanup after previous file test ok 32 - setup match file test for foo ok 33 - wildmatch: match 'foo' '???' ok 34 - wildmatch (via ls-files): match '???' 'foo' ok 35 - iwildmatch: match 'foo' '???' ok 36 - iwildmatch (via ls-files): match '???' 'foo' ok 37 - pathmatch: match 'foo' '???' ok 38 - pathmatch (via ls-files): match '???' 'foo' ok 39 - ipathmatch: match 'foo' '???' ok 40 - ipathmatch (via ls-files): match '???' 'foo' ok 41 - cleanup after previous file test ok 42 - setup match file test for foo ok 43 - wildmatch: no match 'foo' '??' ok 44 - wildmatch (via ls-files): no match '??' 'foo' ok 45 - iwildmatch: no match 'foo' '??' ok 1 - setup ok 46 - iwildmatch (via ls-files): no match '??' 'foo' ok 47 - pathmatch: no match 'foo' '??' ok 2 - ls-tree plain ok 48 - pathmatch (via ls-files): no match '??' 'foo' ok 49 - ipathmatch: no match 'foo' '??' ok 3 - ls-tree recursive ok 50 - ipathmatch (via ls-files): no match '??' 'foo' ok 4 - ls-tree recursive with -t ok 51 - cleanup after previous file test ok 5 - ls-tree recursive with -d ok 6 - ls-tree filtered with path ok 52 - setup match file test for foo ok 53 - wildmatch: match 'foo' '*' ok 7 - ls-tree filtered with path1 path0 ok 54 - wildmatch (via ls-files): match '*' 'foo' ok 55 - iwildmatch: match 'foo' '*' ok 8 - ls-tree filtered with path0/ ok 56 - iwildmatch (via ls-files): match '*' 'foo' ok 57 - pathmatch: match 'foo' '*' ok 9 - ls-tree filtered with path2 ok 58 - pathmatch (via ls-files): match '*' 'foo' ok 10 - ls-tree filtered with path2/ ok 59 - ipathmatch: match 'foo' '*' ok 11 - ls-tree filtered with path2/baz ok 60 - ipathmatch (via ls-files): match '*' 'foo' ok 12 - ls-tree filtered with path2/bak ok 61 - cleanup after previous file test ok 13 - ls-tree -t filtered with path2/bak ok 62 - setup match file test for foo ok 63 - wildmatch: match 'foo' 'f*' ok 14 - ls-tree with one path a prefix of the other # passed all 14 test(s) 1..14 *** t3101-ls-tree-dirname.sh *** ok 64 - wildmatch (via ls-files): match 'f*' 'foo' ok 65 - iwildmatch: match 'foo' 'f*' ok 66 - iwildmatch (via ls-files): match 'f*' 'foo' ok 67 - pathmatch: match 'foo' 'f*' ok 68 - pathmatch (via ls-files): match 'f*' 'foo' ok 69 - ipathmatch: match 'foo' 'f*' ok 70 - ipathmatch (via ls-files): match 'f*' 'foo' ok 71 - cleanup after previous file test ok 72 - setup match file test for foo ok 73 - wildmatch: no match 'foo' '*f' ok 74 - wildmatch (via ls-files): no match '*f' 'foo' ok 75 - iwildmatch: no match 'foo' '*f' ok 76 - iwildmatch (via ls-files): no match '*f' 'foo' ok 77 - pathmatch: no match 'foo' '*f' ok 78 - pathmatch (via ls-files): no match '*f' 'foo' ok 79 - ipathmatch: no match 'foo' '*f' ok 80 - ipathmatch (via ls-files): no match '*f' 'foo' ok 81 - cleanup after previous file test ok 1 - setup ok 82 - setup match file test for foo ok 83 - wildmatch: match 'foo' '*foo*' ok 2 - ls-tree plain ok 84 - wildmatch (via ls-files): match '*foo*' 'foo' ok 85 - iwildmatch: match 'foo' '*foo*' ok 3 - ls-tree recursive ok 86 - iwildmatch (via ls-files): match '*foo*' 'foo' ok 4 - ls-tree filter 1.txt ok 87 - pathmatch: match 'foo' '*foo*' ok 5 - ls-tree filter path1/b/c/1.txt ok 88 - pathmatch (via ls-files): match '*foo*' 'foo' ok 89 - ipathmatch: match 'foo' '*foo*' ok 6 - ls-tree filter all 1.txt files ok 90 - ipathmatch (via ls-files): match '*foo*' 'foo' ok 7 - ls-tree filter directories ok 91 - cleanup after previous file test ok 8 - ls-tree filter odd names ok 92 - setup match file test for foobar ok 9 - ls-tree filter missing files and extra slashes ok 93 - wildmatch: match 'foobar' '*ob*a*r*' ok 10 - ls-tree filter is leading path match ok 94 - wildmatch (via ls-files): match '*ob*a*r*' 'foobar' ok 95 - iwildmatch: match 'foobar' '*ob*a*r*' ok 11 - ls-tree --full-name ok 96 - iwildmatch (via ls-files): match '*ob*a*r*' 'foobar' ok 97 - pathmatch: match 'foobar' '*ob*a*r*' ok 12 - ls-tree --no-full-name ok 98 - pathmatch (via ls-files): match '*ob*a*r*' 'foobar' ok 13 - ls-tree --full-tree ok 99 - ipathmatch: match 'foobar' '*ob*a*r*' ok 14 - ls-tree --full-tree -r ok 100 - ipathmatch (via ls-files): match '*ob*a*r*' 'foobar' ok 15 - ls-tree --abbrev=5 ok 101 - cleanup after previous file test ok 16 - ls-tree --name-only ok 102 - setup match file test for aaaaaaabababab ok 103 - wildmatch: match 'aaaaaaabababab' '*ab' ok 17 - ls-tree --name-only -r ok 104 - wildmatch (via ls-files): match '*ab' 'aaaaaaabababab' ok 105 - iwildmatch: match 'aaaaaaabababab' '*ab' ok 18 - ls-tree --name-status ok 106 - iwildmatch (via ls-files): match '*ab' 'aaaaaaabababab' ok 19 - ls-tree --name-status -r ok 107 - pathmatch: match 'aaaaaaabababab' '*ab' # passed all 19 test(s) 1..19 *** t3102-ls-tree-wildcards.sh *** ok 108 - pathmatch (via ls-files): match '*ab' 'aaaaaaabababab' ok 109 - ipathmatch: match 'aaaaaaabababab' '*ab' ok 110 - ipathmatch (via ls-files): match '*ab' 'aaaaaaabababab' ok 111 - cleanup after previous file test ok 112 - setup match file test for foo* ok 113 - wildmatch: match 'foo*' 'foo\*' ok 114 - wildmatch (via ls-files): match 'foo\*' 'foo*' ok 115 - iwildmatch: match 'foo*' 'foo\*' ok 116 - iwildmatch (via ls-files): match 'foo\*' 'foo*' ok 117 - pathmatch: match 'foo*' 'foo\*' ok 118 - pathmatch (via ls-files): match 'foo\*' 'foo*' ok 119 - ipathmatch: match 'foo*' 'foo\*' ok 120 - ipathmatch (via ls-files): match 'foo\*' 'foo*' ok 121 - cleanup after previous file test ok 122 - setup match file test for foobar ok 123 - wildmatch: no match 'foobar' 'foo\*bar' ok 124 - wildmatch (via ls-files): no match 'foo\*bar' 'foobar' ok 1 - setup ok 125 - iwildmatch: no match 'foobar' 'foo\*bar' ok 2 - ls-tree a[a] matches literally ok 126 - iwildmatch (via ls-files): no match 'foo\*bar' 'foobar' ok 127 - pathmatch: no match 'foobar' 'foo\*bar' ok 3 - ls-tree outside prefix ok 128 - pathmatch (via ls-files): no match 'foo\*bar' 'foobar' ok 129 - ipathmatch: no match 'foobar' 'foo\*bar' not ok 4 - ls-tree does not yet support negated pathspec # TODO known breakage # still have 1 known breakage(s) # passed all remaining 3 test(s) 1..4 ok 130 - ipathmatch (via ls-files): no match 'foo\*bar' 'foobar' *** t3103-ls-tree-misc.sh *** ok 131 - cleanup after previous file test ok 132 - setup match file test for f\oo ok 133 - wildmatch: match 'f\oo' 'f\\oo' ok 134 - wildmatch (via ls-files): match 'f\\oo' 'f\oo' ok 135 - iwildmatch: match 'f\oo' 'f\\oo' ok 136 - iwildmatch (via ls-files): match 'f\\oo' 'f\oo' ok 137 - pathmatch: match 'f\oo' 'f\\oo' ok 138 - pathmatch (via ls-files): match 'f\\oo' 'f\oo' ok 139 - ipathmatch: match 'f\oo' 'f\\oo' ok 140 - ipathmatch (via ls-files): match 'f\\oo' 'f\oo' ok 141 - cleanup after previous file test ok 142 - setup match file test for ball ok 143 - wildmatch: match 'ball' '*[al]?' ok 144 - wildmatch (via ls-files): match '*[al]?' 'ball' ok 145 - iwildmatch: match 'ball' '*[al]?' ok 146 - iwildmatch (via ls-files): match '*[al]?' 'ball' ok 147 - pathmatch: match 'ball' '*[al]?' ok 1 - setup ok 148 - pathmatch (via ls-files): match '*[al]?' 'ball' ok 149 - ipathmatch: match 'ball' '*[al]?' ok 2 - ls-tree fails with non-zero exit code on broken tree ok 3 - usage: incompatible options: --long --name-only ok 150 - ipathmatch (via ls-files): match '*[al]?' 'ball' ok 4 - usage: incompatible options: --long and --format ok 5 - usage: incompatible options: --name-only --name-status ok 151 - cleanup after previous file test ok 6 - usage: incompatible options: --name-only and --format ok 7 - usage: incompatible options: --name-status --object-only ok 152 - setup match file test for ten ok 8 - usage: incompatible options: --name-status and --format ok 153 - wildmatch: no match 'ten' '[ten]' ok 9 - usage: incompatible options: --object-only --long ok 10 - usage: incompatible options: --object-only and --format ok 154 - wildmatch (via ls-files): no match '[ten]' 'ten' # passed all 10 test(s) 1..10 ok 155 - iwildmatch: no match 'ten' '[ten]' *** t3104-ls-tree-format.sh *** ok 156 - iwildmatch (via ls-files): no match '[ten]' 'ten' ok 157 - pathmatch: no match 'ten' '[ten]' ok 158 - pathmatch (via ls-files): no match '[ten]' 'ten' ok 159 - ipathmatch: no match 'ten' '[ten]' ok 160 - ipathmatch (via ls-files): no match '[ten]' 'ten' ok 161 - cleanup after previous file test ok 162 - setup match file test for ten ok 163 - wildmatch: match 'ten' '**[!te]' ok 164 - wildmatch (via ls-files): match '**[!te]' 'ten' ok 165 - iwildmatch: match 'ten' '**[!te]' ok 166 - iwildmatch (via ls-files): match '**[!te]' 'ten' ok 167 - pathmatch: match 'ten' '**[!te]' ok 168 - pathmatch (via ls-files): match '**[!te]' 'ten' ok 169 - ipathmatch: match 'ten' '**[!te]' ok 170 - ipathmatch (via ls-files): match '**[!te]' 'ten' ok 171 - cleanup after previous file test ok 1 - ls-tree --format usage ok 172 - setup match file test for ten ok 173 - wildmatch: no match 'ten' '**[!ten]' ok 174 - wildmatch (via ls-files): no match '**[!ten]' 'ten' ok 175 - iwildmatch: no match 'ten' '**[!ten]' ok 176 - iwildmatch (via ls-files): no match '**[!ten]' 'ten' ok 177 - pathmatch: no match 'ten' '**[!ten]' ok 178 - pathmatch (via ls-files): no match '**[!ten]' 'ten' ok 179 - ipathmatch: no match 'ten' '**[!ten]' ok 180 - ipathmatch (via ls-files): no match '**[!ten]' 'ten' ok 181 - cleanup after previous file test ok 182 - setup match file test for ten ok 183 - wildmatch: match 'ten' 't[a-g]n' ok 184 - wildmatch (via ls-files): match 't[a-g]n' 'ten' ok 185 - iwildmatch: match 'ten' 't[a-g]n' ok 186 - iwildmatch (via ls-files): match 't[a-g]n' 'ten' ok 187 - pathmatch: match 'ten' 't[a-g]n' ok 188 - pathmatch (via ls-files): match 't[a-g]n' 'ten' ok 189 - ipathmatch: match 'ten' 't[a-g]n' ok 190 - ipathmatch (via ls-files): match 't[a-g]n' 'ten' ok 2 - setup ok 191 - cleanup after previous file test ok 3 - ls-tree --format='%(path) %(path) %(path)' HEAD top-file ok 192 - setup match file test for ten ok 4 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' is like options ' ' ok 193 - wildmatch: no match 'ten' 't[!a-g]n' ok 194 - wildmatch (via ls-files): no match 't[!a-g]n' 'ten' ok 195 - iwildmatch: no match 'ten' 't[!a-g]n' ok 5 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' on optimized v.s. non-optimized path ok 196 - iwildmatch (via ls-files): no match 't[!a-g]n' 'ten' ok 6 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)>' is like options '--long ' ok 197 - pathmatch: no match 'ten' 't[!a-g]n' ok 198 - pathmatch (via ls-files): no match 't[!a-g]n' 'ten' ok 199 - ipathmatch: no match 'ten' 't[!a-g]n' ok 7 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)>' on optimized v.s. non-optimized path ok 200 - ipathmatch (via ls-files): no match 't[!a-g]n' 'ten' ok 8 - ls-tree '--format=<%(path)>' is like options '--name-only ' ok 201 - cleanup after previous file test ok 9 - ls-tree '--format=<%(path)>' on optimized v.s. non-optimized path ok 202 - setup match file test for ton ok 203 - wildmatch: match 'ton' 't[!a-g]n' ok 10 - ls-tree '--format=<%(objectname)>' is like options '--object-only ' ok 204 - wildmatch (via ls-files): match 't[!a-g]n' 'ton' ok 205 - iwildmatch: match 'ton' 't[!a-g]n' ok 11 - ls-tree '--format=<%(objectname)>' on optimized v.s. non-optimized path ok 206 - iwildmatch (via ls-files): match 't[!a-g]n' 'ton' ok 207 - pathmatch: match 'ton' 't[!a-g]n' ok 12 - ls-tree '--format=<%(objectname)>' is like options '--object-only --abbrev --abbrev' ok 208 - pathmatch (via ls-files): match 't[!a-g]n' 'ton' ok 209 - ipathmatch: match 'ton' 't[!a-g]n' ok 13 - ls-tree '--format=<%(objectname)>' on optimized v.s. non-optimized path ok 210 - ipathmatch (via ls-files): match 't[!a-g]n' 'ton' ok 14 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' is like options '-t -t' ok 211 - cleanup after previous file test ok 15 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' on optimized v.s. non-optimized path ok 212 - setup match file test for ton ok 213 - wildmatch: match 'ton' 't[^a-g]n' ok 16 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' is like options '--full-name --full-name' ok 214 - wildmatch (via ls-files): match 't[^a-g]n' 'ton' ok 215 - iwildmatch: match 'ton' 't[^a-g]n' ok 17 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' on optimized v.s. non-optimized path ok 216 - iwildmatch (via ls-files): match 't[^a-g]n' 'ton' ok 217 - pathmatch: match 'ton' 't[^a-g]n' ok 18 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' is like options '--full-tree --full-tree' ok 218 - pathmatch (via ls-files): match 't[^a-g]n' 'ton' ok 219 - ipathmatch: match 'ton' 't[^a-g]n' ok 19 - ls-tree '--format=<%(objectmode) %(objecttype) %(objectname)%x09%(path)>' on optimized v.s. non-optimized path # passed all 19 test(s) 1..19 ok 220 - ipathmatch (via ls-files): match 't[^a-g]n' 'ton' *** t3105-ls-tree-output.sh *** ok 221 - cleanup after previous file test ok 222 - setup match file test for a]b ok 223 - wildmatch: match 'a]b' 'a[]]b' ok 224 - wildmatch (via ls-files): match 'a[]]b' 'a]b' ok 225 - iwildmatch: match 'a]b' 'a[]]b' ok 226 - iwildmatch (via ls-files): match 'a[]]b' 'a]b' ok 227 - pathmatch: match 'a]b' 'a[]]b' ok 228 - pathmatch (via ls-files): match 'a[]]b' 'a]b' ok 229 - ipathmatch: match 'a]b' 'a[]]b' ok 230 - ipathmatch (via ls-files): match 'a[]]b' 'a]b' ok 231 - cleanup after previous file test ok 232 - setup match file test for a-b ok 233 - wildmatch: match 'a-b' 'a[]-]b' ok 234 - wildmatch (via ls-files): match 'a[]-]b' 'a-b' ok 235 - iwildmatch: match 'a-b' 'a[]-]b' ok 236 - iwildmatch (via ls-files): match 'a[]-]b' 'a-b' ok 237 - pathmatch: match 'a-b' 'a[]-]b' ok 1 - ls-tree --format usage ok 238 - pathmatch (via ls-files): match 'a[]-]b' 'a-b' ok 239 - ipathmatch: match 'a-b' 'a[]-]b' ok 240 - ipathmatch (via ls-files): match 'a[]-]b' 'a-b' ok 241 - cleanup after previous file test ok 242 - setup match file test for a]b ok 243 - wildmatch: match 'a]b' 'a[]-]b' ok 244 - wildmatch (via ls-files): match 'a[]-]b' 'a]b' ok 245 - iwildmatch: match 'a]b' 'a[]-]b' ok 246 - iwildmatch (via ls-files): match 'a[]-]b' 'a]b' ok 247 - pathmatch: match 'a]b' 'a[]-]b' ok 248 - pathmatch (via ls-files): match 'a[]-]b' 'a]b' ok 249 - ipathmatch: match 'a]b' 'a[]-]b' ok 250 - ipathmatch (via ls-files): match 'a[]-]b' 'a]b' ok 251 - cleanup after previous file test ok 252 - setup match file test for aab ok 253 - wildmatch: no match 'aab' 'a[]-]b' ok 254 - wildmatch (via ls-files): no match 'a[]-]b' 'aab' ok 255 - iwildmatch: no match 'aab' 'a[]-]b' ok 2 - setup ok 256 - iwildmatch (via ls-files): no match 'a[]-]b' 'aab' ok 257 - pathmatch: no match 'aab' 'a[]-]b' ok 258 - pathmatch (via ls-files): no match 'a[]-]b' 'aab' ok 259 - ipathmatch: no match 'aab' 'a[]-]b' ok 3 - setup: HEAD_* variables ok 260 - ipathmatch (via ls-files): no match 'a[]-]b' 'aab' ok 4 - 'ls-tree ' output ok 5 - 'ls-tree ' output (via subdir) ok 261 - cleanup after previous file test ok 6 - 'ls-tree -t' output ok 262 - setup match file test for aab ok 7 - 'ls-tree -t' output (via subdir) ok 263 - wildmatch: match 'aab' 'a[]a-]b' ok 8 - 'ls-tree -d' output ok 264 - wildmatch (via ls-files): match 'a[]a-]b' 'aab' ok 265 - iwildmatch: match 'aab' 'a[]a-]b' ok 9 - 'ls-tree -d' output (via subdir) ok 10 - 'ls-tree -r' output ok 266 - iwildmatch (via ls-files): match 'a[]a-]b' 'aab' ok 267 - pathmatch: match 'aab' 'a[]a-]b' ok 11 - 'ls-tree -r' output (via subdir) ok 268 - pathmatch (via ls-files): match 'a[]a-]b' 'aab' ok 12 - 'ls-tree --long' output ok 269 - ipathmatch: match 'aab' 'a[]a-]b' ok 13 - 'ls-tree --long' output (via subdir) ok 270 - ipathmatch (via ls-files): match 'a[]a-]b' 'aab' ok 14 - 'ls-tree --long -t' output ok 15 - 'ls-tree --long -t' output (via subdir) ok 271 - cleanup after previous file test ok 16 - 'ls-tree --long -d' output ok 272 - setup match file test for ] ok 17 - 'ls-tree --long -d' output (via subdir) ok 273 - wildmatch: match ']' ']' ok 18 - 'ls-tree --long -r' output ok 274 - wildmatch (via ls-files): match ']' ']' ok 275 - iwildmatch: match ']' ']' ok 19 - 'ls-tree --long -r' output (via subdir) ok 276 - iwildmatch (via ls-files): match ']' ']' ok 20 - 'ls-tree --name-only' output ok 277 - pathmatch: match ']' ']' ok 21 - 'ls-tree --name-only' output (via subdir) ok 278 - pathmatch (via ls-files): match ']' ']' ok 22 - 'ls-tree --name-only -t' output ok 279 - ipathmatch: match ']' ']' ok 23 - 'ls-tree --name-only -t' output (via subdir) ok 280 - ipathmatch (via ls-files): match ']' ']' ok 24 - 'ls-tree --name-only -d' output ok 25 - 'ls-tree --name-only -d' output (via subdir) ok 281 - cleanup after previous file test ok 26 - 'ls-tree --name-only -r' output ok 282 - setup match file test for foo/baz/bar ok 27 - 'ls-tree --name-only -r' output (via subdir) ok 283 - wildmatch: no match 'foo/baz/bar' 'foo*bar' ok 28 - 'ls-tree --object-only' output ok 284 - wildmatch (via ls-files): no match 'foo*bar' 'foo/baz/bar' ok 285 - iwildmatch: no match 'foo/baz/bar' 'foo*bar' ok 29 - 'ls-tree --object-only' output (via subdir) ok 30 - 'ls-tree --object-only -t' output ok 286 - iwildmatch (via ls-files): no match 'foo*bar' 'foo/baz/bar' ok 287 - pathmatch: match 'foo/baz/bar' 'foo*bar' ok 31 - 'ls-tree --object-only -t' output (via subdir) ok 288 - pathmatch (via ls-files): match 'foo*bar' 'foo/baz/bar' ok 32 - 'ls-tree --object-only -d' output ok 289 - ipathmatch: match 'foo/baz/bar' 'foo*bar' ok 33 - 'ls-tree --object-only -d' output (via subdir) ok 290 - ipathmatch (via ls-files): match 'foo*bar' 'foo/baz/bar' ok 34 - 'ls-tree --object-only -r' output ok 35 - 'ls-tree --object-only -r' output (via subdir) ok 291 - cleanup after previous file test ok 292 - setup match file test for foo/baz/bar ok 293 - wildmatch: no match 'foo/baz/bar' 'foo**bar' ok 36 - setup: HEAD_short_* variables ok 294 - wildmatch (via ls-files): no match 'foo**bar' 'foo/baz/bar' ok 295 - iwildmatch: no match 'foo/baz/bar' 'foo**bar' ok 37 - 'ls-tree --object-only --abbrev' output ok 38 - 'ls-tree --object-only --abbrev' output (via subdir) ok 296 - iwildmatch (via ls-files): no match 'foo**bar' 'foo/baz/bar' ok 297 - pathmatch: match 'foo/baz/bar' 'foo**bar' ok 39 - 'ls-tree --object-only --abbrev -t' output ok 298 - pathmatch (via ls-files): match 'foo**bar' 'foo/baz/bar' ok 40 - 'ls-tree --object-only --abbrev -t' output (via subdir) ok 299 - ipathmatch: match 'foo/baz/bar' 'foo**bar' ok 41 - 'ls-tree --object-only --abbrev -d' output ok 300 - ipathmatch (via ls-files): match 'foo**bar' 'foo/baz/bar' ok 42 - 'ls-tree --object-only --abbrev -d' output (via subdir) ok 301 - cleanup after previous file test ok 43 - 'ls-tree --object-only --abbrev -r' output ok 44 - 'ls-tree --object-only --abbrev -r' output (via subdir) ok 302 - setup match file test for foobazbar ok 303 - wildmatch: match 'foobazbar' 'foo**bar' ok 45 - 'ls-tree --full-name' output ok 46 - 'ls-tree --full-name' output (via subdir) ok 304 - wildmatch (via ls-files): match 'foo**bar' 'foobazbar' ok 305 - iwildmatch: match 'foobazbar' 'foo**bar' ok 47 - 'ls-tree --full-name -d' output ok 306 - iwildmatch (via ls-files): match 'foo**bar' 'foobazbar' ok 48 - 'ls-tree --full-name -d' output (via subdir) ok 307 - pathmatch: match 'foobazbar' 'foo**bar' ok 49 - 'ls-tree --full-name -r' output ok 308 - pathmatch (via ls-files): match 'foo**bar' 'foobazbar' ok 50 - 'ls-tree --full-name -r' output (via subdir) ok 309 - ipathmatch: match 'foobazbar' 'foo**bar' ok 51 - 'ls-tree --full-name -t' output ok 310 - ipathmatch (via ls-files): match 'foo**bar' 'foobazbar' ok 52 - 'ls-tree --full-name -t' output (via subdir) ok 311 - cleanup after previous file test ok 53 - 'ls-tree --full-tree' output ok 54 - 'ls-tree --full-tree' output (via subdir, fails) ok 312 - setup match file test for foo/baz/bar ok 55 - 'ls-tree --full-tree -t' output ok 313 - wildmatch: match 'foo/baz/bar' 'foo/**/bar' ok 56 - 'ls-tree --full-tree -t' output (via subdir, fails) ok 314 - wildmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar' ok 57 - 'ls-tree --full-tree -d' output ok 315 - iwildmatch: match 'foo/baz/bar' 'foo/**/bar' ok 58 - 'ls-tree --full-tree -d' output (via subdir, fails) ok 316 - iwildmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar' ok 59 - 'ls-tree --full-tree -r' output ok 317 - pathmatch: match 'foo/baz/bar' 'foo/**/bar' ok 60 - 'ls-tree --full-tree -r' output (via subdir, fails) # passed all 60 test(s) 1..60 ok 318 - pathmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar' *** t3200-branch.sh *** ok 319 - ipathmatch: match 'foo/baz/bar' 'foo/**/bar' ok 320 - ipathmatch (via ls-files): match 'foo/**/bar' 'foo/baz/bar' ok 321 - cleanup after previous file test ok 322 - setup match file test for foo/baz/bar ok 323 - wildmatch: match 'foo/baz/bar' 'foo/**/**/bar' ok 324 - wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/baz/bar' ok 325 - iwildmatch: match 'foo/baz/bar' 'foo/**/**/bar' ok 326 - iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/baz/bar' ok 327 - pathmatch: no match 'foo/baz/bar' 'foo/**/**/bar' ok 328 - pathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/baz/bar' ok 329 - ipathmatch: no match 'foo/baz/bar' 'foo/**/**/bar' ok 330 - ipathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/baz/bar' ok 331 - cleanup after previous file test ok 332 - setup match file test for foo/b/a/z/bar ok 333 - wildmatch: match 'foo/b/a/z/bar' 'foo/**/bar' ok 334 - wildmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar' ok 335 - iwildmatch: match 'foo/b/a/z/bar' 'foo/**/bar' ok 336 - iwildmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar' ok 337 - pathmatch: match 'foo/b/a/z/bar' 'foo/**/bar' ok 338 - pathmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar' ok 339 - ipathmatch: match 'foo/b/a/z/bar' 'foo/**/bar' ok 1 - prepare a trivial repository ok 340 - ipathmatch (via ls-files): match 'foo/**/bar' 'foo/b/a/z/bar' ok 2 - git branch --help should not have created a bogus branch ok 341 - cleanup after previous file test ok 3 - branch -h in broken repository ok 342 - setup match file test for foo/b/a/z/bar ok 4 - git branch abc should create a branch ok 343 - wildmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar' ok 5 - git branch abc should fail when abc exists ok 344 - wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar' ok 345 - iwildmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar' ok 346 - iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar' ok 6 - git branch --force abc should fail when abc is checked out ok 347 - pathmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar' ok 348 - pathmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar' ok 7 - git branch --force abc should succeed when abc exists ok 349 - ipathmatch: match 'foo/b/a/z/bar' 'foo/**/**/bar' ok 8 - git branch a/b/c should create a branch ok 350 - ipathmatch (via ls-files): match 'foo/**/**/bar' 'foo/b/a/z/bar' ok 9 - git branch mb main... should create a branch ok 351 - cleanup after previous file test ok 10 - git branch HEAD should fail ok 352 - setup match file test for foo/bar ok 353 - wildmatch: match 'foo/bar' 'foo/**/bar' ok 11 - git branch --create-reflog d/e/f should create a branch and a log ok 354 - wildmatch (via ls-files): match 'foo/**/bar' 'foo/bar' ok 355 - iwildmatch: match 'foo/bar' 'foo/**/bar' ok 12 - git branch -d d/e/f should delete a branch and a log ok 356 - iwildmatch (via ls-files): match 'foo/**/bar' 'foo/bar' ok 357 - pathmatch: no match 'foo/bar' 'foo/**/bar' ok 13 - git branch j/k should work after branch j has been deleted ok 358 - pathmatch (via ls-files): no match 'foo/**/bar' 'foo/bar' ok 359 - ipathmatch: no match 'foo/bar' 'foo/**/bar' ok 360 - ipathmatch (via ls-files): no match 'foo/**/bar' 'foo/bar' ok 14 - git branch l should work after branch l/m has been deleted ok 15 - git branch -m dumps usage ok 361 - cleanup after previous file test ok 362 - setup match file test for foo/bar ok 363 - wildmatch: match 'foo/bar' 'foo/**/**/bar' ok 16 - git branch -m m broken_symref should work ok 364 - wildmatch (via ls-files): match 'foo/**/**/bar' 'foo/bar' ok 365 - iwildmatch: match 'foo/bar' 'foo/**/**/bar' ok 366 - iwildmatch (via ls-files): match 'foo/**/**/bar' 'foo/bar' ok 17 - git branch -m m m/m should work ok 367 - pathmatch: no match 'foo/bar' 'foo/**/**/bar' ok 368 - pathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/bar' ok 18 - git branch -m n/n n should work ok 369 - ipathmatch: no match 'foo/bar' 'foo/**/**/bar' ok 370 - ipathmatch (via ls-files): no match 'foo/**/**/bar' 'foo/bar' ok 371 - cleanup after previous file test ok 372 - setup match file test for foo/bar ok 373 - wildmatch: no match 'foo/bar' 'foo?bar' ok 374 - wildmatch (via ls-files): no match 'foo?bar' 'foo/bar' ok 375 - iwildmatch: no match 'foo/bar' 'foo?bar' ok 19 - git branch -m bbb should rename checked out branch ok 376 - iwildmatch (via ls-files): no match 'foo?bar' 'foo/bar' ok 377 - pathmatch: match 'foo/bar' 'foo?bar' ok 378 - pathmatch (via ls-files): match 'foo?bar' 'foo/bar' ok 379 - ipathmatch: match 'foo/bar' 'foo?bar' ok 380 - ipathmatch (via ls-files): match 'foo?bar' 'foo/bar' ok 20 - renaming checked out branch works with d/f conflict ok 381 - cleanup after previous file test ok 21 - git branch -m o/o o should fail when o/p exists ok 382 - setup match file test for foo/bar ok 22 - git branch -m o/q o/p should fail when o/p exists ok 383 - wildmatch: no match 'foo/bar' 'foo[/]bar' ok 23 - git branch -M o/q o/p should work when o/p exists ok 384 - wildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar' ok 385 - iwildmatch: no match 'foo/bar' 'foo[/]bar' ok 24 - git branch -m -f o/q o/p should work when o/p exists ok 386 - iwildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar' ok 387 - pathmatch: match 'foo/bar' 'foo[/]bar' ok 25 - git branch -m q r/q should fail when r exists ok 388 - pathmatch (via ls-files): match 'foo[/]bar' 'foo/bar' ok 389 - ipathmatch: match 'foo/bar' 'foo[/]bar' ok 26 - git branch -M foo bar should fail when bar is checked out ok 390 - ipathmatch (via ls-files): match 'foo[/]bar' 'foo/bar' ok 391 - cleanup after previous file test ok 392 - setup match file test for foo/bar ok 393 - wildmatch: no match 'foo/bar' 'foo[^a-z]bar' ok 394 - wildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar' ok 395 - iwildmatch: no match 'foo/bar' 'foo[^a-z]bar' ok 27 - git branch -M foo bar should fail when bar is checked out in worktree ok 396 - iwildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar' ok 397 - pathmatch: match 'foo/bar' 'foo[^a-z]bar' ok 398 - pathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar' ok 28 - git branch -M baz bam should succeed when baz is checked out ok 399 - ipathmatch: match 'foo/bar' 'foo[^a-z]bar' ok 29 - git branch -M baz bam should add entries to HEAD reflog ok 400 - ipathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar' ok 401 - cleanup after previous file test ok 402 - setup match file test for foo/bar ok 403 - wildmatch: no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 404 - wildmatch (via ls-files): no match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar' ok 405 - iwildmatch: no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 406 - iwildmatch (via ls-files): no match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar' ok 407 - pathmatch: match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 30 - git branch -M should leave orphaned HEAD alone ok 408 - pathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar' ok 409 - ipathmatch: match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 31 - resulting reflog can be shown by log -g ok 410 - ipathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo/bar' ok 411 - cleanup after previous file test ok 412 - setup match file test for foo-bar ok 413 - wildmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 414 - wildmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar' ok 415 - iwildmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 416 - iwildmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar' ok 32 - git branch -M baz bam should succeed when baz is checked out as linked working tree ok 417 - pathmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 418 - pathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar' ok 419 - ipathmatch: match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' ok 420 - ipathmatch (via ls-files): match 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r' 'foo-bar' ok 421 - cleanup after previous file test ok 422 - setup match file test for foo ok 423 - wildmatch: match 'foo' '**/foo' ok 424 - wildmatch (via ls-files): match '**/foo' 'foo' ok 425 - iwildmatch: match 'foo' '**/foo' ok 426 - iwildmatch (via ls-files): match '**/foo' 'foo' ok 427 - pathmatch: no match 'foo' '**/foo' ok 428 - pathmatch (via ls-files): no match '**/foo' 'foo' ok 429 - ipathmatch: no match 'foo' '**/foo' ok 430 - ipathmatch (via ls-files): no match '**/foo' 'foo' ok 431 - cleanup after previous file test ok 432 - setup match file test for XXX/foo ok 433 - wildmatch: match 'XXX/foo' '**/foo' ok 434 - wildmatch (via ls-files): match '**/foo' 'XXX/foo' ok 435 - iwildmatch: match 'XXX/foo' '**/foo' ok 436 - iwildmatch (via ls-files): match '**/foo' 'XXX/foo' ok 437 - pathmatch: match 'XXX/foo' '**/foo' ok 438 - pathmatch (via ls-files): match '**/foo' 'XXX/foo' ok 439 - ipathmatch: match 'XXX/foo' '**/foo' ok 440 - ipathmatch (via ls-files): match '**/foo' 'XXX/foo' ok 441 - cleanup after previous file test ok 442 - setup match file test for bar/baz/foo ok 443 - wildmatch: match 'bar/baz/foo' '**/foo' ok 444 - wildmatch (via ls-files): match '**/foo' 'bar/baz/foo' ok 445 - iwildmatch: match 'bar/baz/foo' '**/foo' ok 446 - iwildmatch (via ls-files): match '**/foo' 'bar/baz/foo' ok 447 - pathmatch: match 'bar/baz/foo' '**/foo' ok 448 - pathmatch (via ls-files): match '**/foo' 'bar/baz/foo' ok 449 - ipathmatch: match 'bar/baz/foo' '**/foo' ok 450 - ipathmatch (via ls-files): match '**/foo' 'bar/baz/foo' ok 451 - cleanup after previous file test ok 452 - setup match file test for bar/baz/foo ok 453 - wildmatch: no match 'bar/baz/foo' '*/foo' ok 454 - wildmatch (via ls-files): no match '*/foo' 'bar/baz/foo' ok 455 - iwildmatch: no match 'bar/baz/foo' '*/foo' ok 456 - iwildmatch (via ls-files): no match '*/foo' 'bar/baz/foo' ok 457 - pathmatch: match 'bar/baz/foo' '*/foo' ok 458 - pathmatch (via ls-files): match '*/foo' 'bar/baz/foo' ok 459 - ipathmatch: match 'bar/baz/foo' '*/foo' ok 460 - ipathmatch (via ls-files): match '*/foo' 'bar/baz/foo' ok 461 - cleanup after previous file test ok 462 - setup match file test for foo/bar/baz ok 463 - wildmatch: no match 'foo/bar/baz' '**/bar*' ok 464 - wildmatch (via ls-files): no match '**/bar*' 'foo/bar/baz' ok 465 - iwildmatch: no match 'foo/bar/baz' '**/bar*' ok 466 - iwildmatch (via ls-files): no match '**/bar*' 'foo/bar/baz' ok 467 - pathmatch: match 'foo/bar/baz' '**/bar*' ok 468 - pathmatch (via ls-files): match '**/bar*' 'foo/bar/baz' ok 469 - ipathmatch: match 'foo/bar/baz' '**/bar*' ok 470 - ipathmatch (via ls-files): match '**/bar*' 'foo/bar/baz' ok 471 - cleanup after previous file test ok 472 - setup match file test for deep/foo/bar/baz ok 473 - wildmatch: match 'deep/foo/bar/baz' '**/bar/*' ok 474 - wildmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz' ok 475 - iwildmatch: match 'deep/foo/bar/baz' '**/bar/*' ok 476 - iwildmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz' ok 477 - pathmatch: match 'deep/foo/bar/baz' '**/bar/*' ok 478 - pathmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz' ok 479 - ipathmatch: match 'deep/foo/bar/baz' '**/bar/*' ok 480 - ipathmatch (via ls-files): match '**/bar/*' 'deep/foo/bar/baz' ok 481 - cleanup after previous file test ok 482 - setup match file test for deep/foo/bar/baz/ ok 483 - wildmatch: no match 'deep/foo/bar/baz/' '**/bar/*' not ok 484 - wildmatch (via ls-files): no match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage ok 485 - iwildmatch: no match 'deep/foo/bar/baz/' '**/bar/*' not ok 486 - iwildmatch (via ls-files): no match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage ok 487 - pathmatch: match 'deep/foo/bar/baz/' '**/bar/*' not ok 488 - pathmatch (via ls-files): match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage ok 489 - ipathmatch: match 'deep/foo/bar/baz/' '**/bar/*' not ok 490 - ipathmatch (via ls-files): match skip '**/bar/*' 'deep/foo/bar/baz/' # TODO known breakage ok 491 - cleanup after previous file test ok 492 - setup match file test for deep/foo/bar/baz/ ok 493 - wildmatch: match 'deep/foo/bar/baz/' '**/bar/**' not ok 494 - wildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage ok 495 - iwildmatch: match 'deep/foo/bar/baz/' '**/bar/**' not ok 496 - iwildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage ok 497 - pathmatch: match 'deep/foo/bar/baz/' '**/bar/**' not ok 498 - pathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage ok 499 - ipathmatch: match 'deep/foo/bar/baz/' '**/bar/**' not ok 500 - ipathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/baz/' # TODO known breakage ok 501 - cleanup after previous file test ok 502 - setup match file test for deep/foo/bar ok 503 - wildmatch: no match 'deep/foo/bar' '**/bar/*' ok 504 - wildmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar' ok 505 - iwildmatch: no match 'deep/foo/bar' '**/bar/*' ok 506 - iwildmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar' ok 507 - pathmatch: no match 'deep/foo/bar' '**/bar/*' ok 508 - pathmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar' ok 509 - ipathmatch: no match 'deep/foo/bar' '**/bar/*' ok 510 - ipathmatch (via ls-files): no match '**/bar/*' 'deep/foo/bar' ok 511 - cleanup after previous file test ok 512 - setup match file test for deep/foo/bar/ ok 513 - wildmatch: match 'deep/foo/bar/' '**/bar/**' not ok 514 - wildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage ok 515 - iwildmatch: match 'deep/foo/bar/' '**/bar/**' not ok 516 - iwildmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage ok 517 - pathmatch: match 'deep/foo/bar/' '**/bar/**' not ok 518 - pathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage ok 33 - git branch -M fails if updating any linked working tree fails ok 519 - ipathmatch: match 'deep/foo/bar/' '**/bar/**' not ok 520 - ipathmatch (via ls-files): match skip '**/bar/**' 'deep/foo/bar/' # TODO known breakage ok 521 - cleanup after previous file test ok 522 - setup match file test for foo/bar/baz ok 523 - wildmatch: no match 'foo/bar/baz' '**/bar**' ok 524 - wildmatch (via ls-files): no match '**/bar**' 'foo/bar/baz' ok 525 - iwildmatch: no match 'foo/bar/baz' '**/bar**' ok 526 - iwildmatch (via ls-files): no match '**/bar**' 'foo/bar/baz' ok 34 - git branch -M baz bam should succeed within a worktree in which baz is checked out ok 527 - pathmatch: match 'foo/bar/baz' '**/bar**' ok 528 - pathmatch (via ls-files): match '**/bar**' 'foo/bar/baz' ok 529 - ipathmatch: match 'foo/bar/baz' '**/bar**' ok 35 - git branch -M main should work when main is checked out ok 530 - ipathmatch (via ls-files): match '**/bar**' 'foo/bar/baz' ok 36 - git branch -M main main should work when main is checked out ok 531 - cleanup after previous file test ok 37 - git branch -M topic topic should work when main is checked out ok 532 - setup match file test for foo/bar/baz/x ok 533 - wildmatch: match 'foo/bar/baz/x' '*/bar/**' ok 534 - wildmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x' ok 535 - iwildmatch: match 'foo/bar/baz/x' '*/bar/**' ok 536 - iwildmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x' ok 38 - git branch -M and -C fail on detached HEAD ok 537 - pathmatch: match 'foo/bar/baz/x' '*/bar/**' ok 538 - pathmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x' ok 539 - ipathmatch: match 'foo/bar/baz/x' '*/bar/**' ok 540 - ipathmatch (via ls-files): match '*/bar/**' 'foo/bar/baz/x' ok 541 - cleanup after previous file test ok 542 - setup match file test for deep/foo/bar/baz/x ok 543 - wildmatch: no match 'deep/foo/bar/baz/x' '*/bar/**' ok 39 - git branch -m should work with orphan branches ok 544 - wildmatch (via ls-files): no match '*/bar/**' 'deep/foo/bar/baz/x' ok 545 - iwildmatch: no match 'deep/foo/bar/baz/x' '*/bar/**' ok 546 - iwildmatch (via ls-files): no match '*/bar/**' 'deep/foo/bar/baz/x' ok 547 - pathmatch: match 'deep/foo/bar/baz/x' '*/bar/**' ok 548 - pathmatch (via ls-files): match '*/bar/**' 'deep/foo/bar/baz/x' ok 40 - git branch -d on orphan HEAD (merged) ok 549 - ipathmatch: match 'deep/foo/bar/baz/x' '*/bar/**' ok 550 - ipathmatch (via ls-files): match '*/bar/**' 'deep/foo/bar/baz/x' ok 551 - cleanup after previous file test ok 41 - git branch -d on orphan HEAD (merged, graph) ok 552 - setup match file test for deep/foo/bar/baz/x ok 553 - wildmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*' ok 554 - wildmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x' ok 555 - iwildmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*' ok 42 - git branch -d on orphan HEAD (unmerged) ok 556 - iwildmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x' ok 557 - pathmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*' ok 558 - pathmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x' ok 559 - ipathmatch: match 'deep/foo/bar/baz/x' '**/bar/*/*' ok 560 - ipathmatch (via ls-files): match '**/bar/*/*' 'deep/foo/bar/baz/x' ok 561 - cleanup after previous file test ok 43 - git branch -d on orphan HEAD (unmerged, graph) ok 562 - setup match file test for acrt ok 563 - wildmatch: no match 'acrt' 'a[c-c]st' ok 44 - git branch -v -d t should work ok 564 - wildmatch (via ls-files): no match 'a[c-c]st' 'acrt' ok 565 - iwildmatch: no match 'acrt' 'a[c-c]st' ok 566 - iwildmatch (via ls-files): no match 'a[c-c]st' 'acrt' ok 567 - pathmatch: no match 'acrt' 'a[c-c]st' ok 568 - pathmatch (via ls-files): no match 'a[c-c]st' 'acrt' ok 45 - git branch -v -m t s should work ok 569 - ipathmatch: no match 'acrt' 'a[c-c]st' ok 570 - ipathmatch (via ls-files): no match 'a[c-c]st' 'acrt' ok 46 - git branch -m -d t s should fail ok 571 - cleanup after previous file test ok 572 - setup match file test for acrt ok 573 - wildmatch: match 'acrt' 'a[c-c]rt' ok 47 - git branch --list -d t should fail ok 574 - wildmatch (via ls-files): match 'a[c-c]rt' 'acrt' ok 575 - iwildmatch: match 'acrt' 'a[c-c]rt' ok 576 - iwildmatch (via ls-files): match 'a[c-c]rt' 'acrt' ok 577 - pathmatch: match 'acrt' 'a[c-c]rt' ok 578 - pathmatch (via ls-files): match 'a[c-c]rt' 'acrt' ok 579 - ipathmatch: match 'acrt' 'a[c-c]rt' ok 580 - ipathmatch (via ls-files): match 'a[c-c]rt' 'acrt' ok 581 - cleanup after previous file test ok 582 - setup match file test for ] ok 583 - wildmatch: no match ']' '[!]-]' ok 584 - wildmatch (via ls-files): no match '[!]-]' ']' ok 585 - iwildmatch: no match ']' '[!]-]' ok 586 - iwildmatch (via ls-files): no match '[!]-]' ']' ok 587 - pathmatch: no match ']' '[!]-]' ok 588 - pathmatch (via ls-files): no match '[!]-]' ']' ok 589 - ipathmatch: no match ']' '[!]-]' ok 590 - ipathmatch (via ls-files): no match '[!]-]' ']' ok 591 - cleanup after previous file test ok 592 - setup match file test for a ok 593 - wildmatch: match 'a' '[!]-]' ok 594 - wildmatch (via ls-files): match '[!]-]' 'a' ok 595 - iwildmatch: match 'a' '[!]-]' ok 596 - iwildmatch (via ls-files): match '[!]-]' 'a' ok 597 - pathmatch: match 'a' '[!]-]' ok 598 - pathmatch (via ls-files): match '[!]-]' 'a' ok 599 - ipathmatch: match 'a' '[!]-]' ok 600 - ipathmatch (via ls-files): match '[!]-]' 'a' ok 601 - cleanup after previous file test ok 602 - setup match file test for ok 603 - wildmatch: no match '' '\' not ok 604 - wildmatch (via ls-files): no match skip '\' '' # TODO known breakage ok 605 - iwildmatch: no match '' '\' not ok 606 - iwildmatch (via ls-files): no match skip '\' '' # TODO known breakage ok 607 - pathmatch: no match '' '\' not ok 608 - pathmatch (via ls-files): no match skip '\' '' # TODO known breakage ok 609 - ipathmatch: no match '' '\' not ok 610 - ipathmatch (via ls-files): no match skip '\' '' # TODO known breakage ok 611 - cleanup after previous file test ok 612 - setup match file test for \ ok 613 - wildmatch: no match '\' '\' ok 48 - deleting checked-out branch from repo that is a submodule ok 614 - wildmatch (via ls-files): match '\' '\' ok 615 - iwildmatch: no match '\' '\' ok 616 - iwildmatch (via ls-files): match '\' '\' ok 617 - pathmatch: no match '\' '\' ok 618 - pathmatch (via ls-files): match '\' '\' ok 619 - ipathmatch: no match '\' '\' ok 620 - ipathmatch (via ls-files): match '\' '\' ok 621 - cleanup after previous file test ok 622 - setup match file test for XXX/\ ok 623 - wildmatch: no match 'XXX/\' '*/\' ok 49 - bare main worktree has HEAD at branch deleted by secondary worktree ok 624 - wildmatch (via ls-files): no match '*/\' 'XXX/\' ok 625 - iwildmatch: no match 'XXX/\' '*/\' ok 626 - iwildmatch (via ls-files): no match '*/\' 'XXX/\' ok 627 - pathmatch: no match 'XXX/\' '*/\' ok 628 - pathmatch (via ls-files): no match '*/\' 'XXX/\' ok 629 - ipathmatch: no match 'XXX/\' '*/\' ok 630 - ipathmatch (via ls-files): no match '*/\' 'XXX/\' ok 631 - cleanup after previous file test ok 632 - setup match file test for XXX/\ ok 633 - wildmatch: match 'XXX/\' '*/\\' ok 634 - wildmatch (via ls-files): match '*/\\' 'XXX/\' ok 635 - iwildmatch: match 'XXX/\' '*/\\' ok 50 - secondary worktrees recognize core.bare=true in main config.worktree ok 636 - iwildmatch (via ls-files): match '*/\\' 'XXX/\' ok 637 - pathmatch: match 'XXX/\' '*/\\' ok 638 - pathmatch (via ls-files): match '*/\\' 'XXX/\' ok 639 - ipathmatch: match 'XXX/\' '*/\\' ok 640 - ipathmatch (via ls-files): match '*/\\' 'XXX/\' ok 641 - cleanup after previous file test ok 642 - setup match file test for foo ok 643 - wildmatch: match 'foo' 'foo' ok 644 - wildmatch (via ls-files): match 'foo' 'foo' ok 51 - git branch --list -v with --abbrev ok 645 - iwildmatch: match 'foo' 'foo' ok 52 - git branch --column ok 646 - iwildmatch (via ls-files): match 'foo' 'foo' ok 647 - pathmatch: match 'foo' 'foo' ok 648 - pathmatch (via ls-files): match 'foo' 'foo' ok 649 - ipathmatch: match 'foo' 'foo' ok 53 - git branch --column with an extremely long branch name ok 650 - ipathmatch (via ls-files): match 'foo' 'foo' ok 651 - cleanup after previous file test ok 652 - setup match file test for @foo ok 54 - git branch with column.* ok 653 - wildmatch: match '@foo' '@foo' ok 55 - git branch --column -v should fail ok 654 - wildmatch (via ls-files): match '@foo' '@foo' ok 655 - iwildmatch: match '@foo' '@foo' ok 656 - iwildmatch (via ls-files): match '@foo' '@foo' ok 657 - pathmatch: match '@foo' '@foo' ok 56 - git branch -v with column.ui ignored ok 658 - pathmatch (via ls-files): match '@foo' '@foo' ok 659 - ipathmatch: match '@foo' '@foo' ok 660 - ipathmatch (via ls-files): match '@foo' '@foo' ok 57 - git branch -m q q2 without config should succeed ok 661 - cleanup after previous file test ok 662 - setup match file test for foo ok 663 - wildmatch: no match 'foo' '@foo' ok 664 - wildmatch (via ls-files): no match '@foo' 'foo' ok 665 - iwildmatch: no match 'foo' '@foo' ok 58 - git branch -m s/s s should work when s/t is deleted ok 666 - iwildmatch (via ls-files): no match '@foo' 'foo' ok 667 - pathmatch: no match 'foo' '@foo' ok 59 - config information was renamed, too ok 668 - pathmatch (via ls-files): no match '@foo' 'foo' ok 669 - ipathmatch: no match 'foo' '@foo' ok 670 - ipathmatch (via ls-files): no match '@foo' 'foo' ok 671 - cleanup after previous file test ok 672 - setup match file test for [ab] ok 60 - git branch -m correctly renames multiple config sections ok 673 - wildmatch: match '[ab]' '\[ab]' ok 61 - git branch -c dumps usage ok 674 - wildmatch (via ls-files): match '\[ab]' '[ab]' ok 62 - git branch --copy dumps usage ok 675 - iwildmatch: match '[ab]' '\[ab]' ok 676 - iwildmatch (via ls-files): match '\[ab]' '[ab]' ok 677 - pathmatch: match '[ab]' '\[ab]' ok 678 - pathmatch (via ls-files): match '\[ab]' '[ab]' ok 679 - ipathmatch: match '[ab]' '\[ab]' ok 63 - git branch -c d e should work ok 680 - ipathmatch (via ls-files): match '\[ab]' '[ab]' ok 681 - cleanup after previous file test ok 682 - setup match file test for [ab] ok 683 - wildmatch: match '[ab]' '[[]ab]' ok 684 - wildmatch (via ls-files): match '[[]ab]' '[ab]' ok 685 - iwildmatch: match '[ab]' '[[]ab]' ok 64 - git branch --copy is a synonym for -c ok 686 - iwildmatch (via ls-files): match '[[]ab]' '[ab]' ok 687 - pathmatch: match '[ab]' '[[]ab]' ok 688 - pathmatch (via ls-files): match '[[]ab]' '[ab]' ok 689 - ipathmatch: match '[ab]' '[[]ab]' ok 690 - ipathmatch (via ls-files): match '[[]ab]' '[ab]' ok 65 - git branch -c ee ef should copy ee to create branch ef ok 691 - cleanup after previous file test ok 692 - setup match file test for [ab] ok 693 - wildmatch: match '[ab]' '[[:]ab]' ok 694 - wildmatch (via ls-files): match '[[:]ab]' '[ab]' ok 695 - iwildmatch: match '[ab]' '[[:]ab]' ok 66 - git branch -c f/f g/g should work ok 696 - iwildmatch (via ls-files): match '[[:]ab]' '[ab]' ok 697 - pathmatch: match '[ab]' '[[:]ab]' ok 698 - pathmatch (via ls-files): match '[[:]ab]' '[ab]' ok 699 - ipathmatch: match '[ab]' '[[:]ab]' ok 67 - git branch -c m2 m2 should work ok 700 - ipathmatch (via ls-files): match '[[:]ab]' '[ab]' ok 701 - cleanup after previous file test ok 68 - git branch -c zz zz/zz should fail ok 702 - setup match file test for [ab] ok 69 - git branch -c b/b b should fail ok 703 - wildmatch: no match '[ab]' '[[::]ab]' ok 704 - wildmatch (via ls-files): no match '[[::]ab]' '[ab]' ok 705 - iwildmatch: no match '[ab]' '[[::]ab]' ok 70 - git branch -C o/q o/p should work when o/p exists ok 706 - iwildmatch (via ls-files): no match '[[::]ab]' '[ab]' ok 707 - pathmatch: no match '[ab]' '[[::]ab]' ok 708 - pathmatch (via ls-files): no match '[[::]ab]' '[ab]' ok 71 - git branch -c -f o/q o/p should work when o/p exists ok 709 - ipathmatch: no match '[ab]' '[[::]ab]' ok 710 - ipathmatch (via ls-files): no match '[[::]ab]' '[ab]' ok 72 - git branch -c qq rr/qq should fail when rr exists ok 711 - cleanup after previous file test ok 73 - git branch -C b1 b2 should fail when b2 is checked out ok 712 - setup match file test for [ab] ok 713 - wildmatch: match '[ab]' '[[:digit]ab]' ok 714 - wildmatch (via ls-files): match '[[:digit]ab]' '[ab]' ok 715 - iwildmatch: match '[ab]' '[[:digit]ab]' ok 74 - git branch -C c1 c2 should succeed when c1 is checked out ok 716 - iwildmatch (via ls-files): match '[[:digit]ab]' '[ab]' ok 717 - pathmatch: match '[ab]' '[[:digit]ab]' ok 75 - git branch -C c1 c2 should never touch HEAD ok 718 - pathmatch (via ls-files): match '[[:digit]ab]' '[ab]' ok 719 - ipathmatch: match '[ab]' '[[:digit]ab]' ok 76 - git branch -C main should work when main is checked out ok 720 - ipathmatch (via ls-files): match '[[:digit]ab]' '[ab]' ok 77 - git branch -C main main should work when main is checked out ok 721 - cleanup after previous file test ok 722 - setup match file test for [ab] ok 723 - wildmatch: match '[ab]' '[\[:]ab]' ok 78 - git branch -C main5 main5 should work when main is checked out ok 724 - wildmatch (via ls-files): match '[\[:]ab]' '[ab]' ok 725 - iwildmatch: match '[ab]' '[\[:]ab]' ok 726 - iwildmatch (via ls-files): match '[\[:]ab]' '[ab]' ok 727 - pathmatch: match '[ab]' '[\[:]ab]' ok 728 - pathmatch (via ls-files): match '[\[:]ab]' '[ab]' ok 729 - ipathmatch: match '[ab]' '[\[:]ab]' ok 730 - ipathmatch (via ls-files): match '[\[:]ab]' '[ab]' ok 79 - git branch -C ab cd should overwrite existing config for cd ok 731 - cleanup after previous file test ok 732 - setup match file test for ?a?b ok 733 - wildmatch: match '?a?b' '\??\?b' ok 734 - wildmatch (via ls-files): match '\??\?b' '?a?b' ok 735 - iwildmatch: match '?a?b' '\??\?b' ok 80 - git branch -c correctly copies multiple config sections ok 736 - iwildmatch (via ls-files): match '\??\?b' '?a?b' ok 737 - pathmatch: match '?a?b' '\??\?b' ok 738 - pathmatch (via ls-files): match '\??\?b' '?a?b' ok 739 - ipathmatch: match '?a?b' '\??\?b' ok 81 - deleting a symref ok 740 - ipathmatch (via ls-files): match '\??\?b' '?a?b' ok 741 - cleanup after previous file test ok 82 - deleting a dangling symref ok 742 - setup match file test for abc ok 743 - wildmatch: match 'abc' '\a\b\c' ok 744 - wildmatch (via ls-files): match '\a\b\c' 'abc' ok 745 - iwildmatch: match 'abc' '\a\b\c' ok 83 - deleting a self-referential symref ok 746 - iwildmatch (via ls-files): match '\a\b\c' 'abc' ok 747 - pathmatch: match 'abc' '\a\b\c' ok 748 - pathmatch (via ls-files): match '\a\b\c' 'abc' ok 84 - renaming a symref is not allowed ok 749 - ipathmatch: match 'abc' '\a\b\c' ok 750 - ipathmatch (via ls-files): match '\a\b\c' 'abc' ok 751 - cleanup after previous file test ok 752 - setup match file test for foo ok 753 - wildmatch: no match 'foo' '' ok 754 - wildmatch (via ls-files): match dies on '' 'foo' ok 755 - iwildmatch: no match 'foo' '' ok 756 - iwildmatch (via ls-files): match dies on '' 'foo' ok 757 - pathmatch: no match 'foo' '' ok 758 - pathmatch (via ls-files): match dies on '' 'foo' ok 85 - test tracking setup via --track ok 759 - ipathmatch: no match 'foo' '' ok 760 - ipathmatch (via ls-files): match dies on '' 'foo' ok 761 - cleanup after previous file test ok 86 - test tracking setup (non-wildcard, matching) ok 762 - setup match file test for foo/bar/baz/to ok 763 - wildmatch: match 'foo/bar/baz/to' '**/t[o]' ok 764 - wildmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to' ok 765 - iwildmatch: match 'foo/bar/baz/to' '**/t[o]' ok 766 - iwildmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to' ok 767 - pathmatch: match 'foo/bar/baz/to' '**/t[o]' ok 87 - tracking setup fails on non-matching refspec ok 768 - pathmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to' ok 769 - ipathmatch: match 'foo/bar/baz/to' '**/t[o]' ok 770 - ipathmatch (via ls-files): match '**/t[o]' 'foo/bar/baz/to' ok 771 - cleanup after previous file test ok 88 - test tracking setup via config ok 772 - setup match file test for a1B ok 773 - wildmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]' ok 774 - wildmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B' ok 775 - iwildmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]' ok 776 - iwildmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B' ok 777 - pathmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]' ok 89 - test overriding tracking setup via --no-track ok 778 - pathmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B' ok 779 - ipathmatch: match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]' ok 780 - ipathmatch (via ls-files): match '[[:alpha:]][[:digit:]][[:upper:]]' 'a1B' ok 90 - no tracking without .fetch entries ok 781 - cleanup after previous file test ok 782 - setup match file test for a ok 783 - wildmatch: no match 'a' '[[:digit:][:upper:][:space:]]' ok 784 - wildmatch (via ls-files): no match '[[:digit:][:upper:][:space:]]' 'a' ok 91 - test tracking setup via --track but deeper ok 785 - iwildmatch: match 'a' '[[:digit:][:upper:][:space:]]' ok 786 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'a' ok 92 - test deleting branch deletes branch config ok 787 - pathmatch: no match 'a' '[[:digit:][:upper:][:space:]]' ok 788 - pathmatch (via ls-files): no match '[[:digit:][:upper:][:space:]]' 'a' ok 789 - ipathmatch: match 'a' '[[:digit:][:upper:][:space:]]' ok 93 - test deleting branch without config ok 790 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'a' ok 791 - cleanup after previous file test ok 792 - setup match file test for A ok 793 - wildmatch: match 'A' '[[:digit:][:upper:][:space:]]' ok 794 - wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A' ok 94 - deleting currently checked out branch fails ok 795 - iwildmatch: match 'A' '[[:digit:][:upper:][:space:]]' ok 796 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A' ok 797 - pathmatch: match 'A' '[[:digit:][:upper:][:space:]]' ok 798 - pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A' ok 799 - ipathmatch: match 'A' '[[:digit:][:upper:][:space:]]' ok 800 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' 'A' ok 801 - cleanup after previous file test ok 802 - setup match file test for 1 ok 803 - wildmatch: match '1' '[[:digit:][:upper:][:space:]]' ok 804 - wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1' ok 805 - iwildmatch: match '1' '[[:digit:][:upper:][:space:]]' ok 95 - deleting in-use branch fails ok 806 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1' ok 807 - pathmatch: match '1' '[[:digit:][:upper:][:space:]]' ok 808 - pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1' ok 96 - test --track without .fetch entries ok 809 - ipathmatch: match '1' '[[:digit:][:upper:][:space:]]' ok 810 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' '1' ok 97 - branch from non-branch HEAD w/autosetupmerge=always ok 98 - branch from non-branch HEAD w/--track causes failure ok 811 - cleanup after previous file test ok 99 - branch from tag w/--track causes failure ok 812 - setup match file test for 1 ok 813 - wildmatch: no match '1' '[[:digit:][:upper:][:spaci:]]' ok 814 - wildmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1' ok 815 - iwildmatch: no match '1' '[[:digit:][:upper:][:spaci:]]' ok 816 - iwildmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1' ok 817 - pathmatch: no match '1' '[[:digit:][:upper:][:spaci:]]' ok 818 - pathmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1' ok 819 - ipathmatch: no match '1' '[[:digit:][:upper:][:spaci:]]' ok 820 - ipathmatch (via ls-files): no match '[[:digit:][:upper:][:spaci:]]' '1' ok 821 - cleanup after previous file test ok 822 - setup match file test for ok 823 - wildmatch: match ' ' '[[:digit:][:upper:][:space:]]' ok 824 - wildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' ' ok 825 - iwildmatch: match ' ' '[[:digit:][:upper:][:space:]]' ok 826 - iwildmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' ' ok 827 - pathmatch: match ' ' '[[:digit:][:upper:][:space:]]' ok 828 - pathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' ' ok 829 - ipathmatch: match ' ' '[[:digit:][:upper:][:space:]]' ok 100 - simple tracking works when remote branch name matches ok 830 - ipathmatch (via ls-files): match '[[:digit:][:upper:][:space:]]' ' ' ok 831 - cleanup after previous file test ok 832 - setup match file test for . ok 833 - wildmatch: no match '.' '[[:digit:][:upper:][:space:]]' not ok 834 - wildmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage ok 835 - iwildmatch: no match '.' '[[:digit:][:upper:][:space:]]' not ok 836 - iwildmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage ok 837 - pathmatch: no match '.' '[[:digit:][:upper:][:space:]]' not ok 838 - pathmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage ok 839 - ipathmatch: no match '.' '[[:digit:][:upper:][:space:]]' not ok 840 - ipathmatch (via ls-files): no match skip '[[:digit:][:upper:][:space:]]' '.' # TODO known breakage ok 841 - cleanup after previous file test ok 842 - setup match file test for . ok 843 - wildmatch: match '.' '[[:digit:][:punct:][:space:]]' not ok 844 - wildmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage ok 845 - iwildmatch: match '.' '[[:digit:][:punct:][:space:]]' not ok 846 - iwildmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage ok 847 - pathmatch: match '.' '[[:digit:][:punct:][:space:]]' not ok 848 - pathmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage ok 849 - ipathmatch: match '.' '[[:digit:][:punct:][:space:]]' not ok 850 - ipathmatch (via ls-files): match skip '[[:digit:][:punct:][:space:]]' '.' # TODO known breakage ok 851 - cleanup after previous file test ok 852 - setup match file test for 5 ok 101 - simple tracking skips when remote branch name does not match ok 853 - wildmatch: match '5' '[[:xdigit:]]' ok 854 - wildmatch (via ls-files): match '[[:xdigit:]]' '5' ok 855 - iwildmatch: match '5' '[[:xdigit:]]' ok 856 - iwildmatch (via ls-files): match '[[:xdigit:]]' '5' ok 857 - pathmatch: match '5' '[[:xdigit:]]' ok 858 - pathmatch (via ls-files): match '[[:xdigit:]]' '5' ok 859 - ipathmatch: match '5' '[[:xdigit:]]' ok 860 - ipathmatch (via ls-files): match '[[:xdigit:]]' '5' ok 861 - cleanup after previous file test ok 862 - setup match file test for f ok 863 - wildmatch: match 'f' '[[:xdigit:]]' ok 102 - simple tracking skips when remote ref is not a branch ok 864 - wildmatch (via ls-files): match '[[:xdigit:]]' 'f' ok 865 - iwildmatch: match 'f' '[[:xdigit:]]' ok 103 - --set-upstream-to fails on multiple branches ok 866 - iwildmatch (via ls-files): match '[[:xdigit:]]' 'f' ok 867 - pathmatch: match 'f' '[[:xdigit:]]' ok 868 - pathmatch (via ls-files): match '[[:xdigit:]]' 'f' ok 104 - --set-upstream-to fails on detached HEAD ok 869 - ipathmatch: match 'f' '[[:xdigit:]]' ok 105 - --set-upstream-to fails on a missing dst branch ok 870 - ipathmatch (via ls-files): match '[[:xdigit:]]' 'f' ok 106 - --set-upstream-to fails on a missing src branch ok 107 - --set-upstream-to fails on a non-ref ok 871 - cleanup after previous file test ok 872 - setup match file test for D ok 873 - wildmatch: match 'D' '[[:xdigit:]]' ok 108 - --set-upstream-to fails on locked config ok 874 - wildmatch (via ls-files): match '[[:xdigit:]]' 'D' ok 875 - iwildmatch: match 'D' '[[:xdigit:]]' ok 876 - iwildmatch (via ls-files): match '[[:xdigit:]]' 'D' ok 877 - pathmatch: match 'D' '[[:xdigit:]]' ok 878 - pathmatch (via ls-files): match '[[:xdigit:]]' 'D' ok 879 - ipathmatch: match 'D' '[[:xdigit:]]' ok 109 - use --set-upstream-to modify HEAD ok 880 - ipathmatch (via ls-files): match '[[:xdigit:]]' 'D' ok 881 - cleanup after previous file test ok 110 - use --set-upstream-to modify a particular branch ok 882 - setup match file test for _ ok 883 - wildmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' ok 111 - --unset-upstream should fail if given a non-existent branch ok 884 - wildmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_' ok 885 - iwildmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' ok 112 - --unset-upstream should fail if config is locked ok 886 - iwildmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_' ok 887 - pathmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' ok 888 - pathmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_' ok 889 - ipathmatch: match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' ok 890 - ipathmatch (via ls-files): match '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' '_' ok 891 - cleanup after previous file test ok 892 - setup match file test for . ok 893 - wildmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' ok 113 - test --unset-upstream on HEAD not ok 894 - wildmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage ok 895 - iwildmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' ok 114 - --unset-upstream should fail on multiple branches not ok 896 - iwildmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage ok 897 - pathmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' not ok 898 - pathmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage ok 899 - ipathmatch: match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' not ok 900 - ipathmatch (via ls-files): match skip '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]' '.' # TODO known breakage ok 901 - cleanup after previous file test ok 115 - --unset-upstream should fail on detached HEAD ok 902 - setup match file test for 5 ok 903 - wildmatch: match '5' '[a-c[:digit:]x-z]' ok 904 - wildmatch (via ls-files): match '[a-c[:digit:]x-z]' '5' ok 905 - iwildmatch: match '5' '[a-c[:digit:]x-z]' ok 906 - iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' '5' ok 116 - test --unset-upstream on a particular branch ok 907 - pathmatch: match '5' '[a-c[:digit:]x-z]' ok 117 - disabled option --set-upstream fails ok 908 - pathmatch (via ls-files): match '[a-c[:digit:]x-z]' '5' ok 909 - ipathmatch: match '5' '[a-c[:digit:]x-z]' ok 118 - --set-upstream-to notices an error to set branch as own upstream ok 910 - ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' '5' ok 911 - cleanup after previous file test ok 912 - setup match file test for b ok 913 - wildmatch: match 'b' '[a-c[:digit:]x-z]' ok 119 - git checkout -b g/h/i -l should create a branch and a log ok 914 - wildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b' ok 915 - iwildmatch: match 'b' '[a-c[:digit:]x-z]' ok 916 - iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b' ok 120 - checkout -b makes reflog by default ok 917 - pathmatch: match 'b' '[a-c[:digit:]x-z]' ok 918 - pathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b' ok 919 - ipathmatch: match 'b' '[a-c[:digit:]x-z]' ok 920 - ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'b' ok 121 - checkout -b does not make reflog when core.logAllRefUpdates = false ok 921 - cleanup after previous file test ok 922 - setup match file test for y ok 923 - wildmatch: match 'y' '[a-c[:digit:]x-z]' ok 122 - checkout -b with -l makes reflog when core.logAllRefUpdates = false ok 924 - wildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y' ok 925 - iwildmatch: match 'y' '[a-c[:digit:]x-z]' ok 926 - iwildmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y' ok 927 - pathmatch: match 'y' '[a-c[:digit:]x-z]' ok 928 - pathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y' ok 123 - avoid ambiguous track and advise ok 929 - ipathmatch: match 'y' '[a-c[:digit:]x-z]' ok 930 - ipathmatch (via ls-files): match '[a-c[:digit:]x-z]' 'y' ok 931 - cleanup after previous file test ok 932 - setup match file test for q ok 933 - wildmatch: no match 'q' '[a-c[:digit:]x-z]' ok 934 - wildmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q' ok 935 - iwildmatch: no match 'q' '[a-c[:digit:]x-z]' ok 936 - iwildmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q' ok 937 - pathmatch: no match 'q' '[a-c[:digit:]x-z]' ok 938 - pathmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q' ok 939 - ipathmatch: no match 'q' '[a-c[:digit:]x-z]' ok 940 - ipathmatch (via ls-files): no match '[a-c[:digit:]x-z]' 'q' ok 124 - autosetuprebase local on a tracked local branch ok 941 - cleanup after previous file test ok 942 - setup match file test for ] ok 943 - wildmatch: match ']' '[\\-^]' ok 944 - wildmatch (via ls-files): match '[\\-^]' ']' ok 945 - iwildmatch: match ']' '[\\-^]' ok 946 - iwildmatch (via ls-files): match '[\\-^]' ']' ok 947 - pathmatch: match ']' '[\\-^]' ok 948 - pathmatch (via ls-files): match '[\\-^]' ']' ok 949 - ipathmatch: match ']' '[\\-^]' ok 950 - ipathmatch (via ls-files): match '[\\-^]' ']' ok 951 - cleanup after previous file test ok 125 - autosetuprebase always on a tracked local branch ok 952 - setup match file test for [ ok 953 - wildmatch: no match '[' '[\\-^]' ok 954 - wildmatch (via ls-files): no match '[\\-^]' '[' ok 955 - iwildmatch: no match '[' '[\\-^]' ok 956 - iwildmatch (via ls-files): no match '[\\-^]' '[' ok 957 - pathmatch: no match '[' '[\\-^]' ok 958 - pathmatch (via ls-files): no match '[\\-^]' '[' ok 959 - ipathmatch: no match '[' '[\\-^]' ok 960 - ipathmatch (via ls-files): no match '[\\-^]' '[' ok 961 - cleanup after previous file test ok 962 - setup match file test for - ok 963 - wildmatch: match '-' '[\-_]' ok 126 - autosetuprebase remote on a tracked local branch ok 964 - wildmatch (via ls-files): match '[\-_]' '-' ok 965 - iwildmatch: match '-' '[\-_]' ok 966 - iwildmatch (via ls-files): match '[\-_]' '-' ok 967 - pathmatch: match '-' '[\-_]' ok 968 - pathmatch (via ls-files): match '[\-_]' '-' ok 969 - ipathmatch: match '-' '[\-_]' ok 970 - ipathmatch (via ls-files): match '[\-_]' '-' ok 971 - cleanup after previous file test ok 972 - setup match file test for ] ok 973 - wildmatch: match ']' '[\]]' ok 974 - wildmatch (via ls-files): match '[\]]' ']' ok 975 - iwildmatch: match ']' '[\]]' ok 127 - autosetuprebase never on a tracked local branch ok 976 - iwildmatch (via ls-files): match '[\]]' ']' ok 977 - pathmatch: match ']' '[\]]' ok 978 - pathmatch (via ls-files): match '[\]]' ']' ok 979 - ipathmatch: match ']' '[\]]' ok 980 - ipathmatch (via ls-files): match '[\]]' ']' ok 981 - cleanup after previous file test ok 128 - autosetuprebase local on a tracked remote branch ok 982 - setup match file test for \] ok 983 - wildmatch: no match '\]' '[\]]' ok 984 - wildmatch (via ls-files): no match '[\]]' '\]' ok 985 - iwildmatch: no match '\]' '[\]]' ok 986 - iwildmatch (via ls-files): no match '[\]]' '\]' ok 987 - pathmatch: no match '\]' '[\]]' ok 129 - autosetuprebase never on a tracked remote branch ok 988 - pathmatch (via ls-files): no match '[\]]' '\]' ok 989 - ipathmatch: no match '\]' '[\]]' ok 990 - ipathmatch (via ls-files): no match '[\]]' '\]' ok 991 - cleanup after previous file test ok 992 - setup match file test for \ ok 130 - autosetuprebase remote on a tracked remote branch ok 993 - wildmatch: no match '\' '[\]]' ok 994 - wildmatch (via ls-files): no match '[\]]' '\' ok 995 - iwildmatch: no match '\' '[\]]' ok 996 - iwildmatch (via ls-files): no match '[\]]' '\' ok 997 - pathmatch: no match '\' '[\]]' ok 998 - pathmatch (via ls-files): no match '[\]]' '\' ok 999 - ipathmatch: no match '\' '[\]]' ok 131 - autosetuprebase always on a tracked remote branch ok 1000 - ipathmatch (via ls-files): no match '[\]]' '\' ok 1001 - cleanup after previous file test ok 1002 - setup match file test for ab ok 1003 - wildmatch: no match 'ab' 'a[]b' ok 1004 - wildmatch (via ls-files): no match 'a[]b' 'ab' ok 1005 - iwildmatch: no match 'ab' 'a[]b' ok 132 - autosetuprebase unconfigured on a tracked remote branch ok 1006 - iwildmatch (via ls-files): no match 'a[]b' 'ab' ok 1007 - pathmatch: no match 'ab' 'a[]b' ok 1008 - pathmatch (via ls-files): no match 'a[]b' 'ab' ok 1009 - ipathmatch: no match 'ab' 'a[]b' ok 1010 - ipathmatch (via ls-files): no match 'a[]b' 'ab' ok 1011 - cleanup after previous file test ok 1012 - setup match file test for a[]b ok 1013 - wildmatch: no match 'a[]b' 'a[]b' ok 1014 - wildmatch (via ls-files): match 'a[]b' 'a[]b' ok 1015 - iwildmatch: no match 'a[]b' 'a[]b' ok 1016 - iwildmatch (via ls-files): match 'a[]b' 'a[]b' ok 133 - autosetuprebase unconfigured on a tracked local branch ok 1017 - pathmatch: no match 'a[]b' 'a[]b' ok 1018 - pathmatch (via ls-files): match 'a[]b' 'a[]b' ok 1019 - ipathmatch: no match 'a[]b' 'a[]b' ok 1020 - ipathmatch (via ls-files): match 'a[]b' 'a[]b' ok 1021 - cleanup after previous file test ok 134 - autosetuprebase unconfigured on untracked local branch ok 1022 - setup match file test for ab[ ok 1023 - wildmatch: no match 'ab[' 'ab[' ok 1024 - wildmatch (via ls-files): match 'ab[' 'ab[' ok 1025 - iwildmatch: no match 'ab[' 'ab[' ok 135 - autosetuprebase unconfigured on untracked remote branch ok 1026 - iwildmatch (via ls-files): match 'ab[' 'ab[' ok 1027 - pathmatch: no match 'ab[' 'ab[' ok 1028 - pathmatch (via ls-files): match 'ab[' 'ab[' ok 1029 - ipathmatch: no match 'ab[' 'ab[' ok 1030 - ipathmatch (via ls-files): match 'ab[' 'ab[' ok 1031 - cleanup after previous file test ok 136 - autosetuprebase never on an untracked local branch ok 1032 - setup match file test for ab ok 1033 - wildmatch: no match 'ab' '[!' ok 1034 - wildmatch (via ls-files): no match '[!' 'ab' ok 1035 - iwildmatch: no match 'ab' '[!' ok 1036 - iwildmatch (via ls-files): no match '[!' 'ab' ok 1037 - pathmatch: no match 'ab' '[!' ok 137 - autosetuprebase local on an untracked local branch ok 1038 - pathmatch (via ls-files): no match '[!' 'ab' ok 1039 - ipathmatch: no match 'ab' '[!' ok 1040 - ipathmatch (via ls-files): no match '[!' 'ab' ok 1041 - cleanup after previous file test ok 1042 - setup match file test for ab ok 138 - autosetuprebase remote on an untracked local branch ok 1043 - wildmatch: no match 'ab' '[-' ok 1044 - wildmatch (via ls-files): no match '[-' 'ab' ok 1045 - iwildmatch: no match 'ab' '[-' ok 1046 - iwildmatch (via ls-files): no match '[-' 'ab' ok 1047 - pathmatch: no match 'ab' '[-' ok 1048 - pathmatch (via ls-files): no match '[-' 'ab' ok 1049 - ipathmatch: no match 'ab' '[-' ok 139 - autosetuprebase always on an untracked local branch ok 1050 - ipathmatch (via ls-files): no match '[-' 'ab' ok 1051 - cleanup after previous file test ok 1052 - setup match file test for - ok 1053 - wildmatch: match '-' '[-]' ok 140 - autosetuprebase never on an untracked remote branch ok 1054 - wildmatch (via ls-files): match '[-]' '-' ok 1055 - iwildmatch: match '-' '[-]' ok 1056 - iwildmatch (via ls-files): match '[-]' '-' ok 1057 - pathmatch: match '-' '[-]' ok 1058 - pathmatch (via ls-files): match '[-]' '-' ok 1059 - ipathmatch: match '-' '[-]' ok 141 - autosetuprebase local on an untracked remote branch ok 1060 - ipathmatch (via ls-files): match '[-]' '-' ok 1061 - cleanup after previous file test ok 1062 - setup match file test for - ok 1063 - wildmatch: no match '-' '[a-' ok 1064 - wildmatch (via ls-files): no match '[a-' '-' ok 1065 - iwildmatch: no match '-' '[a-' ok 142 - autosetuprebase remote on an untracked remote branch ok 1066 - iwildmatch (via ls-files): no match '[a-' '-' ok 1067 - pathmatch: no match '-' '[a-' ok 1068 - pathmatch (via ls-files): no match '[a-' '-' ok 1069 - ipathmatch: no match '-' '[a-' ok 1070 - ipathmatch (via ls-files): no match '[a-' '-' ok 143 - autosetuprebase always on an untracked remote branch ok 1071 - cleanup after previous file test ok 1072 - setup match file test for - ok 1073 - wildmatch: no match '-' '[!a-' ok 1074 - wildmatch (via ls-files): no match '[!a-' '-' ok 1075 - iwildmatch: no match '-' '[!a-' ok 144 - autosetuprebase always on detached HEAD ok 1076 - iwildmatch (via ls-files): no match '[!a-' '-' ok 1077 - pathmatch: no match '-' '[!a-' ok 145 - detect misconfigured autosetuprebase (bad value) ok 1078 - pathmatch (via ls-files): no match '[!a-' '-' ok 1079 - ipathmatch: no match '-' '[!a-' ok 146 - detect misconfigured autosetuprebase (no value) ok 1080 - ipathmatch (via ls-files): no match '[!a-' '-' ok 1081 - cleanup after previous file test ok 147 - attempt to delete a branch without base and unmerged to HEAD ok 1082 - setup match file test for - ok 1083 - wildmatch: match '-' '[--A]' ok 148 - attempt to delete a branch merged to its base ok 1084 - wildmatch (via ls-files): match '[--A]' '-' ok 1085 - iwildmatch: match '-' '[--A]' ok 1086 - iwildmatch (via ls-files): match '[--A]' '-' ok 1087 - pathmatch: match '-' '[--A]' ok 1088 - pathmatch (via ls-files): match '[--A]' '-' ok 1089 - ipathmatch: match '-' '[--A]' ok 1090 - ipathmatch (via ls-files): match '[--A]' '-' ok 149 - attempt to delete a branch merged to its base ok 1091 - cleanup after previous file test ok 1092 - setup match file test for 5 ok 1093 - wildmatch: match '5' '[--A]' ok 1094 - wildmatch (via ls-files): match '[--A]' '5' ok 1095 - iwildmatch: match '5' '[--A]' ok 1096 - iwildmatch (via ls-files): match '[--A]' '5' ok 1097 - pathmatch: match '5' '[--A]' ok 150 - branch --delete --force removes dangling branch ok 1098 - pathmatch (via ls-files): match '[--A]' '5' ok 1099 - ipathmatch: match '5' '[--A]' ok 1100 - ipathmatch (via ls-files): match '[--A]' '5' ok 1101 - cleanup after previous file test ok 151 - use --edit-description ok 1102 - setup match file test for ok 1103 - wildmatch: match ' ' '[ --]' ok 152 - detect typo in branch name when using --edit-description ok 1104 - wildmatch (via ls-files): match '[ --]' ' ' ok 1105 - iwildmatch: match ' ' '[ --]' ok 1106 - iwildmatch (via ls-files): match '[ --]' ' ' ok 1107 - pathmatch: match ' ' '[ --]' ok 153 - refuse --edit-description on unborn branch for now ok 154 - --merged catches invalid object names ok 1108 - pathmatch (via ls-files): match '[ --]' ' ' ok 1109 - ipathmatch: match ' ' '[ --]' ok 1110 - ipathmatch (via ls-files): match '[ --]' ' ' ok 1111 - cleanup after previous file test ok 1112 - setup match file test for $ ok 1113 - wildmatch: match '$' '[ --]' ok 1114 - wildmatch (via ls-files): match '[ --]' '$' ok 1115 - iwildmatch: match '$' '[ --]' ok 1116 - iwildmatch (via ls-files): match '[ --]' '$' ok 1117 - pathmatch: match '$' '[ --]' ok 1118 - pathmatch (via ls-files): match '[ --]' '$' ok 155 - --list during rebase ok 1119 - ipathmatch: match '$' '[ --]' ok 1120 - ipathmatch (via ls-files): match '[ --]' '$' ok 1121 - cleanup after previous file test ok 1122 - setup match file test for - ok 1123 - wildmatch: match '-' '[ --]' ok 1124 - wildmatch (via ls-files): match '[ --]' '-' ok 1125 - iwildmatch: match '-' '[ --]' ok 1126 - iwildmatch (via ls-files): match '[ --]' '-' ok 1127 - pathmatch: match '-' '[ --]' ok 1128 - pathmatch (via ls-files): match '[ --]' '-' ok 1129 - ipathmatch: match '-' '[ --]' ok 156 - --list during rebase from detached HEAD ok 1130 - ipathmatch (via ls-files): match '[ --]' '-' ok 1131 - cleanup after previous file test ok 1132 - setup match file test for 0 ok 1133 - wildmatch: no match '0' '[ --]' ok 1134 - wildmatch (via ls-files): no match '[ --]' '0' ok 1135 - iwildmatch: no match '0' '[ --]' ok 1136 - iwildmatch (via ls-files): no match '[ --]' '0' ok 1137 - pathmatch: no match '0' '[ --]' ok 1138 - pathmatch (via ls-files): no match '[ --]' '0' ok 1139 - ipathmatch: no match '0' '[ --]' ok 1140 - ipathmatch (via ls-files): no match '[ --]' '0' ok 1141 - cleanup after previous file test ok 1142 - setup match file test for - ok 1143 - wildmatch: match '-' '[---]' ok 1144 - wildmatch (via ls-files): match '[---]' '-' ok 1145 - iwildmatch: match '-' '[---]' ok 1146 - iwildmatch (via ls-files): match '[---]' '-' ok 1147 - pathmatch: match '-' '[---]' ok 1148 - pathmatch (via ls-files): match '[---]' '-' ok 1149 - ipathmatch: match '-' '[---]' ok 1150 - ipathmatch (via ls-files): match '[---]' '-' ok 1151 - cleanup after previous file test ok 1152 - setup match file test for - ok 1153 - wildmatch: match '-' '[------]' ok 1154 - wildmatch (via ls-files): match '[------]' '-' ok 1155 - iwildmatch: match '-' '[------]' ok 1156 - iwildmatch (via ls-files): match '[------]' '-' ok 1157 - pathmatch: match '-' '[------]' ok 1158 - pathmatch (via ls-files): match '[------]' '-' ok 1159 - ipathmatch: match '-' '[------]' ok 1160 - ipathmatch (via ls-files): match '[------]' '-' ok 1161 - cleanup after previous file test ok 157 - tracking with unexpected .fetch refspec ok 1162 - setup match file test for j ok 1163 - wildmatch: no match 'j' '[a-e-n]' ok 1164 - wildmatch (via ls-files): no match '[a-e-n]' 'j' ok 1165 - iwildmatch: no match 'j' '[a-e-n]' ok 1166 - iwildmatch (via ls-files): no match '[a-e-n]' 'j' ok 1167 - pathmatch: no match 'j' '[a-e-n]' ok 1168 - pathmatch (via ls-files): no match '[a-e-n]' 'j' ok 1169 - ipathmatch: no match 'j' '[a-e-n]' ok 1170 - ipathmatch (via ls-files): no match '[a-e-n]' 'j' ok 1171 - cleanup after previous file test ok 1172 - setup match file test for - ok 1173 - wildmatch: match '-' '[a-e-n]' ok 1174 - wildmatch (via ls-files): match '[a-e-n]' '-' ok 1175 - iwildmatch: match '-' '[a-e-n]' ok 1176 - iwildmatch (via ls-files): match '[a-e-n]' '-' ok 1177 - pathmatch: match '-' '[a-e-n]' ok 1178 - pathmatch (via ls-files): match '[a-e-n]' '-' ok 1179 - ipathmatch: match '-' '[a-e-n]' ok 1180 - ipathmatch (via ls-files): match '[a-e-n]' '-' ok 158 - configured committerdate sort ok 1181 - cleanup after previous file test ok 159 - option override configured sort ok 1182 - setup match file test for a ok 1183 - wildmatch: match 'a' '[!------]' ok 1184 - wildmatch (via ls-files): match '[!------]' 'a' ok 1185 - iwildmatch: match 'a' '[!------]' ok 160 - --no-sort cancels config sort keys ok 1186 - iwildmatch (via ls-files): match '[!------]' 'a' ok 161 - --no-sort cancels command line sort keys ok 1187 - pathmatch: match 'a' '[!------]' ok 162 - --no-sort without subsequent --sort prints expected branches ok 1188 - pathmatch (via ls-files): match '[!------]' 'a' ok 1189 - ipathmatch: match 'a' '[!------]' ok 1190 - ipathmatch (via ls-files): match '[!------]' 'a' ok 1191 - cleanup after previous file test ok 163 - invalid sort parameter in configuration ok 1192 - setup match file test for [ ok 1193 - wildmatch: no match '[' '[]-a]' ok 1194 - wildmatch (via ls-files): no match '[]-a]' '[' ok 1195 - iwildmatch: no match '[' '[]-a]' ok 164 - tracking info copied with --track=inherit ok 1196 - iwildmatch (via ls-files): no match '[]-a]' '[' ok 1197 - pathmatch: no match '[' '[]-a]' ok 1198 - pathmatch (via ls-files): no match '[]-a]' '[' ok 1199 - ipathmatch: no match '[' '[]-a]' ok 1200 - ipathmatch (via ls-files): no match '[]-a]' '[' ok 1201 - cleanup after previous file test ok 1202 - setup match file test for ^ ok 1203 - wildmatch: match '^' '[]-a]' ok 1204 - wildmatch (via ls-files): match '[]-a]' '^' ok 1205 - iwildmatch: match '^' '[]-a]' ok 165 - tracking info copied with autoSetupMerge=inherit ok 1206 - iwildmatch (via ls-files): match '[]-a]' '^' ok 1207 - pathmatch: match '^' '[]-a]' ok 1208 - pathmatch (via ls-files): match '[]-a]' '^' ok 1209 - ipathmatch: match '^' '[]-a]' ok 1210 - ipathmatch (via ls-files): match '[]-a]' '^' ok 1211 - cleanup after previous file test ok 166 - --track overrides branch.autoSetupMerge ok 167 - errors if given a bad branch name ok 1212 - setup match file test for ^ # passed all 167 test(s) 1..167 ok 1213 - wildmatch: no match '^' '[!]-a]' ok 1214 - wildmatch (via ls-files): no match '[!]-a]' '^' ok 1215 - iwildmatch: no match '^' '[!]-a]' ok 1216 - iwildmatch (via ls-files): no match '[!]-a]' '^' ok 1217 - pathmatch: no match '^' '[!]-a]' ok 1218 - pathmatch (via ls-files): no match '[!]-a]' '^' ok 1219 - ipathmatch: no match '^' '[!]-a]' *** t3201-branch-contains.sh *** ok 1220 - ipathmatch (via ls-files): no match '[!]-a]' '^' ok 1221 - cleanup after previous file test ok 1222 - setup match file test for [ ok 1223 - wildmatch: match '[' '[!]-a]' ok 1224 - wildmatch (via ls-files): match '[!]-a]' '[' ok 1225 - iwildmatch: match '[' '[!]-a]' ok 1226 - iwildmatch (via ls-files): match '[!]-a]' '[' ok 1227 - pathmatch: match '[' '[!]-a]' ok 1228 - pathmatch (via ls-files): match '[!]-a]' '[' ok 1229 - ipathmatch: match '[' '[!]-a]' ok 1230 - ipathmatch (via ls-files): match '[!]-a]' '[' ok 1231 - cleanup after previous file test ok 1232 - setup match file test for ^ ok 1233 - wildmatch: match '^' '[a^bc]' ok 1234 - wildmatch (via ls-files): match '[a^bc]' '^' ok 1235 - iwildmatch: match '^' '[a^bc]' ok 1236 - iwildmatch (via ls-files): match '[a^bc]' '^' ok 1237 - pathmatch: match '^' '[a^bc]' ok 1238 - pathmatch (via ls-files): match '[a^bc]' '^' ok 1239 - ipathmatch: match '^' '[a^bc]' ok 1240 - ipathmatch (via ls-files): match '[a^bc]' '^' ok 1241 - cleanup after previous file test ok 1242 - setup match file test for -b] ok 1243 - wildmatch: match '-b]' '[a-]b]' ok 1244 - wildmatch (via ls-files): match '[a-]b]' '-b]' ok 1245 - iwildmatch: match '-b]' '[a-]b]' ok 1 - setup ok 1246 - iwildmatch (via ls-files): match '[a-]b]' '-b]' ok 2 - branch --contains=main ok 1247 - pathmatch: match '-b]' '[a-]b]' ok 3 - branch --contains main ok 1248 - pathmatch (via ls-files): match '[a-]b]' '-b]' ok 4 - branch --no-contains=main ok 1249 - ipathmatch: match '-b]' '[a-]b]' ok 5 - branch --no-contains main ok 1250 - ipathmatch (via ls-files): match '[a-]b]' '-b]' ok 6 - branch --contains=side ok 7 - branch --no-contains=side ok 1251 - cleanup after previous file test ok 8 - branch --contains with pattern implies --list ok 9 - branch --no-contains with pattern implies --list ok 1252 - setup match file test for \ ok 1253 - wildmatch: no match '\' '[\]' ok 10 - side: branch --merged ok 1254 - wildmatch (via ls-files): no match '[\]' '\' ok 11 - branch --merged with pattern implies --list ok 1255 - iwildmatch: no match '\' '[\]' ok 12 - side: branch --no-merged ok 1256 - iwildmatch (via ls-files): no match '[\]' '\' ok 1257 - pathmatch: no match '\' '[\]' ok 13 - main: branch --merged ok 1258 - pathmatch (via ls-files): no match '[\]' '\' ok 14 - main: branch --no-merged ok 1259 - ipathmatch: no match '\' '[\]' ok 15 - branch --no-merged with pattern implies --list ok 1260 - ipathmatch (via ls-files): no match '[\]' '\' ok 1261 - cleanup after previous file test ok 16 - implicit --list conflicts with modification options ok 1262 - setup match file test for \ ok 1263 - wildmatch: match '\' '[\\]' ok 17 - Assert that --contains only works on commits, not trees & blobs ok 1264 - wildmatch (via ls-files): match '[\\]' '\' ok 1265 - iwildmatch: match '\' '[\\]' ok 1266 - iwildmatch (via ls-files): match '[\\]' '\' ok 1267 - pathmatch: match '\' '[\\]' ok 1268 - pathmatch (via ls-files): match '[\\]' '\' ok 1269 - ipathmatch: match '\' '[\\]' ok 1270 - ipathmatch (via ls-files): match '[\\]' '\' ok 1271 - cleanup after previous file test ok 18 - multiple branch --contains ok 19 - multiple branch --merged ok 1272 - setup match file test for \ ok 1273 - wildmatch: no match '\' '[!\\]' ok 20 - multiple branch --no-contains ok 1274 - wildmatch (via ls-files): no match '[!\\]' '\' ok 1275 - iwildmatch: no match '\' '[!\\]' ok 21 - multiple branch --no-merged ok 1276 - iwildmatch (via ls-files): no match '[!\\]' '\' ok 1277 - pathmatch: no match '\' '[!\\]' ok 1278 - pathmatch (via ls-files): no match '[!\\]' '\' ok 1279 - ipathmatch: no match '\' '[!\\]' ok 1280 - ipathmatch (via ls-files): no match '[!\\]' '\' ok 1281 - cleanup after previous file test ok 22 - branch --contains combined with --no-contains ok 1282 - setup match file test for G ok 23 - branch --merged combined with --no-merged ok 1283 - wildmatch: match 'G' '[A-\\]' ok 1284 - wildmatch (via ls-files): match '[A-\\]' 'G' ok 1285 - iwildmatch: match 'G' '[A-\\]' ok 1286 - iwildmatch (via ls-files): match '[A-\\]' 'G' ok 1287 - pathmatch: match 'G' '[A-\\]' ok 1288 - pathmatch (via ls-files): match '[A-\\]' 'G' ok 1289 - ipathmatch: match 'G' '[A-\\]' ok 1290 - ipathmatch (via ls-files): match '[A-\\]' 'G' ok 1291 - cleanup after previous file test ok 1292 - setup match file test for aaabbb ok 24 - branch --merged with --verbose # passed all 24 test(s) 1..24 ok 1293 - wildmatch: no match 'aaabbb' 'b*a' *** t3202-show-branch.sh *** ok 1294 - wildmatch (via ls-files): no match 'b*a' 'aaabbb' ok 1295 - iwildmatch: no match 'aaabbb' 'b*a' ok 1296 - iwildmatch (via ls-files): no match 'b*a' 'aaabbb' ok 1297 - pathmatch: no match 'aaabbb' 'b*a' ok 1298 - pathmatch (via ls-files): no match 'b*a' 'aaabbb' ok 1299 - ipathmatch: no match 'aaabbb' 'b*a' ok 1300 - ipathmatch (via ls-files): no match 'b*a' 'aaabbb' ok 1301 - cleanup after previous file test ok 1302 - setup match file test for aabcaa ok 1303 - wildmatch: no match 'aabcaa' '*ba*' ok 1304 - wildmatch (via ls-files): no match '*ba*' 'aabcaa' ok 1305 - iwildmatch: no match 'aabcaa' '*ba*' ok 1306 - iwildmatch (via ls-files): no match '*ba*' 'aabcaa' ok 1307 - pathmatch: no match 'aabcaa' '*ba*' ok 1308 - pathmatch (via ls-files): no match '*ba*' 'aabcaa' ok 1309 - ipathmatch: no match 'aabcaa' '*ba*' ok 1310 - ipathmatch (via ls-files): no match '*ba*' 'aabcaa' ok 1311 - cleanup after previous file test ok 1 - error descriptions on empty repository ok 1312 - setup match file test for , ok 1313 - wildmatch: match ',' '[,]' ok 2 - fatal descriptions on empty repository ok 1314 - wildmatch (via ls-files): match '[,]' ',' ok 1315 - iwildmatch: match ',' '[,]' ok 1316 - iwildmatch (via ls-files): match '[,]' ',' ok 1317 - pathmatch: match ',' '[,]' ok 1318 - pathmatch (via ls-files): match '[,]' ',' ok 1319 - ipathmatch: match ',' '[,]' ok 1320 - ipathmatch (via ls-files): match '[,]' ',' ok 1321 - cleanup after previous file test ok 1322 - setup match file test for , ok 1323 - wildmatch: match ',' '[\\,]' ok 1324 - wildmatch (via ls-files): match '[\\,]' ',' ok 1325 - iwildmatch: match ',' '[\\,]' ok 1326 - iwildmatch (via ls-files): match '[\\,]' ',' ok 1327 - pathmatch: match ',' '[\\,]' ok 1328 - pathmatch (via ls-files): match '[\\,]' ',' ok 1329 - ipathmatch: match ',' '[\\,]' ok 1330 - ipathmatch (via ls-files): match '[\\,]' ',' ok 1331 - cleanup after previous file test ok 1332 - setup match file test for \ ok 1333 - wildmatch: match '\' '[\\,]' ok 1334 - wildmatch (via ls-files): match '[\\,]' '\' ok 1335 - iwildmatch: match '\' '[\\,]' ok 1336 - iwildmatch (via ls-files): match '[\\,]' '\' ok 1337 - pathmatch: match '\' '[\\,]' ok 1338 - pathmatch (via ls-files): match '[\\,]' '\' ok 1339 - ipathmatch: match '\' '[\\,]' ok 1340 - ipathmatch (via ls-files): match '[\\,]' '\' ok 1341 - cleanup after previous file test ok 1342 - setup match file test for - ok 1343 - wildmatch: match '-' '[,-.]' ok 1344 - wildmatch (via ls-files): match '[,-.]' '-' ok 1345 - iwildmatch: match '-' '[,-.]' ok 1346 - iwildmatch (via ls-files): match '[,-.]' '-' ok 1347 - pathmatch: match '-' '[,-.]' ok 1348 - pathmatch (via ls-files): match '[,-.]' '-' ok 1349 - ipathmatch: match '-' '[,-.]' ok 1350 - ipathmatch (via ls-files): match '[,-.]' '-' ok 1351 - cleanup after previous file test ok 1352 - setup match file test for + ok 3 - setup ok 1353 - wildmatch: no match '+' '[,-.]' ok 1354 - wildmatch (via ls-files): no match '[,-.]' '+' ok 4 - show-branch with more than 8 branches ok 1355 - iwildmatch: no match '+' '[,-.]' ok 1356 - iwildmatch (via ls-files): no match '[,-.]' '+' ok 1357 - pathmatch: no match '+' '[,-.]' ok 1358 - pathmatch (via ls-files): no match '[,-.]' '+' ok 1359 - ipathmatch: no match '+' '[,-.]' ok 1360 - ipathmatch (via ls-files): no match '[,-.]' '+' ok 1361 - cleanup after previous file test ok 1362 - setup match file test for -.] ok 1363 - wildmatch: no match '-.]' '[,-.]' ok 1364 - wildmatch (via ls-files): no match '[,-.]' '-.]' ok 1365 - iwildmatch: no match '-.]' '[,-.]' ok 1366 - iwildmatch (via ls-files): no match '[,-.]' '-.]' ok 1367 - pathmatch: no match '-.]' '[,-.]' ok 1368 - pathmatch (via ls-files): no match '[,-.]' '-.]' ok 5 - show-branch with showbranch.default ok 1369 - ipathmatch: no match '-.]' '[,-.]' ok 1370 - ipathmatch (via ls-files): no match '[,-.]' '-.]' ok 6 - show-branch --color output ok 1371 - cleanup after previous file test ok 7 - show branch --remotes ok 1372 - setup match file test for 2 ok 1373 - wildmatch: match '2' '[\1-\3]' ok 1374 - wildmatch (via ls-files): match '[\1-\3]' '2' ok 1375 - iwildmatch: match '2' '[\1-\3]' ok 1376 - iwildmatch (via ls-files): match '[\1-\3]' '2' ok 1377 - pathmatch: match '2' '[\1-\3]' ok 1378 - pathmatch (via ls-files): match '[\1-\3]' '2' ok 1379 - ipathmatch: match '2' '[\1-\3]' ok 1380 - ipathmatch (via ls-files): match '[\1-\3]' '2' ok 1381 - cleanup after previous file test ok 8 - show-branch --sparse ok 1382 - setup match file test for 3 ok 9 - setup show branch --list ok 1383 - wildmatch: match '3' '[\1-\3]' ok 10 - show branch --list ok 1384 - wildmatch (via ls-files): match '[\1-\3]' '3' ok 1385 - iwildmatch: match '3' '[\1-\3]' ok 11 - show branch --list has no --color output ok 1386 - iwildmatch (via ls-files): match '[\1-\3]' '3' ok 1387 - pathmatch: match '3' '[\1-\3]' ok 1388 - pathmatch (via ls-files): match '[\1-\3]' '3' ok 1389 - ipathmatch: match '3' '[\1-\3]' ok 1390 - ipathmatch (via ls-files): match '[\1-\3]' '3' ok 1391 - cleanup after previous file test ok 1392 - setup match file test for 4 ok 1393 - wildmatch: no match '4' '[\1-\3]' ok 1394 - wildmatch (via ls-files): no match '[\1-\3]' '4' ok 1395 - iwildmatch: no match '4' '[\1-\3]' ok 1396 - iwildmatch (via ls-files): no match '[\1-\3]' '4' ok 1397 - pathmatch: no match '4' '[\1-\3]' ok 1398 - pathmatch (via ls-files): no match '[\1-\3]' '4' ok 1399 - ipathmatch: no match '4' '[\1-\3]' ok 12 - show branch --merge-base with one argument ok 1400 - ipathmatch (via ls-files): no match '[\1-\3]' '4' ok 1401 - cleanup after previous file test ok 1402 - setup match file test for \ ok 1403 - wildmatch: match '\' '[[-\]]' ok 1404 - wildmatch (via ls-files): match '[[-\]]' '\' ok 1405 - iwildmatch: match '\' '[[-\]]' ok 1406 - iwildmatch (via ls-files): match '[[-\]]' '\' ok 1407 - pathmatch: match '\' '[[-\]]' ok 1408 - pathmatch (via ls-files): match '[[-\]]' '\' ok 1409 - ipathmatch: match '\' '[[-\]]' ok 1410 - ipathmatch (via ls-files): match '[[-\]]' '\' ok 1411 - cleanup after previous file test ok 1412 - setup match file test for [ ok 1413 - wildmatch: match '[' '[[-\]]' ok 13 - show branch --merge-base with two arguments ok 1414 - wildmatch (via ls-files): match '[[-\]]' '[' ok 1415 - iwildmatch: match '[' '[[-\]]' ok 1416 - iwildmatch (via ls-files): match '[[-\]]' '[' ok 1417 - pathmatch: match '[' '[[-\]]' ok 14 - show branch --merge-base with N arguments ok 1418 - pathmatch (via ls-files): match '[[-\]]' '[' ok 15 - show-branch --all --reflog (should fail) ok 1419 - ipathmatch: match '[' '[[-\]]' ok 16 - show-branch --merge-base --reflog (should fail) ok 1420 - ipathmatch (via ls-files): match '[[-\]]' '[' ok 17 - show-branch --list --merge-base (should fail) ok 18 - show-branch --reflog --current (should fail) ok 1421 - cleanup after previous file test ok 19 - show-branch --no-topo-order (should fail) ok 20 - show-branch --no-date-order (should fail) ok 1422 - setup match file test for ] ok 1423 - wildmatch: match ']' '[[-\]]' ok 21 - show-branch --no-reflog (should fail) ok 22 - error descriptions on non-existent branch ok 1424 - wildmatch (via ls-files): match '[[-\]]' ']' ok 1425 - iwildmatch: match ']' '[[-\]]' ok 1426 - iwildmatch (via ls-files): match '[[-\]]' ']' ok 1427 - pathmatch: match ']' '[[-\]]' ok 23 - fatal descriptions on non-existent branch ok 1428 - pathmatch (via ls-files): match '[[-\]]' ']' ok 1429 - ipathmatch: match ']' '[[-\]]' ok 1430 - ipathmatch (via ls-files): match '[[-\]]' ']' ok 1431 - cleanup after previous file test ok 1432 - setup match file test for - ok 1433 - wildmatch: no match '-' '[[-\]]' ok 1434 - wildmatch (via ls-files): no match '[[-\]]' '-' ok 1435 - iwildmatch: no match '-' '[[-\]]' ok 1436 - iwildmatch (via ls-files): no match '[[-\]]' '-' ok 1437 - pathmatch: no match '-' '[[-\]]' ok 1438 - pathmatch (via ls-files): no match '[[-\]]' '-' ok 24 - error descriptions on orphan branch ok 1439 - ipathmatch: no match '-' '[[-\]]' ok 1440 - ipathmatch (via ls-files): no match '[[-\]]' '-' ok 1441 - cleanup after previous file test ok 1442 - setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1 ok 1443 - wildmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1444 - wildmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' ok 1445 - iwildmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1446 - iwildmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' ok 1447 - pathmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1448 - pathmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' ok 1449 - ipathmatch: match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1450 - ipathmatch (via ls-files): match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' ok 1451 - cleanup after previous file test ok 25 - setup reflogs ok 1452 - setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1 ok 1453 - wildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 26 - --reflog shows reflog entries ok 1454 - wildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' ok 27 - --reflog handles missing reflog ok 1455 - iwildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' # passed all 27 test(s) 1..27 ok 1456 - iwildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' *** t3203-branch-output.sh *** ok 1457 - pathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1458 - pathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' ok 1459 - ipathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1460 - ipathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' ok 1461 - cleanup after previous file test ok 1462 - setup match file test for -adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1 ok 1463 - wildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1464 - wildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' ok 1465 - iwildmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1466 - iwildmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' ok 1467 - pathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1468 - pathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' ok 1469 - ipathmatch: no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' ok 1470 - ipathmatch (via ls-files): no match '-*-*-*-*-*-*-12-*-*-*-m-*-*-*' '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' ok 1471 - cleanup after previous file test ok 1472 - setup match file test for XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1 ok 1473 - wildmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1474 - wildmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage ok 1475 - iwildmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1476 - iwildmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage ok 1477 - pathmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1478 - pathmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage ok 1479 - ipathmatch: match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1480 - ipathmatch (via ls-files): match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' # TODO known breakage ok 1481 - cleanup after previous file test ok 1 - make commits ok 1482 - setup match file test for XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1 ok 1483 - wildmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1484 - wildmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage ok 1485 - iwildmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' ok 2 - make branches not ok 1486 - iwildmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage ok 1487 - pathmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1488 - pathmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage ok 1489 - ipathmatch: no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' not ok 1490 - ipathmatch (via ls-files): no match skip 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*' 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' # TODO known breakage ok 1491 - cleanup after previous file test ok 3 - make remote branches ok 4 - git branch shows local branches ok 1492 - setup match file test for abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt ok 1493 - wildmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t' ok 5 - git branch --list shows local branches ok 6 - git branch --list pattern shows matching local branches ok 1494 - wildmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' ok 1495 - iwildmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t' ok 7 - git branch -r shows remote branches ok 1496 - iwildmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' ok 1497 - pathmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t' ok 8 - git branch --no-remotes is rejected ok 1498 - pathmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' ok 1499 - ipathmatch: match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t' ok 9 - git branch -a shows local and remote branches ok 1500 - ipathmatch (via ls-files): match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' ok 10 - git branch --no-all is rejected ok 11 - git branch -v shows branch summaries ok 1501 - cleanup after previous file test ok 12 - git branch --list -v pattern shows branch summaries ok 1502 - setup match file test for abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz ok 1503 - wildmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t' ok 13 - git branch --ignore-case --list -v pattern shows branch summaries ok 14 - git branch -v pattern does not show branch summaries ok 1504 - wildmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' ok 1505 - iwildmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t' ok 1506 - iwildmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' ok 15 - git branch `--show-current` shows current branch ok 1507 - pathmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t' ok 16 - git branch `--show-current` is silent when detached HEAD ok 1508 - pathmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' ok 1509 - ipathmatch: no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t' ok 1510 - ipathmatch (via ls-files): no match '**/*a*b*g*n*t' 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' ok 1511 - cleanup after previous file test ok 17 - git branch `--show-current` works properly when tag exists ok 1512 - setup match file test for foo ok 1513 - wildmatch: no match 'foo' '*/*/*' ok 1514 - wildmatch (via ls-files): no match '*/*/*' 'foo' ok 1515 - iwildmatch: no match 'foo' '*/*/*' ok 1516 - iwildmatch (via ls-files): no match '*/*/*' 'foo' ok 1517 - pathmatch: no match 'foo' '*/*/*' ok 1518 - pathmatch (via ls-files): no match '*/*/*' 'foo' ok 18 - git branch `--show-current` works properly with worktrees ok 1519 - ipathmatch: no match 'foo' '*/*/*' ok 1520 - ipathmatch (via ls-files): no match '*/*/*' 'foo' ok 19 - git branch shows detached HEAD properly ok 1521 - cleanup after previous file test ok 1522 - setup match file test for foo/bar ok 1523 - wildmatch: no match 'foo/bar' '*/*/*' ok 20 - git branch shows detached HEAD properly after checkout --detach ok 1524 - wildmatch (via ls-files): no match '*/*/*' 'foo/bar' ok 1525 - iwildmatch: no match 'foo/bar' '*/*/*' ok 1526 - iwildmatch (via ls-files): no match '*/*/*' 'foo/bar' ok 1527 - pathmatch: no match 'foo/bar' '*/*/*' ok 21 - git branch shows detached HEAD properly after moving ok 1528 - pathmatch (via ls-files): no match '*/*/*' 'foo/bar' ok 1529 - ipathmatch: no match 'foo/bar' '*/*/*' ok 1530 - ipathmatch (via ls-files): no match '*/*/*' 'foo/bar' ok 22 - git branch shows detached HEAD properly from tag ok 1531 - cleanup after previous file test ok 23 - git branch shows detached HEAD properly after moving from tag ok 1532 - setup match file test for foo/bba/arr ok 1533 - wildmatch: match 'foo/bba/arr' '*/*/*' ok 1534 - wildmatch (via ls-files): match '*/*/*' 'foo/bba/arr' ok 24 - git branch `--sort=[-]objectsize` option ok 1535 - iwildmatch: match 'foo/bba/arr' '*/*/*' ok 1536 - iwildmatch (via ls-files): match '*/*/*' 'foo/bba/arr' ok 1537 - pathmatch: match 'foo/bba/arr' '*/*/*' ok 25 - git branch `--sort=[-]type` option ok 1538 - pathmatch (via ls-files): match '*/*/*' 'foo/bba/arr' ok 1539 - ipathmatch: match 'foo/bba/arr' '*/*/*' ok 26 - git branch `--sort=[-]version:refname` option ok 1540 - ipathmatch (via ls-files): match '*/*/*' 'foo/bba/arr' ok 27 - git branch --points-at option ok 1541 - cleanup after previous file test ok 1542 - setup match file test for foo/bb/aa/rr ok 28 - ambiguous branch/tag not marked ok 1543 - wildmatch: no match 'foo/bb/aa/rr' '*/*/*' ok 1544 - wildmatch (via ls-files): no match '*/*/*' 'foo/bb/aa/rr' ok 1545 - iwildmatch: no match 'foo/bb/aa/rr' '*/*/*' ok 29 - local-branch symrefs shortened properly ok 1546 - iwildmatch (via ls-files): no match '*/*/*' 'foo/bb/aa/rr' ok 1547 - pathmatch: match 'foo/bb/aa/rr' '*/*/*' ok 1548 - pathmatch (via ls-files): match '*/*/*' 'foo/bb/aa/rr' ok 1549 - ipathmatch: match 'foo/bb/aa/rr' '*/*/*' ok 1550 - ipathmatch (via ls-files): match '*/*/*' 'foo/bb/aa/rr' ok 1551 - cleanup after previous file test ok 1552 - setup match file test for foo/bb/aa/rr ok 30 - sort branches, ignore case ok 1553 - wildmatch: match 'foo/bb/aa/rr' '**/**/**' ok 31 - git branch --format option ok 1554 - wildmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr' ok 1555 - iwildmatch: match 'foo/bb/aa/rr' '**/**/**' ok 32 - git branch --format with ahead-behind ok 1556 - iwildmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr' ok 1557 - pathmatch: match 'foo/bb/aa/rr' '**/**/**' ok 1558 - pathmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr' ok 33 - git branch `--sort=[-]ahead-behind` option ok 1559 - ipathmatch: match 'foo/bb/aa/rr' '**/**/**' ok 34 - git branch with --format=%(rest) must fail ok 1560 - ipathmatch (via ls-files): match '**/**/**' 'foo/bb/aa/rr' ok 35 - git branch --format --omit-empty ok 1561 - cleanup after previous file test ok 1562 - setup match file test for abcXdefXghi ok 1563 - wildmatch: match 'abcXdefXghi' '*X*i' ok 1564 - wildmatch (via ls-files): match '*X*i' 'abcXdefXghi' ok 1565 - iwildmatch: match 'abcXdefXghi' '*X*i' ok 36 - worktree colors correct ok 37 - set up color tests ok 1566 - iwildmatch (via ls-files): match '*X*i' 'abcXdefXghi' ok 38 - %(color) omitted without tty ok 1567 - pathmatch: match 'abcXdefXghi' '*X*i' ok 1568 - pathmatch (via ls-files): match '*X*i' 'abcXdefXghi' ok 1569 - ipathmatch: match 'abcXdefXghi' '*X*i' ok 39 # skip %(color) present with tty (missing TTY) ok 40 - --color overrides auto-color ok 1570 - ipathmatch (via ls-files): match '*X*i' 'abcXdefXghi' ok 1571 - cleanup after previous file test ok 1572 - setup match file test for ab/cXd/efXg/hi ok 1573 - wildmatch: no match 'ab/cXd/efXg/hi' '*X*i' ok 1574 - wildmatch (via ls-files): no match '*X*i' 'ab/cXd/efXg/hi' ok 41 - verbose output lists worktree path ok 1575 - iwildmatch: no match 'ab/cXd/efXg/hi' '*X*i' # passed all 41 test(s) 1..41 ok 1576 - iwildmatch (via ls-files): no match '*X*i' 'ab/cXd/efXg/hi' *** t3204-branch-name-interpretation.sh *** ok 1577 - pathmatch: match 'ab/cXd/efXg/hi' '*X*i' ok 1578 - pathmatch (via ls-files): match '*X*i' 'ab/cXd/efXg/hi' ok 1579 - ipathmatch: match 'ab/cXd/efXg/hi' '*X*i' ok 1580 - ipathmatch (via ls-files): match '*X*i' 'ab/cXd/efXg/hi' ok 1581 - cleanup after previous file test ok 1582 - setup match file test for ab/cXd/efXg/hi ok 1583 - wildmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i' ok 1584 - wildmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi' ok 1585 - iwildmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i' ok 1586 - iwildmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi' ok 1587 - pathmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i' ok 1588 - pathmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi' ok 1589 - ipathmatch: match 'ab/cXd/efXg/hi' '*/*X*/*/*i' ok 1590 - ipathmatch (via ls-files): match '*/*X*/*/*i' 'ab/cXd/efXg/hi' ok 1591 - cleanup after previous file test ok 1592 - setup match file test for ab/cXd/efXg/hi ok 1593 - wildmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i' ok 1594 - wildmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi' ok 1595 - iwildmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i' ok 1596 - iwildmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi' ok 1597 - pathmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i' ok 1 - set up repo ok 1598 - pathmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi' ok 1599 - ipathmatch: match 'ab/cXd/efXg/hi' '**/*X*/**/*i' ok 1600 - ipathmatch (via ls-files): match '**/*X*/**/*i' 'ab/cXd/efXg/hi' ok 1601 - cleanup after previous file test ok 2 - update branch via @{-1} ok 1602 - setup match file test for foo ok 1603 - wildmatch: no match 'foo' 'fo' ok 1604 - wildmatch (via ls-files): no match 'fo' 'foo' ok 3 - update branch via local @{upstream} ok 1605 - iwildmatch: no match 'foo' 'fo' ok 1606 - iwildmatch (via ls-files): no match 'fo' 'foo' ok 1607 - pathmatch: no match 'foo' 'fo' ok 4 - disallow updating branch via remote @{upstream} ok 1608 - pathmatch (via ls-files): no match 'fo' 'foo' ok 5 - create branch with pseudo-qualified name ok 1609 - ipathmatch: no match 'foo' 'fo' ok 1610 - ipathmatch (via ls-files): no match 'fo' 'foo' ok 1611 - cleanup after previous file test ok 6 - force-copy a branch to itself via @{-1} is no-op ok 1612 - setup match file test for foo/bar ok 1613 - wildmatch: match 'foo/bar' 'foo/bar' ok 1614 - wildmatch (via ls-files): match 'foo/bar' 'foo/bar' ok 1615 - iwildmatch: match 'foo/bar' 'foo/bar' ok 1616 - iwildmatch (via ls-files): match 'foo/bar' 'foo/bar' ok 7 - delete branch via @{-1} ok 1617 - pathmatch: match 'foo/bar' 'foo/bar' ok 1618 - pathmatch (via ls-files): match 'foo/bar' 'foo/bar' ok 1619 - ipathmatch: match 'foo/bar' 'foo/bar' ok 8 - delete branch via local @{upstream} ok 1620 - ipathmatch (via ls-files): match 'foo/bar' 'foo/bar' ok 1621 - cleanup after previous file test ok 9 - delete branch via remote @{upstream} ok 1622 - setup match file test for foo/bar ok 1623 - wildmatch: match 'foo/bar' 'foo/*' ok 1624 - wildmatch (via ls-files): match 'foo/*' 'foo/bar' ok 1625 - iwildmatch: match 'foo/bar' 'foo/*' ok 1626 - iwildmatch (via ls-files): match 'foo/*' 'foo/bar' ok 1627 - pathmatch: match 'foo/bar' 'foo/*' ok 10 - delete @{upstream} expansion matches -r option ok 1628 - pathmatch (via ls-files): match 'foo/*' 'foo/bar' ok 1629 - ipathmatch: match 'foo/bar' 'foo/*' ok 1630 - ipathmatch (via ls-files): match 'foo/*' 'foo/bar' ok 1631 - cleanup after previous file test ok 11 - disallow deleting remote branch via @{-1} ok 1632 - setup match file test for foo/bba/arr ok 12 - create branch named "@" ok 1633 - wildmatch: no match 'foo/bba/arr' 'foo/*' ok 1634 - wildmatch (via ls-files): no match 'foo/*' 'foo/bba/arr' ok 1635 - iwildmatch: no match 'foo/bba/arr' 'foo/*' ok 13 - delete branch named "@" ok 1636 - iwildmatch (via ls-files): no match 'foo/*' 'foo/bba/arr' ok 1637 - pathmatch: match 'foo/bba/arr' 'foo/*' ok 1638 - pathmatch (via ls-files): match 'foo/*' 'foo/bba/arr' ok 1639 - ipathmatch: match 'foo/bba/arr' 'foo/*' ok 1640 - ipathmatch (via ls-files): match 'foo/*' 'foo/bba/arr' ok 14 - checkout does not treat remote @{upstream} as a branch ok 1641 - cleanup after previous file test ok 1642 - setup match file test for foo/bba/arr ok 1643 - wildmatch: match 'foo/bba/arr' 'foo/**' ok 15 - edit-description via @{-1} ok 1644 - wildmatch (via ls-files): match 'foo/**' 'foo/bba/arr' ok 1645 - iwildmatch: match 'foo/bba/arr' 'foo/**' ok 1646 - iwildmatch (via ls-files): match 'foo/**' 'foo/bba/arr' ok 1647 - pathmatch: match 'foo/bba/arr' 'foo/**' ok 1648 - pathmatch (via ls-files): match 'foo/**' 'foo/bba/arr' ok 1649 - ipathmatch: match 'foo/bba/arr' 'foo/**' ok 16 - modify branch upstream via "@{-1}" and "@{-1}@{upstream}" # passed all 16 test(s) 1..16 ok 1650 - ipathmatch (via ls-files): match 'foo/**' 'foo/bba/arr' *** t3205-branch-color.sh *** ok 1651 - cleanup after previous file test ok 1652 - setup match file test for foo/bba/arr ok 1653 - wildmatch: no match 'foo/bba/arr' 'foo*' ok 1654 - wildmatch (via ls-files): no match 'foo*' 'foo/bba/arr' ok 1655 - iwildmatch: no match 'foo/bba/arr' 'foo*' ok 1656 - iwildmatch (via ls-files): no match 'foo*' 'foo/bba/arr' ok 1657 - pathmatch: match 'foo/bba/arr' 'foo*' ok 1658 - pathmatch (via ls-files): match 'foo*' 'foo/bba/arr' ok 1659 - ipathmatch: match 'foo/bba/arr' 'foo*' ok 1660 - ipathmatch (via ls-files): match 'foo*' 'foo/bba/arr' ok 1661 - cleanup after previous file test ok 1662 - setup match file test for foo/bba/arr ok 1663 - wildmatch: no match 'foo/bba/arr' 'foo**' ok 1664 - wildmatch (via ls-files): match 'foo**' 'foo/bba/arr' ok 1665 - iwildmatch: no match 'foo/bba/arr' 'foo**' ok 1666 - iwildmatch (via ls-files): match 'foo**' 'foo/bba/arr' ok 1667 - pathmatch: match 'foo/bba/arr' 'foo**' ok 1668 - pathmatch (via ls-files): match 'foo**' 'foo/bba/arr' ok 1669 - ipathmatch: match 'foo/bba/arr' 'foo**' ok 1 - set up some sample branches ok 1670 - ipathmatch (via ls-files): match 'foo**' 'foo/bba/arr' ok 1671 - cleanup after previous file test ok 2 - set up some color config ok 3 - regular output shows colors ok 1672 - setup match file test for foo/bba/arr ok 1673 - wildmatch: no match 'foo/bba/arr' 'foo/*arr' ok 1674 - wildmatch (via ls-files): no match 'foo/*arr' 'foo/bba/arr' ok 4 - verbose output shows colors ok 1675 - iwildmatch: no match 'foo/bba/arr' 'foo/*arr' # passed all 4 test(s) 1..4 *** t3206-range-diff.sh *** ok 1676 - iwildmatch (via ls-files): no match 'foo/*arr' 'foo/bba/arr' ok 1677 - pathmatch: match 'foo/bba/arr' 'foo/*arr' ok 1678 - pathmatch (via ls-files): match 'foo/*arr' 'foo/bba/arr' ok 1679 - ipathmatch: match 'foo/bba/arr' 'foo/*arr' ok 1680 - ipathmatch (via ls-files): match 'foo/*arr' 'foo/bba/arr' ok 1681 - cleanup after previous file test ok 1682 - setup match file test for foo/bba/arr ok 1683 - wildmatch: no match 'foo/bba/arr' 'foo/**arr' ok 1684 - wildmatch (via ls-files): no match 'foo/**arr' 'foo/bba/arr' ok 1685 - iwildmatch: no match 'foo/bba/arr' 'foo/**arr' ok 1686 - iwildmatch (via ls-files): no match 'foo/**arr' 'foo/bba/arr' ok 1687 - pathmatch: match 'foo/bba/arr' 'foo/**arr' ok 1688 - pathmatch (via ls-files): match 'foo/**arr' 'foo/bba/arr' ok 1689 - ipathmatch: match 'foo/bba/arr' 'foo/**arr' ok 1690 - ipathmatch (via ls-files): match 'foo/**arr' 'foo/bba/arr' ok 1691 - cleanup after previous file test ok 1692 - setup match file test for foo/bba/arr ok 1693 - wildmatch: no match 'foo/bba/arr' 'foo/*z' ok 1694 - wildmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr' ok 1695 - iwildmatch: no match 'foo/bba/arr' 'foo/*z' ok 1696 - iwildmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr' ok 1697 - pathmatch: no match 'foo/bba/arr' 'foo/*z' ok 1698 - pathmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr' ok 1699 - ipathmatch: no match 'foo/bba/arr' 'foo/*z' ok 1700 - ipathmatch (via ls-files): no match 'foo/*z' 'foo/bba/arr' ok 1701 - cleanup after previous file test ok 1702 - setup match file test for foo/bba/arr ok 1703 - wildmatch: no match 'foo/bba/arr' 'foo/**z' ok 1704 - wildmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr' ok 1705 - iwildmatch: no match 'foo/bba/arr' 'foo/**z' ok 1706 - iwildmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr' ok 1707 - pathmatch: no match 'foo/bba/arr' 'foo/**z' ok 1708 - pathmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr' ok 1709 - ipathmatch: no match 'foo/bba/arr' 'foo/**z' ok 1710 - ipathmatch (via ls-files): no match 'foo/**z' 'foo/bba/arr' ok 1711 - cleanup after previous file test ok 1712 - setup match file test for foo/bar ok 1713 - wildmatch: no match 'foo/bar' 'foo?bar' ok 1714 - wildmatch (via ls-files): no match 'foo?bar' 'foo/bar' ok 1715 - iwildmatch: no match 'foo/bar' 'foo?bar' ok 1716 - iwildmatch (via ls-files): no match 'foo?bar' 'foo/bar' ok 1717 - pathmatch: match 'foo/bar' 'foo?bar' ok 1718 - pathmatch (via ls-files): match 'foo?bar' 'foo/bar' ok 1 - setup ok 1719 - ipathmatch: match 'foo/bar' 'foo?bar' ok 1720 - ipathmatch (via ls-files): match 'foo?bar' 'foo/bar' ok 1721 - cleanup after previous file test ok 2 - simple A..B A..C (unmodified) ok 1722 - setup match file test for foo/bar ok 1723 - wildmatch: no match 'foo/bar' 'foo[/]bar' ok 1724 - wildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar' ok 1725 - iwildmatch: no match 'foo/bar' 'foo[/]bar' ok 3 - simple B...C (unmodified) ok 1726 - iwildmatch (via ls-files): no match 'foo[/]bar' 'foo/bar' ok 1727 - pathmatch: match 'foo/bar' 'foo[/]bar' ok 1728 - pathmatch (via ls-files): match 'foo[/]bar' 'foo/bar' ok 4 - simple A B C (unmodified) ok 1729 - ipathmatch: match 'foo/bar' 'foo[/]bar' ok 1730 - ipathmatch (via ls-files): match 'foo[/]bar' 'foo/bar' ok 1731 - cleanup after previous file test ok 5 - simple A..B A..C (unmodified) with --abbrev ok 1732 - setup match file test for foo/bar ok 1733 - wildmatch: no match 'foo/bar' 'foo[^a-z]bar' ok 1734 - wildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar' ok 1735 - iwildmatch: no match 'foo/bar' 'foo[^a-z]bar' ok 6 - A^! and A^- (unmodified) ok 1736 - iwildmatch (via ls-files): no match 'foo[^a-z]bar' 'foo/bar' ok 7 - A^{/..} is not mistaken for a range ok 1737 - pathmatch: match 'foo/bar' 'foo[^a-z]bar' ok 1738 - pathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar' ok 1739 - ipathmatch: match 'foo/bar' 'foo[^a-z]bar' ok 1740 - ipathmatch (via ls-files): match 'foo[^a-z]bar' 'foo/bar' ok 8 - trivial reordering ok 1741 - cleanup after previous file test ok 1742 - setup match file test for ab/cXd/efXg/hi ok 1743 - wildmatch: no match 'ab/cXd/efXg/hi' '*Xg*i' ok 9 - removed a commit ok 1744 - wildmatch (via ls-files): no match '*Xg*i' 'ab/cXd/efXg/hi' ok 1745 - iwildmatch: no match 'ab/cXd/efXg/hi' '*Xg*i' ok 1746 - iwildmatch (via ls-files): no match '*Xg*i' 'ab/cXd/efXg/hi' ok 1747 - pathmatch: match 'ab/cXd/efXg/hi' '*Xg*i' ok 1748 - pathmatch (via ls-files): match '*Xg*i' 'ab/cXd/efXg/hi' ok 10 - added a commit ok 1749 - ipathmatch: match 'ab/cXd/efXg/hi' '*Xg*i' ok 1750 - ipathmatch (via ls-files): match '*Xg*i' 'ab/cXd/efXg/hi' ok 1751 - cleanup after previous file test ok 11 - new base, A B C ok 1752 - setup match file test for a ok 1753 - wildmatch: no match 'a' '[A-Z]' ok 1754 - wildmatch (via ls-files): no match '[A-Z]' 'a' ok 1755 - iwildmatch: match 'a' '[A-Z]' ok 1756 - iwildmatch (via ls-files): match '[A-Z]' 'a' ok 12 - new base, B...C ok 1757 - pathmatch: no match 'a' '[A-Z]' ok 1758 - pathmatch (via ls-files): no match '[A-Z]' 'a' ok 1759 - ipathmatch: match 'a' '[A-Z]' ok 1760 - ipathmatch (via ls-files): match '[A-Z]' 'a' ok 13 - changed commit ok 1761 - cleanup after previous file test ok 1762 - setup match file test for A ok 1763 - wildmatch: match 'A' '[A-Z]' ok 14 - changed commit with --no-patch diff option ok 1764 - wildmatch (via ls-files): match '[A-Z]' 'A' ok 1765 - iwildmatch: match 'A' '[A-Z]' ok 1766 - iwildmatch (via ls-files): match '[A-Z]' 'A' ok 1767 - pathmatch: match 'A' '[A-Z]' ok 1768 - pathmatch (via ls-files): match '[A-Z]' 'A' ok 1769 - ipathmatch: match 'A' '[A-Z]' ok 15 - changed commit with --stat diff option ok 1770 - ipathmatch (via ls-files): match '[A-Z]' 'A' ok 1771 - cleanup after previous file test ok 16 - changed commit with sm config ok 1772 - setup match file test for A ok 1773 - wildmatch: no match 'A' '[a-z]' ok 1774 - wildmatch (via ls-files): no match '[a-z]' 'A' ok 1775 - iwildmatch: match 'A' '[a-z]' ok 1776 - iwildmatch (via ls-files): match '[a-z]' 'A' ok 1777 - pathmatch: no match 'A' '[a-z]' ok 17 - renamed file ok 1778 - pathmatch (via ls-files): no match '[a-z]' 'A' ok 1779 - ipathmatch: match 'A' '[a-z]' ok 1780 - ipathmatch (via ls-files): match '[a-z]' 'A' ok 1781 - cleanup after previous file test ok 18 - file with mode only change ok 1782 - setup match file test for a ok 1783 - wildmatch: match 'a' '[a-z]' ok 1784 - wildmatch (via ls-files): match '[a-z]' 'a' ok 1785 - iwildmatch: match 'a' '[a-z]' ok 19 - file added and later removed ok 1786 - iwildmatch (via ls-files): match '[a-z]' 'a' ok 1787 - pathmatch: match 'a' '[a-z]' ok 1788 - pathmatch (via ls-files): match '[a-z]' 'a' ok 1789 - ipathmatch: match 'a' '[a-z]' ok 20 - no commits on one side ok 1790 - ipathmatch (via ls-files): match '[a-z]' 'a' ok 1791 - cleanup after previous file test ok 1792 - setup match file test for a ok 1793 - wildmatch: no match 'a' '[[:upper:]]' ok 21 - changed message ok 1794 - wildmatch (via ls-files): no match '[[:upper:]]' 'a' ok 1795 - iwildmatch: match 'a' '[[:upper:]]' ok 1796 - iwildmatch (via ls-files): match '[[:upper:]]' 'a' ok 1797 - pathmatch: no match 'a' '[[:upper:]]' ok 1798 - pathmatch (via ls-files): no match '[[:upper:]]' 'a' ok 1799 - ipathmatch: match 'a' '[[:upper:]]' ok 22 - dual-coloring ok 1800 - ipathmatch (via ls-files): match '[[:upper:]]' 'a' ok 1801 - cleanup after previous file test ok 1802 - setup match file test for A ok 1803 - wildmatch: match 'A' '[[:upper:]]' ok 23 - format-patch --range-diff=topic ok 1804 - wildmatch (via ls-files): match '[[:upper:]]' 'A' ok 1805 - iwildmatch: match 'A' '[[:upper:]]' ok 1806 - iwildmatch (via ls-files): match '[[:upper:]]' 'A' ok 1807 - pathmatch: match 'A' '[[:upper:]]' ok 1808 - pathmatch (via ls-files): match '[[:upper:]]' 'A' ok 1809 - ipathmatch: match 'A' '[[:upper:]]' ok 24 - format-patch --range-diff=main..topic ok 1810 - ipathmatch (via ls-files): match '[[:upper:]]' 'A' ok 1811 - cleanup after previous file test ok 1812 - setup match file test for A ok 25 - --range-diff implies --cover-letter for multi-patch series ok 1813 - wildmatch: no match 'A' '[[:lower:]]' ok 1814 - wildmatch (via ls-files): no match '[[:lower:]]' 'A' ok 26 - explicit --no-cover-letter defeats implied --cover-letter ok 1815 - iwildmatch: match 'A' '[[:lower:]]' ok 1816 - iwildmatch (via ls-files): match '[[:lower:]]' 'A' ok 1817 - pathmatch: no match 'A' '[[:lower:]]' ok 27 - format-patch --range-diff as commentary ok 1818 - pathmatch (via ls-files): no match '[[:lower:]]' 'A' ok 1819 - ipathmatch: match 'A' '[[:lower:]]' ok 1820 - ipathmatch (via ls-files): match '[[:lower:]]' 'A' ok 28 - format-patch --range-diff reroll-count with a non-integer ok 1821 - cleanup after previous file test ok 1822 - setup match file test for a ok 1823 - wildmatch: match 'a' '[[:lower:]]' ok 29 - format-patch --range-diff reroll-count with a integer ok 1824 - wildmatch (via ls-files): match '[[:lower:]]' 'a' ok 1825 - iwildmatch: match 'a' '[[:lower:]]' ok 1826 - iwildmatch (via ls-files): match '[[:lower:]]' 'a' ok 1827 - pathmatch: match 'a' '[[:lower:]]' ok 30 - format-patch --range-diff with v0 ok 1828 - pathmatch (via ls-files): match '[[:lower:]]' 'a' ok 1829 - ipathmatch: match 'a' '[[:lower:]]' ok 31 - range-diff overrides diff.noprefix internally ok 1830 - ipathmatch (via ls-files): match '[[:lower:]]' 'a' ok 1831 - cleanup after previous file test ok 32 - basic with modified format.pretty with suffix ok 1832 - setup match file test for A ok 1833 - wildmatch: no match 'A' '[B-Za]' ok 33 - basic with modified format.pretty without "commit " ok 1834 - wildmatch (via ls-files): no match '[B-Za]' 'A' ok 1835 - iwildmatch: match 'A' '[B-Za]' ok 1836 - iwildmatch (via ls-files): match '[B-Za]' 'A' ok 1837 - pathmatch: no match 'A' '[B-Za]' ok 1838 - pathmatch (via ls-files): no match '[B-Za]' 'A' ok 1839 - ipathmatch: match 'A' '[B-Za]' ok 1840 - ipathmatch (via ls-files): match '[B-Za]' 'A' ok 1841 - cleanup after previous file test ok 34 - range-diff compares notes by default ok 1842 - setup match file test for a ok 1843 - wildmatch: match 'a' '[B-Za]' ok 1844 - wildmatch (via ls-files): match '[B-Za]' 'a' ok 1845 - iwildmatch: match 'a' '[B-Za]' ok 1846 - iwildmatch (via ls-files): match '[B-Za]' 'a' ok 1847 - pathmatch: match 'a' '[B-Za]' ok 35 - range-diff with --no-notes ok 1848 - pathmatch (via ls-files): match '[B-Za]' 'a' ok 1849 - ipathmatch: match 'a' '[B-Za]' ok 1850 - ipathmatch (via ls-files): match '[B-Za]' 'a' ok 1851 - cleanup after previous file test ok 1852 - setup match file test for A ok 1853 - wildmatch: no match 'A' '[B-a]' ok 1854 - wildmatch (via ls-files): no match '[B-a]' 'A' ok 1855 - iwildmatch: match 'A' '[B-a]' ok 1856 - iwildmatch (via ls-files): match '[B-a]' 'A' ok 1857 - pathmatch: no match 'A' '[B-a]' ok 1858 - pathmatch (via ls-files): no match '[B-a]' 'A' ok 36 - range-diff with multiple --notes ok 1859 - ipathmatch: match 'A' '[B-a]' ok 1860 - ipathmatch (via ls-files): match '[B-a]' 'A' ok 1861 - cleanup after previous file test ok 1862 - setup match file test for a ok 1863 - wildmatch: match 'a' '[B-a]' ok 1864 - wildmatch (via ls-files): match '[B-a]' 'a' ok 1865 - iwildmatch: match 'a' '[B-a]' ok 1866 - iwildmatch (via ls-files): match '[B-a]' 'a' ok 1867 - pathmatch: match 'a' '[B-a]' ok 37 - range-diff with --notes=custom does not show default notes ok 1868 - pathmatch (via ls-files): match '[B-a]' 'a' ok 1869 - ipathmatch: match 'a' '[B-a]' ok 1870 - ipathmatch (via ls-files): match '[B-a]' 'a' ok 1871 - cleanup after previous file test ok 1872 - setup match file test for z ok 1873 - wildmatch: no match 'z' '[Z-y]' ok 1874 - wildmatch (via ls-files): no match '[Z-y]' 'z' ok 1875 - iwildmatch: match 'z' '[Z-y]' ok 38 - format-patch --range-diff does not compare notes by default ok 1876 - iwildmatch (via ls-files): match '[Z-y]' 'z' ok 1877 - pathmatch: no match 'z' '[Z-y]' ok 1878 - pathmatch (via ls-files): no match '[Z-y]' 'z' ok 1879 - ipathmatch: match 'z' '[Z-y]' ok 1880 - ipathmatch (via ls-files): match '[Z-y]' 'z' ok 1881 - cleanup after previous file test ok 1882 - setup match file test for Z ok 1883 - wildmatch: match 'Z' '[Z-y]' ok 1884 - wildmatch (via ls-files): match '[Z-y]' 'Z' ok 1885 - iwildmatch: match 'Z' '[Z-y]' ok 39 - format-patch --notes=custom --range-diff only compares custom notes ok 1886 - iwildmatch (via ls-files): match '[Z-y]' 'Z' ok 1887 - pathmatch: match 'Z' '[Z-y]' ok 1888 - pathmatch (via ls-files): match '[Z-y]' 'Z' ok 1889 - ipathmatch: match 'Z' '[Z-y]' ok 1890 - ipathmatch (via ls-files): match '[Z-y]' 'Z' ok 40 - format-patch --range-diff with --no-notes ok 41 - format-patch --range-diff with --notes ok 42 - format-patch --range-diff with format.notes config ok 43 - format-patch --range-diff with multiple notes ok 44 - --left-only/--right-only ok 45 - ranges with pathspecs ok 46 - submodule changes are shown irrespective of diff.submodule ok 47 - --diff-merges # passed all 47 test(s) 1..47 *** t3207-branch-submodule.sh *** ok 1 - setup superproject and submodule ok 2 - --recurse-submodules should create branches ok 3 - --recurse-submodules should die if submodule.propagateBranches is false ok 4 - --recurse-submodules should fail when not creating branches ok 5 - should respect submodule.recurse when creating branches ok 6 - should ignore submodule.recurse when not creating branches ok 7 - should create branches based off commit id in superproject ok 8 - should not create any branches if branch is not valid for all repos ok 9 - should create branches if branch exists and --force is given ok 10 - should create branch when submodule is not in HEAD:.gitmodules ok 11 - should not create branches in inactive submodules ok 12 - should set up tracking of local branches with track=always ok 13 - should set up tracking of local branches with explicit track ok 14 - should not set up unnecessary tracking of local branches ok 15 - setup tests with remotes ok 16 - should get fatal error upon branch creation when submodule is not in .git/modules ok 17 - should set up tracking of remote-tracking branches by default ok 18 - should not fail when unable to set up tracking in submodule ok 19 - --track=inherit should set up tracking correctly ok 20 - --no-track should not set up tracking # passed all 20 test(s) 1..20 *** t3211-peel-ref.sh *** ok 1 - create annotated tag in refs/tags ok 2 - create annotated tag outside of refs/tags ok 3 - set up expected show-ref output ok 4 - refs are peeled outside of refs/tags (loose) ok 5 - refs are peeled outside of refs/tags (packed) ok 6 - create old-style pack-refs without fully-peeled ok 7 - refs are peeled outside of refs/tags (old packed) ok 8 - peeled refs survive deletion of packed ref # passed all 8 test(s) 1..8 *** t3300-funny-names.sh *** ok 1891 - matching does not exhibit exponential behavior # still have 40 known breakage(s) # passed all remaining 1851 test(s) 1..1891 *** t3301-notes.sh *** ok 1 - setup ok 2 - setup: populate index and tree ok 3 - ls-files prints space in filename verbatim ok 4 - setup: add funny filename ok 5 - ls-files quotes funny filename ok 6 - ls-files -z does not quote funny filename ok 7 - ls-tree quotes funny filename ok 8 - diff-index --name-status quotes funny filename ok 1 - cannot annotate non-existing HEAD ok 9 - diff-tree --name-status quotes funny filename ok 10 - diff-index -z does not quote funny filename ok 11 - diff-tree -z does not quote funny filename ok 12 - diff-tree --find-copies-harder quotes funny filename ok 13 - setup: remove unfunny index entry ok 2 - setup ok 14 - diff-tree -M quotes funny filename ok 3 - need valid notes ref ok 4 - refusing to add notes in refs/heads/ ok 15 - diff-index -M -p quotes funny filename ok 5 - refusing to edit notes in refs/remotes/ ok 16 - setup: mode change ok 6 - handle empty notes gracefully ok 7 - show non-existent notes entry with %N ok 17 - diff-index -M -p with mode change quotes funny filename ok 18 - diffstat for rename quotes funny filename ok 19 - numstat for rename quotes funny filename ok 8 - create notes ok 20 - numstat without -M quotes funny filename ok 9 - show notes entry with %N ok 21 - numstat for non-git rename diff quotes funny filename # passed all 21 test(s) 1..21 ok 10 - create reflog entry *** t3302-notes-index-expensive.sh *** ok 11 - edit existing notes ok 12 - show notes from treeish ok 13 - cannot edit notes from non-ref ok 14 - cannot "git notes add -m" where notes already exists ok 15 - can overwrite existing note with "git notes add -f -m" ok 16 - add w/no options on existing note morphs into edit ok 1 - setup 10 ok 2 - notes work ok 17 - can overwrite existing note with "git notes add -f" ok 18 - show notes ok 19 - show multi-line notes ok 20 - show -F notes ok 21 - Re-adding -F notes without -f fails ok 22 - git log --pretty=raw does not show notes ok 23 - git log --show-notes ok 24 - git log --no-notes ok 25 - git format-patch does not show notes ok 26 - git format-patch --show-notes does show notes ok 27 - git show does show notes ok 28 - git show --pretty does not show notes ok 29 - git show --pretty=raw does not show notes ok 30 - git show --pretty=short does not show notes ok 31 - git show --pretty=medium does not show notes ok 32 - git show --pretty=full does not show notes ok 33 - git show --pretty=fuller does not show notes ok 34 - git show --pretty=format:%s does not show notes ok 35 - git show --oneline does not show notes ok 36 - setup alternate notes ref ok 37 - git log --notes shows default notes ok 38 - git log --notes=X shows only X ok 39 - git log --notes --notes=X shows both ok 40 - git log --no-notes resets default state ok 41 - git log --no-notes resets ref list ok 42 - show -m notes ok 43 - remove note with add -f -F /dev/null ok 44 - do not create empty note with -m "" ok 45 - create note with combination of -m and -F ok 46 - create note with combination of -m and -F and --separator ok 47 - create note with combination of -m and -F and --no-separator ok 48 - remove note with "git notes remove" ok 49 - removing non-existing note should not create new commit ok 50 - removing more than one ok 51 - removing is atomic ok 52 - removing with --ignore-missing ok 53 - removing with --ignore-missing but bogus ref ok 54 - remove reads from --stdin ok 55 - remove --stdin is also atomic ok 56 - removing with --stdin --ignore-missing ok 57 - list notes with "git notes list" ok 58 - list notes with "git notes" ok 59 - "git notes" without subcommand does not take arguments ok 60 - list specific note with "git notes list " ok 61 - listing non-existing notes fails ok 62 - append: specify a separator with an empty arg ok 63 - append: specify a separator without arg ok 64 - append: specify as --no-separator ok 65 - append: specify separator with line break ok 66 - append: specify separator without line break ok 67 - append: specify separator with multiple messages ok 68 - append note with combination of -m and -F and --separator ok 69 - append to existing note with "git notes append" ok 70 - "git notes list" does not expand to "git notes list HEAD" ok 71 - appending empty string does not change existing note ok 72 - git notes append == add when there is no existing note ok 73 - appending empty string to non-existing note does not create note ok 3 - notes timing with /usr/bin/time ok 4 # skip setup 100 (missing EXPENSIVE) ok 5 # skip notes work (missing EXPENSIVE) ok 6 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE) ok 7 # skip setup 1000 (missing EXPENSIVE) ok 8 # skip notes work (missing EXPENSIVE) ok 9 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE) ok 10 # skip setup 10000 (missing EXPENSIVE) ok 11 # skip notes work (missing EXPENSIVE) ok 12 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE) # passed all 12 test(s) 1..12 *** t3303-notes-subtrees.sh *** ok 74 - create other note on a different notes ref (setup) ok 75 - Do not show note on other ref by default ok 76 - Do show note when ref is given in GIT_NOTES_REF ok 77 - Do show note when ref is given in core.notesRef config ok 78 - Do not show note when core.notesRef is overridden ok 79 - Show all notes when notes.displayRef=refs/notes/* ok 80 - core.notesRef is implicitly in notes.displayRef ok 81 - notes.displayRef can be given more than once ok 82 - notes.displayRef respects order ok 83 - notes.displayRef with no value handled gracefully ok 84 - GIT_NOTES_DISPLAY_REF works ok 85 - GIT_NOTES_DISPLAY_REF overrides config ok 86 - --show-notes=* adds to GIT_NOTES_DISPLAY_REF ok 87 - --no-standard-notes ok 88 - --standard-notes ok 89 - --show-notes=ref accumulates ok 1 - setup: create 100 commits ok 90 - Allow notes on non-commits (trees, blobs, tags) ok 91 - create note from other note with "git notes add -C" ok 92 - create note from non-existing note with "git notes add -C" fails ok 93 - create note from non-blob with "git notes add -C" fails ok 94 - create note from blob with "git notes add -C" reuses blob id ok 95 - create note from blob with "-C", also specify "-m", "-F" and "--separator" ok 96 - create note from other note with "git notes add -c" ok 97 - create note from non-existing note with "git notes add -c" fails ok 98 - append to note from other note with "git notes append -C" ok 99 - create note from other note with "git notes append -c" ok 100 - append to note from other note with "git notes append -c" ok 2 - test notes in 2/38-fanout ok 101 - copy note with "git notes copy" ok 3 - verify notes in 2/38-fanout ok 102 - copy note with "git notes copy" with default ok 103 - prevent overwrite with "git notes copy" ok 104 - allow overwrite with "git notes copy -f" ok 105 - allow overwrite with "git notes copy -f" with default ok 106 - cannot copy note from object without notes ok 107 - git notes copy --stdin ok 108 - git notes copy --for-rewrite (unconfigured) ok 109 - git notes copy --for-rewrite (enabled) ok 4 - test notes in 2/2/36-fanout ok 110 - git notes copy --for-rewrite (disabled) ok 5 - verify notes in 2/2/36-fanout ok 111 - git notes copy --for-rewrite (overwrite) ok 112 - git notes copy --for-rewrite (ignore) ok 113 - git notes copy --for-rewrite (append) ok 114 - git notes copy --for-rewrite (append two to one) ok 115 - git notes copy --for-rewrite (append empty) ok 116 - GIT_NOTES_REWRITE_MODE works ok 117 - GIT_NOTES_REWRITE_REF works ok 118 - GIT_NOTES_REWRITE_REF overrides config ok 119 - git notes copy diagnoses too many or too few arguments ok 6 - test notes in 2/2/2/34-fanout ok 120 - git notes get-ref expands refs/heads/main to refs/notes/refs/heads/main ok 121 - git notes get-ref (no overrides) ok 7 - verify notes in 2/2/2/34-fanout ok 122 - git notes get-ref (core.notesRef) ok 123 - git notes get-ref (GIT_NOTES_REF) ok 124 - git notes get-ref (--ref) ok 125 - setup testing of empty notes ok 126 - 'git notes add' removes empty note ok 127 - 'git notes add --allow-empty' stores empty note ok 128 - 'git notes add -F /dev/null' removes empty note ok 129 - 'git notes add -F /dev/null --allow-empty' stores empty note ok 130 - 'git notes add -m ""' removes empty note ok 131 - 'git notes add -m "" --allow-empty' stores empty note ok 132 - 'git notes add -c "$empty_blob"' removes empty note ok 133 - 'git notes add -c "$empty_blob" --allow-empty' stores empty note ok 134 - 'git notes add -C "$empty_blob"' removes empty note ok 135 - 'git notes add -C "$empty_blob" --allow-empty' stores empty note ok 136 - 'git notes append' removes empty note ok 137 - 'git notes append --allow-empty' stores empty note ok 138 - 'git notes append -F /dev/null' removes empty note ok 139 - 'git notes append -F /dev/null --allow-empty' stores empty note ok 140 - 'git notes append -m ""' removes empty note ok 141 - 'git notes append -m "" --allow-empty' stores empty note ok 142 - 'git notes append -c "$empty_blob"' removes empty note ok 143 - 'git notes append -c "$empty_blob" --allow-empty' stores empty note ok 144 - 'git notes append -C "$empty_blob"' removes empty note ok 145 - 'git notes append -C "$empty_blob" --allow-empty' stores empty note ok 146 - 'git notes edit' removes empty note ok 147 - 'git notes edit --allow-empty' stores empty note ok 148 - empty notes are displayed by git log ok 149 - empty notes do not invoke the editor ok 8 - test same notes in no fanout and 2/38-fanout ok 150 - git notes add with -m/-F invokes editor with -e ok 9 - verify same notes in no fanout and 2/38-fanout ok 151 - git notes append with -m/-F invokes the editor with -e ok 152 - git notes with a combination of -m, -F and -e invokes editor ok 153 - git notes append aborts when editor fails with -e # passed all 153 test(s) 1..153 *** t3304-notes-mixed.sh *** ok 1 - setup: create a couple of commits ok 2 - create a notes tree with both notes and non-notes ok 3 - verify contents of notes ok 4 - verify contents of non-notes ok 5 - git-notes preserves non-notes ok 6 - verify contents of non-notes after git-notes # passed all 6 test(s) 1..6 *** t3305-notes-fanout.sh *** ok 1 - tweak test environment ok 10 - test same notes in no fanout and 2/2/36-fanout ok 11 - verify same notes in no fanout and 2/2/36-fanout ok 12 - test same notes in 2/38-fanout and 2/2/36-fanout ok 13 - verify same notes in 2/38-fanout and 2/2/36-fanout ok 14 - test same notes in 2/2/2/34-fanout and 2/2/36-fanout ok 15 - verify same notes in 2/2/2/34-fanout and 2/2/36-fanout ok 16 - test notes in no fanout concatenated with 2/38-fanout ok 17 - verify notes in no fanout concatenated with 2/38-fanout ok 18 - test notes in no fanout concatenated with 2/2/36-fanout ok 19 - verify notes in no fanout concatenated with 2/2/36-fanout ok 20 - test notes in 2/38-fanout concatenated with 2/2/36-fanout ok 21 - verify notes in 2/38-fanout concatenated with 2/2/36-fanout ok 22 - test notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout ok 23 - verify notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout # passed all 23 test(s) 1..23 *** t3306-notes-prune.sh *** ok 1 - setup: create a few commits with notes ok 2 - verify commits and notes ok 3 - remove some commits ok 4 - verify that commits are gone ok 5 - verify that notes are still present ok 6 - prune -n does not remove notes ok 7 - prune -n lists prunable notes ok 8 - prune notes ok 9 - verify that notes are gone ok 10 - remove some commits ok 11 - prune -v notes ok 12 - verify that notes are gone # passed all 12 test(s) 1..12 *** t3307-notes-man.sh *** ok 1 - setup ok 2 - example 1: notes to add an Acked-by line ok 3 - example 2: binary notes # passed all 3 test(s) 1..3 *** t3308-notes-merge.sh *** ok 1 - setup ok 2 - verify initial notes (x) ok 3 - fail to merge empty notes ref into empty notes ref (z => y) ok 4 - fail to merge into various non-notes refs ok 5 - merge non-notes ref into empty notes ref (remote-notes/origin/x => v) ok 6 - merge notes into empty notes ref (x => y) ok 7 - merge empty notes ref (z => y) ok 8 - change notes on other notes ref (y) ok 9 - merge previous notes commit (y^ => y) => No-op ok 10 - verify changed notes on other notes ref (y) ok 11 - verify unchanged notes on original notes ref (x) ok 12 - merge original notes (x) into changed notes (y) => No-op ok 13 - merge changed (y) into original (x) => Fast-forward ok 14 - merge empty notes ref (z => y) ok 15 - change notes on other notes ref (y) ok 16 - change notes on notes ref (x) ok 17 - merge y into x => Non-conflicting 3-way merge ok 18 - create notes on new, separate notes ref (w) ok 19 - merge w into x => Non-conflicting history-less merge # passed all 19 test(s) 1..19 *** t3309-notes-merge-auto-resolve.sh *** ok 1 - setup commits ok 2 - setup merge base (x) ok 3 - verify state of merge base (x) ok 4 - setup local branch (y) ok 5 - verify state of local branch (y) ok 6 - setup remote branch (z) ok 7 - verify state of remote branch (z) ok 8 - merge z into y with invalid strategy => Fail/No changes ok 9 - merge z into y with invalid configuration option => Fail/No changes ok 10 - merge z into y with "ours" strategy => Non-conflicting 3-way merge ok 11 - reset to pre-merge state (y) ok 12 - merge z into y with "ours" configuration option => Non-conflicting 3-way merge ok 13 - reset to pre-merge state (y) ok 14 - merge z into y with "ours" per-ref configuration option => Non-conflicting 3-way merge ok 15 - reset to pre-merge state (y) ok 16 - merge z into y with "theirs" strategy => Non-conflicting 3-way merge ok 17 - reset to pre-merge state (y) ok 18 - merge z into y with "theirs" strategy overriding configuration option "ours" => Non-conflicting 3-way merge ok 19 - reset to pre-merge state (y) ok 20 - merge z into y with "union" strategy => Non-conflicting 3-way merge ok 21 - reset to pre-merge state (y) ok 22 - merge z into y with "union" strategy overriding per-ref configuration => Non-conflicting 3-way merge ok 23 - reset to pre-merge state (y) ok 24 - merge z into y with "union" per-ref overriding general configuration => Non-conflicting 3-way merge ok 25 - reset to pre-merge state (y) ok 26 - merge z into y with "manual" per-ref only checks specific ref configuration => Conflicting 3-way merge ok 27 - merge y into z with "union" strategy => Non-conflicting 3-way merge ok 28 - reset to pre-merge state (z) ok 29 - merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge ok 30 - reset to pre-merge state (z) ok 31 - merge y into z with "cat_sort_uniq" strategy configuration option => Non-conflicting 3-way merge # passed all 31 test(s) 1..31 *** t3310-notes-merge-manual-resolve.sh *** ok 2 - creating many notes with git-notes ok 3 - many notes created correctly with git-notes ok 1 - setup commits ok 2 - setup merge base (x) ok 3 - setup local branch (y) ok 4 - setup remote branch (z) ok 5 - merge z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 6 - change notes in z ok 7 - cannot do merge w/conflicts when previous merge is unfinished ok 8 - setup unrelated notes ref (w) ok 9 - can do merge without conflicts even if previous merge is unfinished (x => w) ok 10 - do not allow mixing --commit and --abort ok 11 - do not allow mixing --commit and --strategy ok 12 - do not allow mixing --abort and --strategy ok 13 - finalize conflicting merge (z => m) ok 14 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 15 - abort notes merge ok 16 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 17 - add + remove notes in finalized merge (z => m) ok 18 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge ok 19 - reset notes ref m to somewhere else (w) ok 20 - fail to finalize conflicting merge if underlying ref has moved in the meantime (m != NOTES_MERGE_PARTIAL^1) ok 21 - resolve situation by aborting the notes merge ok 22 - switch cwd before committing notes merge # passed all 22 test(s) 1..22 *** t3311-notes-merge-fanout.sh *** ok 1 - setup a few initial commits with notes (notes ref: x) ok 2 - sanity check (x) ok 3 - Add a few hundred commits w/notes to trigger fanout (x -> y) ok 4 - notes tree has fanout (y) ok 5 - No-op merge (already included) (x => y) ok 6 - Fast-forward merge (y => x) ok 7 - change some of the initial 5 notes (x -> z) ok 8 - notes tree has no fanout (z) ok 9 - successful merge without conflicts (y => z) ok 10 - notes tree still has fanout after merge (m) ok 11 - introduce conflicting changes (y -> w) ok 12 - successful merge using "ours" strategy (z => w) ok 4 - stable fanout 0 is followed by stable fanout 1 ok 13 - notes tree still has fanout after merge (m) ok 14 - successful merge using "theirs" strategy (z => w) ok 15 - notes tree still has fanout after merge (m) ok 16 - successful merge using "union" strategy (z => w) ok 17 - notes tree still has fanout after merge (m) ok 18 - successful merge using "cat_sort_uniq" strategy (z => w) ok 5 - deleting most notes with git-notes ok 6 - most notes deleted correctly with git-notes ok 19 - notes tree still has fanout after merge (m) ok 20 - fails to merge using "manual" strategy (z => w) ok 21 - notes tree still has fanout after merge (m) ok 22 - verify conflict entries (with no fanout) ok 23 - resolve and finalize merge (z => w) ok 24 - notes tree still has fanout after merge (m) # passed all 24 test(s) 1..24 *** t3320-notes-merge-worktrees.sh *** ok 1 - setup commit ok 2 - setup notes ref (x) ok 3 - setup local branch (y) ok 4 - setup remote branch (z) ok 5 - modify notes ref ourselves (x) ok 6 - create some new worktrees ok 7 - merge z into y fails and sets NOTES_MERGE_REF ok 8 - merge z into y while mid-merge in another workdir fails ok 9 - merge z into x while mid-merge on y succeeds # passed all 9 test(s) 1..9 *** t3321-notes-stripspace.sh *** ok 1 - setup the commit ok 2 - add note by editor ok 3 - add note by specifying single "-m", "--stripspace" is the default behavior ok 4 - add note by specifying single "-m" and "--no-stripspace" ok 5 - add note by specifying multiple "-m", "--stripspace" is the default behavior ok 6 - add notes by specifying multiple "-m" and "--no-stripspace" ok 7 - add note by specifying single "-F", "--stripspace" is the default behavior ok 8 - add note by specifying single "-F" and "--no-stripspace" ok 9 - add note by specifying multiple "-F", "--stripspace" is the default behavior ok 10 - add note by specifying multiple "-F" with "--no-stripspace" ok 11 - append note by editor ok 12 - append note by specifying single "-m" ok 13 - append note by specifying multiple "-m" ok 14 - add note by specifying single "-F" ok 15 - add notes by specifying multiple "-F" ok 16 - append note by specifying single "-F" ok 17 - append notes by specifying multiple "-F" ok 18 - append note by specifying multiple "-F" with "--no-stripspace" ok 19 - add notes with empty messages ok 20 - add note by specifying "-C", "--no-stripspace" is the default behavior ok 21 - reuse note by specifying "-C" and "--stripspace" ok 22 - reuse with "-C" and add note with "-m", "-m" will stripspace all together ok 23 - add note with "-m" and reuse note with "-C", "-C" will not stripspace all together ok 24 - add note by specifying "-c", "--stripspace" is the default behavior ok 25 - add note by specifying "-c" with "--no-stripspace" ok 26 - edit note by specifying "-c", "--stripspace" is the default behavior ok 27 - edit note by specifying "-c" with "--no-stripspace" # passed all 27 test(s) 1..27 *** t3400-rebase.sh *** ok 1 - prepare repository with topic branches ok 2 - rebase on dirty worktree ok 3 - rebase on dirty cache ok 4 - rebase against main ok 5 - rebase sets ORIG_HEAD to pre-rebase state ok 6 - rebase, with and specified as :/quuxery ok 7 - the rebase operation should not have destroyed author information ok 8 - the rebase operation should not have destroyed author information (2) ok 9 - HEAD was detached during rebase ok 10 - rebase from ambiguous branch name ok 11 - rebase off of the previous branch using "-" ok 12 - rebase a single mode change ok 13 - rebase is not broken by diff.renames ok 14 - setup: recover ok 15 - Show verbose error when HEAD could not be detached ok 16 - fail when upstream arg is missing and not on branch ok 17 - fail when upstream arg is missing and not configured ok 18 - rebase works with format.useAutoBase ok 19 - default to common base in @{upstream}s reflog if no upstream arg (--merge) ok 20 - default to common base in @{upstream}s reflog if no upstream arg (--apply) ok 21 - cherry-picked commits and fork-point work together ok 22 - rebase --apply -q is quiet ok 23 - rebase --merge -q is quiet ok 24 - rebase --exec -q is quiet ok 25 - Rebase a commit that sprinkles CRs in ok 26 - rebase can copy notes ok 27 - rebase -m can copy notes ok 28 - rebase commit with an ancient timestamp ok 29 - rebase with "From " line in commit message ok 30 - rebase --apply and --show-current-patch ok 31 - rebase --apply and .gitattributes ok 32 - rebase--merge.sh and --show-current-patch ok 33 - switch to branch checked out here ok 34 - switch to branch checked out elsewhere fails ok 35 - switch to branch not checked out ok 36 - switch to non-branch detaches HEAD ok 37 - refuse to switch to branch checked out elsewhere ok 38 - rebase when inside worktree subdirectory ok 39 - git rebase --update-ref with core.commentChar and branch on worktree # passed all 39 test(s) 1..39 *** t3401-rebase-and-am-rename.sh *** ok 7 - stable fanout 1 is followed by stable fanout 0 # passed all 7 test(s) 1..7 *** t3402-rebase-merge.sh *** ok 1 - setup testcase where directory rename should be detected ok 2 - rebase --interactive: directory rename detected not ok 3 - rebase --apply: directory rename detected # TODO known breakage ok 4 - rebase --merge: directory rename detected not ok 5 - am: directory rename detected # TODO known breakage ok 1 - setup ok 2 - reference merge ok 6 - setup testcase where directory rename should NOT be detected ok 3 - rebase ok 4 - test-rebase@{1} is pre rebase ok 5 - merge and rebase should match ok 7 - rebase --interactive: NO directory rename ok 6 - rebase the other way ok 8 - rebase (am): NO directory rename ok 7 - rebase -Xtheirs ok 9 - rebase --merge: NO directory rename ok 8 - rebase -Xtheirs from orphan ok 9 - merge and rebase should match ok 10 - am: NO directory rename # still have 2 known breakage(s) # passed all remaining 8 test(s) 1..10 ok 10 - picking rebase *** t3403-rebase-skip.sh *** ok 11 - rebase --skip works with two conflicts in a row ok 12 - --reapply-cherry-picks ok 1 - setup ok 2 - rebase with git am -3 (default) ok 3 - rebase --skip can not be used with other options ok 4 - rebase --skip with am -3 ok 5 - rebase moves back to skip-reference ok 6 - checkout skip-merge ok 7 - rebase with --merge ok 8 - rebase --skip with --merge ok 9 - merge and reference trees equal ok 10 - moved back to branch correctly ok 13 - --reapply-cherry-picks refrains from reading unneeded blobs # passed all 13 test(s) 1..13 ok 11 - skipping final pick removes .git/MERGE_MSG *** t3404-rebase-interactive.sh *** ok 12 - correct advice upon picking empty commit ok 13 - correct authorship when committing empty pick ok 14 - correct advice upon rewording empty commit ok 15 - correct advice upon editing empty commit ok 16 - correct advice upon cherry-picking an empty commit during a rebase ok 17 - correct advice upon multi cherry-pick picking an empty commit during a rebase ok 18 - fixup that empties commit fails ok 19 - squash that empties commit fails ok 20 - $EDITOR and friends are unchanged # passed all 20 test(s) 1..20 *** t3405-rebase-malformed.sh *** ok 1 - setup ok 2 - rebase --keep-empty ok 3 - rebase -i with empty todo list ok 1 - setup ok 2 - rebase commit with multi-line subject ok 4 - rebase -i with the exec command ok 3 - rebase commit with diff in message ok 5 - rebase -i with the exec command runs from tree root ok 4 - rebase -m commit with empty message ok 6 - rebase -i with exec allows git commands in subdirs ok 5 - rebase -i commit with empty message # passed all 5 test(s) 1..5 *** t3406-rebase-message.sh *** ok 7 - rebase -i sets work tree properly ok 8 - rebase -i with the exec command checks tree cleanness ok 9 - cherry-pick works with rebase --exec ok 10 - rebase -x with empty command fails ok 11 - rebase -x with newline in command fails ok 12 - rebase -i with exec of inexistent command ok 13 - implicit interactive rebase does not invoke sequence editor ok 14 - no changes are a nop ok 15 - test the [branch] option ok 1 - setup ok 2 - rebase -m ok 16 - test --onto ok 3 - rebase against main twice ok 4 - rebase against main twice with --force ok 5 - rebase against main twice from another branch ok 17 - rebase on top of a non-conflicting commit ok 18 - reflog for the branch shows state before rebase ok 19 - reflog for the branch shows correct finish message ok 6 - rebase fast-forward to main ok 7 - rebase --stat ok 20 - exchange two commits ok 8 - rebase w/config rebase.stat ok 9 - rebase -n overrides config rebase.stat config ok 10 - rebase --onto outputs the invalid ref ok 11 - error out early upon -C or --whitespace= ok 21 - stop on conflicting pick ok 22 - show conflicted patch ok 23 - abort ok 24 - abort with error when new base cannot be checked out ok 12 - rebase --merge reflog ok 25 - retain authorship ok 13 - rebase --merge fast-forward reflog ok 14 - rebase --merge --skip reflog ok 26 - retain authorship w/ conflicts ok 15 - rebase --merge --abort reflog ok 27 - squash ok 28 - retain authorship when squashing ok 16 - rebase --merge --abort detached HEAD reflog ok 29 - --continue tries to commit ok 17 - rebase --merge reflog GIT_REFLOG_ACTION=my-reflog-action ok 30 - verbose flag is heeded, even after --continue ok 18 - rebase --merge fast-forward reflog GIT_REFLOG_ACTION=my-reflog-action ok 31 - multi-squash only fires up editor once ok 19 - rebase --merge --skip reflog GIT_REFLOG_ACTION=my-reflog-action ok 32 - multi-fixup does not fire up editor ok 20 - rebase --merge --abort reflog GIT_REFLOG_ACTION=my-reflog-action ok 21 - rebase --merge --abort detached HEAD reflog GIT_REFLOG_ACTION=my-reflog-action ok 33 - commit message used after conflict ok 22 - rebase --apply reflog ok 23 - rebase --apply fast-forward reflog ok 34 - commit message retained after conflict ok 24 - rebase --apply --skip reflog ok 35 - squash and fixup generate correct log messages ok 25 - rebase --apply --abort reflog ok 36 - squash ignores comments ok 26 - rebase --apply --abort detached HEAD reflog ok 37 - squash ignores blank lines ok 27 - rebase --apply reflog GIT_REFLOG_ACTION=my-reflog-action ok 38 - squash works as expected ok 28 - rebase --apply fast-forward reflog GIT_REFLOG_ACTION=my-reflog-action ok 39 - interrupted squash works as expected ok 29 - rebase --apply --skip reflog GIT_REFLOG_ACTION=my-reflog-action ok 30 - rebase --apply --abort reflog GIT_REFLOG_ACTION=my-reflog-action ok 40 - interrupted squash works as expected (case 2) ok 31 - rebase --apply --abort detached HEAD reflog GIT_REFLOG_ACTION=my-reflog-action ok 41 - --continue tries to commit, even for "edit" ok 32 - rebase -i onto unrelated history # passed all 32 test(s) 1..32 *** t3407-rebase-abort.sh *** ok 42 - aborted --continue does not squash commits after "edit" ok 43 - auto-amend only edited commits after "edit" ok 44 - clean error after failed "exec" ok 45 - rebase a detached HEAD ok 1 - setup ok 46 - rebase a commit violating pre-commit ok 2 - rebase --apply --abort ok 47 - rebase with a file named HEAD in worktree ok 3 - pre rebase --apply head is marked as reachable ok 48 - do "noop" when there is nothing to cherry-pick ok 4 - rebase --apply --abort after --skip ok 49 - submodule rebase setup ok 50 - submodule rebase -i ok 5 - rebase --apply --abort after --continue ok 51 - submodule conflict setup ok 6 - rebase --apply --abort when checking out a tag ok 52 - rebase -i continue with only submodule staged ok 7 - rebase --apply --abort does not update reflog ok 53 - rebase -i continue with unstaged submodule ok 8 - rebase --abort can not be used with other options ok 54 - avoid unnecessary reset ok 9 - rebase --apply --quit ok 10 - rebase --merge --abort ok 11 - pre rebase --merge head is marked as reachable ok 12 - rebase --merge --abort after --skip ok 55 - reword ok 13 - rebase --merge --abort after --continue ok 56 - reword fast-forwarded empty commit ok 14 - rebase --merge --abort when checking out a tag ok 15 - rebase --merge --abort does not update reflog ok 16 - rebase --abort can not be used with other options ok 57 - no uncommitted changes when rewording and the todo list is reloaded ok 17 - rebase --merge --quit # passed all 17 test(s) 1..17 *** t3408-rebase-multi-line.sh *** ok 58 - rebase -i can copy notes ok 59 - rebase -i can copy notes over a fixup ok 60 - rebase while detaching HEAD ok 1 - setup ok 2 - rebase # passed all 2 test(s) 1..2 *** t3409-rebase-environ.sh *** ok 61 - always cherry-pick with --no-ff ok 62 - set up commits with funny messages ok 63 - rebase-i history with funny messages ok 1 - setup ok 2 - rebase --exec does not muck with GIT_DIR ok 64 - prepare for rebase -i --exec ok 3 - rebase --exec does not muck with GIT_WORK_TREE # passed all 3 test(s) 1..3 *** t3412-rebase-root.sh *** ok 65 - running "git rebase -i --exec git show HEAD" ok 66 - running "git rebase --exec git show HEAD -i" ok 1 - prepare repository ok 2 - rebase --root fails with too many args ok 3 - setup pre-rebase hook ok 67 - running "git rebase -ix git show HEAD" ok 4 - rebase --root --onto ok 5 - pre-rebase got correct input (1) ok 6 - rebase --root --onto ok 7 - pre-rebase got correct input (2) ok 8 - rebase -i --root --onto ok 9 - pre-rebase got correct input (3) ok 68 - rebase -ix with several ok 10 - rebase -i --root --onto ok 11 - pre-rebase got correct input (4) ok 12 - set up merge history ok 69 - rebase -ix with several instances of --exec ok 13 - set up second root and merge ok 14 - setup pre-rebase hook that fails ok 15 - pre-rebase hook stops rebase ok 16 - pre-rebase hook stops rebase -i ok 17 - remove pre-rebase hook ok 18 - set up a conflict ok 19 - rebase --root with conflict (first part) ok 20 - fix the conflict ok 70 - rebase -ix with --autosquash ok 21 - rebase --root with conflict (second part) ok 71 - rebase --exec works without -i ok 22 - rebase -i --root with conflict (first part) ok 23 - fix the conflict ok 72 - rebase -i --exec without ok 24 - rebase -i --root with conflict (second part) ok 25 - fix the conflict # passed all 25 test(s) 1..25 *** t3413-rebase-hook.sh *** ok 73 - rebase -i --root re-order and drop commits ok 74 - rebase -i --root retain root commit author and message ok 1 - setup ok 75 - rebase -i --root temporary sentinel commit ok 2 - rebase ok 76 - rebase -i --root fixup root commit ok 3 - rebase -i ok 4 - setup pre-rebase hook ok 5 - pre-rebase hook gets correct input (1) ok 77 - rebase -i --root reword original root commit ok 6 - pre-rebase hook gets correct input (2) ok 7 - pre-rebase hook gets correct input (3) ok 78 - rebase -i --root reword new root commit ok 8 - pre-rebase hook gets correct input (4) ok 9 - pre-rebase hook gets correct input (5) ok 10 - pre-rebase hook gets correct input (6) ok 79 - rebase -i --root when root has untracked file conflict ok 11 - setup pre-rebase hook that fails ok 12 - pre-rebase hook stops rebase (1) ok 13 - pre-rebase hook stops rebase (2) ok 80 - rebase -i --root reword root when root has untracked file conflict ok 14 - rebase --no-verify overrides pre-rebase (1) ok 15 - rebase --no-verify overrides pre-rebase (2) # passed all 15 test(s) 1..15 *** t3415-rebase-autosquash.sh *** ok 81 - rebase --edit-todo does not work on non-interactive rebase ok 82 - rebase --edit-todo can be used to modify todo ok 83 - rebase -i produces readable reflog ok 1 - setup ok 84 - rebase -i respects core.commentchar ok 85 - rebase -i respects core.commentchar=auto ok 2 - auto fixup (option) ok 86 - rebase -i, with and specified as :/quuxery ok 87 - rebase -i with --strategy and -X ok 88 - interrupted rebase -i with --strategy and -X ok 3 - auto fixup (config true) ok 89 - rebase -i error on commits with \ in message ok 90 - short commit ID setup ok 4 - auto fixup (config false) ok 91 - short commit ID collide ok 92 - respect core.abbrev ok 93 - todo count ok 5 - auto squash (option) ok 94 - rebase -i commits that overwrite untracked files (pick) ok 95 - rebase -i commits that overwrite untracked files (squash) ok 6 - auto squash (config true) ok 96 - rebase -i commits that overwrite untracked files (no ff) ok 97 - rebase --continue removes CHERRY_PICK_HEAD ok 7 - auto squash (config false) ok 98 - drop ok 8 - misspelled auto squash ok 99 - rebase -i respects rebase.missingCommitsCheck = ignore ok 9 - auto squash that matches 2 commits ok 100 - rebase -i respects rebase.missingCommitsCheck = warn ok 10 - auto squash that matches a commit after the squash ok 101 - rebase -i respects rebase.missingCommitsCheck = error ok 11 - auto squash that matches a sha1 ok 102 - rebase --edit-todo respects rebase.missingCommitsCheck = ignore ok 12 - auto squash that matches longer sha1 ok 13 - auto squash of fixup commit that matches branch name which points back to fixup commit ok 14 - use commit --fixup ok 103 - rebase --edit-todo respects rebase.missingCommitsCheck = warn ok 15 - use commit --squash ok 16 - fixup! fixup! ok 104 - rebase --edit-todo respects rebase.missingCommitsCheck = error ok 105 - rebase.missingCommitsCheck = error after resolving conflicts ok 17 - fixup! squash! ok 106 - rebase.missingCommitsCheck = error when editing for a second time ok 18 - squash! squash! ok 107 - respects rebase.abbreviateCommands with fixup, squash and exec ok 19 - squash! fixup! ok 108 - static check of bad command ok 20 - autosquash with custom inst format ok 109 - the first command cannot be a fixup ok 21 - autosquash with empty custom instructionFormat ok 110 - tabs and spaces are accepted in the todolist ok 22 - autosquash with multiple empty patches ok 111 - static check of bad SHA-1 ok 23 - extra spaces after fixup! ok 112 - editor saves as CR/LF ok 24 - wrapped original subject ok 113 - rebase -i --gpg-sign= ok 114 - rebase -i --gpg-sign= overrides commit.gpgSign ok 25 - abort last squash ok 115 - valid author header after --root swap ok 116 - valid author header when author contains single quote ok 26 - fixup a fixup ok 27 - fixup does not clean up commit message # passed all 27 test(s) 1..27 *** t3416-rebase-onto-threedots.sh *** ok 117 - post-commit hook is called ok 118 - correct error message for partial commit after empty pick ok 119 - correct error message for commit --amend after empty pick ok 120 - todo has correct onto hash ok 121 - ORIG_HEAD is updated correctly ok 1 - setup ok 122 - --update-refs adds label and update-ref commands ok 2 - rebase --onto main...topic ok 3 - rebase --onto main... ok 4 - rebase --onto main...side ok 5 - rebase -i --onto main...topic ok 123 - --update-refs adds commands with --rebase-merges ok 6 - rebase -i --onto main... ok 7 - rebase --onto main...side requires a single merge-base ok 8 - rebase --keep-base --onto incompatible ok 9 - rebase --keep-base --root incompatible ok 10 - rebase --keep-base main from topic ok 124 - --update-refs updates refs correctly ok 11 - rebase --keep-base main topic from main ok 12 - rebase --keep-base main from side ok 13 - rebase -i --keep-base main from topic ok 14 - rebase -i --keep-base main topic from main ok 15 - rebase --keep-base requires a single merge base ok 16 - rebase --keep-base keeps cherry picks ok 17 - rebase --keep-base --no-reapply-cherry-picks ok 18 - $EDITOR and friends are unchanged # passed all 18 test(s) 1..18 ok 125 - respect user edits to update-ref steps *** t3417-rebase-whitespace-fix.sh *** ok 126 - --update-refs: all update-ref lines removed ok 1 - blank line at end of file; extend at end of file ok 2 - two blanks line at end of file; extend at end of file ok 127 - --update-refs: all update-ref lines removed, then some re-added ok 3 - same, but do not remove trailing spaces ok 4 - at beginning of file # passed all 4 test(s) 1..4 *** t3418-rebase-continue.sh *** ok 128 - --update-refs: --edit-todo with no update-ref lines ok 129 - --update-refs: check failed ref update ok 1 - setup ok 130 - bad labels and refs rejected when parsing todo list ok 2 - merge based rebase --continue with works with touched file ok 3 - merge based rebase --continue removes .git/MERGE_MSG ok 131 - non-merge commands reject merge commits ok 132 - $EDITOR and friends are unchanged # passed all 132 test(s) 1..132 *** t3419-rebase-patch-id.sh *** ok 4 - apply based rebase --continue works with touched file ok 5 - rebase --continue can not be used with other options ok 1 - setup ok 6 - rebase --continue remembers merge strategy and options ok 7 - rebase -r passes merge strategy options correctly ok 2 - setup: 500 lines ok 3 - detect upstream patch ok 4 - detect upstream patch binary ok 5 - detect upstream patch modechange ok 6 - do not drop patch ok 7 - do not drop patch binary ok 8 - do not drop patch modechange # passed all 8 test(s) 1..8 *** t3420-rebase-autostash.sh *** ok 8 - --skip after failed fixup cleans commit message ok 9 - setup rerere database ok 1 - setup ok 2 - rebase: fast-forward rebase ok 10 - rebase --apply --continue remembers --rerere-autoupdate ok 3 - rebase: noop rebase ok 4 - rebase --apply: restore autostash when pre-rebase hook fails ok 11 - rebase --apply --continue honors rerere.autoUpdate ok 5 - rebase --apply: restore autostash when checkout onto fails ok 6 - rebase --apply: restore autostash when branch checkout fails ok 12 - rebase --apply --continue remembers --no-rerere-autoupdate ok 7 - rebase --apply: dirty worktree, --no-autostash ok 13 - rebase -m --continue remembers --rerere-autoupdate ok 8 - rebase --apply: dirty worktree, non-conflicting rebase ok 9 - rebase --apply --autostash: check output ok 10 - rebase --apply: dirty index, non-conflicting rebase ok 14 - rebase -m --continue honors rerere.autoUpdate ok 11 - rebase --apply: conflicting rebase ok 15 - rebase -m --continue remembers --no-rerere-autoupdate ok 12 - rebase --apply: --continue ok 16 - rebase -i --continue remembers --rerere-autoupdate ok 13 - rebase --apply: --skip ok 17 - rebase -i --continue honors rerere.autoUpdate ok 14 - rebase --apply: --abort ok 18 - rebase -i --continue remembers --no-rerere-autoupdate ok 19 - the todo command "break" works ok 15 - rebase --apply: --quit ok 20 - patch file is removed before break command ok 21 - --reschedule-failed-exec ok 16 - rebase --apply: non-conflicting rebase, conflicting stash ok 17 - rebase --apply: check output with conflicting stash ok 22 - rebase.rescheduleFailedExec only affects `rebase -i` ok 18 - rebase --merge: restore autostash when pre-rebase hook fails ok 23 - rebase.rescheduleFailedExec=true & --no-reschedule-failed-exec ok 19 - rebase --merge: restore autostash when checkout onto fails ok 24 - new rebase.rescheduleFailedExec=true setting in an ongoing rebase is ignored ok 20 - rebase --merge: restore autostash when branch checkout fails ok 25 - there is no --no-reschedule-failed-exec in an ongoing rebase ok 21 - rebase --merge: dirty worktree, --no-autostash ok 26 - rebase --apply sets ORIG_HEAD correctly ok 22 - rebase --merge: dirty worktree, non-conflicting rebase ok 23 - rebase --merge --autostash: check output ok 27 - rebase --apply sets ORIG_HEAD correctly ok 28 - rebase --merge sets ORIG_HEAD correctly ok 24 - rebase --merge: dirty index, non-conflicting rebase ok 29 - rebase --merge sets ORIG_HEAD correctly # passed all 29 test(s) 1..29 *** t3421-rebase-topology-linear.sh *** ok 25 - rebase --merge: conflicting rebase ok 26 - rebase --merge: --continue ok 27 - rebase --merge: --skip ok 1 - setup ok 2 - simple rebase --apply ok 28 - rebase --merge: --abort ok 3 - simple rebase -m ok 4 - simple rebase -i ok 29 - rebase --merge: --quit ok 5 - setup branches and remote tracking ok 6 - rebase --apply is no-op if upstream is an ancestor ok 30 - rebase --merge: non-conflicting rebase, conflicting stash ok 7 - rebase -m is no-op if upstream is an ancestor ok 31 - rebase --merge: check output with conflicting stash ok 8 - rebase -i is no-op if upstream is an ancestor ok 32 - rebase --interactive: restore autostash when pre-rebase hook fails ok 9 - rebase --apply -f rewrites even if upstream is an ancestor ok 33 - rebase --interactive: restore autostash when checkout onto fails ok 34 - rebase --interactive: restore autostash when branch checkout fails ok 10 - rebase --fork-point -f rewrites even if upstream is an ancestor ok 35 - rebase --interactive: dirty worktree, --no-autostash ok 11 - rebase -m -f rewrites even if upstream is an ancestor ok 12 - rebase -i -f rewrites even if upstream is an ancestor ok 36 - rebase --interactive: dirty worktree, non-conflicting rebase ok 37 - rebase --interactive --autostash: check output ok 13 - rebase --apply -f rewrites even if remote upstream is an ancestor ok 38 - rebase --interactive: dirty index, non-conflicting rebase ok 14 - rebase --fork-point -f rewrites even if remote upstream is an ancestor ok 39 - rebase --interactive: conflicting rebase ok 15 - rebase -m -f rewrites even if remote upstream is an ancestor ok 16 - rebase -i -f rewrites even if remote upstream is an ancestor ok 17 - rebase --apply fast-forwards from ancestor of upstream ok 40 - rebase --interactive: --continue ok 18 - rebase --fork-point fast-forwards from ancestor of upstream ok 19 - rebase -m fast-forwards from ancestor of upstream ok 20 - rebase -i fast-forwards from ancestor of upstream ok 41 - rebase --interactive: --skip ok 42 - rebase --interactive: --abort ok 21 - setup of linear history for range selection tests ok 43 - rebase --interactive: --quit ok 22 - rebase --apply drops patches in upstream ok 23 - rebase -m drops patches in upstream ok 44 - rebase --interactive: non-conflicting rebase, conflicting stash ok 24 - rebase -i drops patches in upstream ok 45 - rebase --interactive: check output with conflicting stash ok 46 - abort rebase -i with --autostash ok 25 - rebase --apply can drop last patch if in upstream ok 47 - restore autostash on editor failure ok 26 - rebase -m can drop last patch if in upstream ok 27 - rebase -i can drop last patch if in upstream ok 48 - autostash is saved on editor failure with conflict ok 28 - rebase --apply --onto drops patches in upstream ok 29 - rebase -m --onto drops patches in upstream ok 49 - autostash with dirty submodules ok 30 - rebase -i --onto drops patches in upstream ok 50 - branch is left alone when possible ok 31 - rebase --apply --onto does not drop patches in onto ok 51 - never change active branch ok 32 - rebase -m --onto does not drop patches in onto ok 52 - autostash commit is marked as reachable # passed all 52 test(s) 1..52 *** t3422-rebase-incompatible-options.sh *** ok 33 - rebase -i --onto does not drop patches in onto ok 34 - setup of linear history for empty commit tests not ok 35 - rebase --apply keeps begin-empty commits # TODO known breakage ok 1 - setup ok 2 - --whitespace=fix incompatible with --merge ok 3 - --whitespace=fix incompatible with --strategy=ours ok 36 - rebase -m keeps begin-empty commits ok 4 - --whitespace=fix incompatible with --strategy-option=ours ok 5 - --whitespace=fix incompatible with --autosquash ok 6 - --whitespace=fix incompatible with --interactive ok 7 - --whitespace=fix incompatible with --exec ok 8 - --whitespace=fix incompatible with --keep-empty ok 9 - --whitespace=fix incompatible with --empty=... ok 37 - rebase -i keeps begin-empty commits ok 10 - --whitespace=fix incompatible with --no-reapply-cherry-picks ok 11 - --whitespace=fix incompatible with --reapply-cherry-picks ok 12 - --whitespace=fix incompatible with --rebase-merges ok 13 - --whitespace=fix incompatible with --update-refs ok 14 - --whitespace=fix incompatible with --root without --onto ok 38 - rebase -m --no-keep-empty drops begin-empty commits ok 15 - --whitespace=fix incompatible with rebase.rebaseMerges ok 16 - --whitespace=fix incompatible with rebase.updateRefs ok 39 - rebase -i --no-keep-empty drops begin-empty commits ok 17 - --whitespace=fix okay with overridden rebase.rebaseMerges ok 18 - --whitespace=fix okay with overridden rebase.updateRefs ok 19 - -C4 incompatible with --merge ok 40 - rebase -m --keep-empty keeps empty even if already in upstream ok 20 - -C4 incompatible with --strategy=ours ok 21 - -C4 incompatible with --strategy-option=ours ok 22 - -C4 incompatible with --autosquash ok 23 - -C4 incompatible with --interactive ok 24 - -C4 incompatible with --exec ok 41 - rebase -i --keep-empty keeps empty even if already in upstream ok 25 - -C4 incompatible with --keep-empty ok 26 - -C4 incompatible with --empty=... ok 27 - -C4 incompatible with --no-reapply-cherry-picks ok 28 - -C4 incompatible with --reapply-cherry-picks ok 29 - -C4 incompatible with --rebase-merges ok 30 - -C4 incompatible with --update-refs ok 31 - -C4 incompatible with --root without --onto ok 42 - rebase --rebase-merges --keep-empty keeps empty even if already in upstream ok 32 - -C4 incompatible with rebase.rebaseMerges ok 33 - -C4 incompatible with rebase.updateRefs ok 34 - -C4 okay with overridden rebase.rebaseMerges ok 43 - setup of linear history for test involving root ok 35 - -C4 okay with overridden rebase.updateRefs ok 36 - --apply incompatible with --merge ok 37 - --apply incompatible with --strategy=ours ok 38 - --apply incompatible with --strategy-option=ours ok 39 - --apply incompatible with --autosquash ok 40 - --apply incompatible with --interactive ok 41 - --apply incompatible with --exec ok 44 - rebase --apply --onto --root ok 42 - --apply incompatible with --keep-empty ok 43 - --apply incompatible with --empty=... ok 44 - --apply incompatible with --no-reapply-cherry-picks ok 45 - --apply incompatible with --reapply-cherry-picks ok 46 - --apply incompatible with --rebase-merges ok 45 - rebase -m --onto --root ok 47 - --apply incompatible with --update-refs ok 48 - --apply incompatible with --root without --onto ok 49 - --apply incompatible with rebase.rebaseMerges ok 50 - --apply incompatible with rebase.updateRefs ok 46 - rebase -i --onto --root ok 51 - --apply okay with overridden rebase.rebaseMerges ok 52 - --apply okay with overridden rebase.updateRefs ok 47 - rebase --apply without --onto --root with disjoint history # passed all 52 test(s) 1..52 *** t3423-rebase-reword.sh *** ok 48 - rebase -m without --onto --root with disjoint history ok 49 - rebase -i without --onto --root with disjoint history ok 50 - rebase --apply --onto --root drops patch in onto ok 1 - setup ok 51 - rebase -m --onto --root drops patch in onto ok 2 - reword without issues functions as intended ok 52 - rebase -i --onto --root drops patch in onto ok 53 - rebase --apply --onto --root with merge-base does not go to root ok 3 - reword after a conflict preserves commit # passed all 3 test(s) 1..3 *** t3424-rebase-empty.sh *** ok 54 - rebase -m --onto --root with merge-base does not go to root ok 55 - rebase -i --onto --root with merge-base does not go to root ok 56 - rebase --apply without --onto --root with disjoint history drops patch in onto ok 57 - rebase -m without --onto --root with disjoint history drops patch in onto ok 1 - setup test repository ok 58 - rebase -i without --onto --root with disjoint history drops patch in onto not ok 2 - rebase (apply-backend) # TODO known breakage ok 3 - rebase --merge --empty=drop ok 59 - rebase --root on linear history is a no-op ok 4 - rebase --merge uses default of --empty=drop ok 60 - rebase -m --root on linear history is a no-op ok 5 - rebase --merge --empty=keep ok 61 - rebase -i --root on linear history is a no-op ok 6 - rebase --merge --empty=stop ok 62 - rebase -f --root on linear history causes re-write ok 7 - rebase --merge --empty=ask ok 63 - rebase -m -f --root on linear history causes re-write ok 8 - rebase --interactive --empty=drop ok 64 - rebase -i -f --root on linear history causes re-write # still have 1 known breakage(s) # passed all remaining 63 test(s) 1..64 ok 9 - rebase --interactive --empty=keep *** t3425-rebase-topology-merges.sh *** ok 10 - rebase --interactive --empty=stop ok 11 - rebase --interactive uses default of --empty=stop ok 12 - rebase --merge --empty=drop --keep-empty ok 13 - rebase --merge --empty=drop --no-keep-empty ok 14 - rebase --merge --empty=keep --keep-empty ok 15 - rebase --merge --empty=keep --no-keep-empty ok 16 - rebase --merge does not leave state laying around ok 17 - rebase --exec --empty=drop ok 18 - rebase --exec --empty=keep ok 19 - rebase --exec uses default of --empty=keep ok 1 - setup of non-linear-history ok 20 - rebase --exec --empty=stop # still have 1 known breakage(s) # passed all remaining 19 test(s) 1..20 *** t3426-rebase-submodule.sh *** ok 2 - rebase --apply after merge from upstream ok 3 - rebase -m after merge from upstream ok 4 - rebase -i after merge from upstream ok 5 - rebase --apply of non-linear history is linearized in place ok 6 - rebase -m of non-linear history is linearized in place ok 7 - rebase -i of non-linear history is linearized in place ok 8 - rebase --apply of non-linear history is linearized upstream ok 9 - rebase -m of non-linear history is linearized upstream ok 10 - rebase -i of non-linear history is linearized upstream ok 11 - rebase --apply of non-linear history with merges after upstream merge is linearized ok 12 - rebase -m of non-linear history with merges after upstream merge is linearized ok 13 - rebase -i of non-linear history with merges after upstream merge is linearized # passed all 13 test(s) 1..13 *** t3427-rebase-subtree.sh *** ok 1 - setup ok 2 - Rebase -Xsubtree --empty=ask --onto commit ok 3 - Rebase -Xsubtree --empty=ask --rebase-merges --onto commit # passed all 3 test(s) 1..3 *** t3428-rebase-signoff.sh *** ok 1 - git_rebase: added submodule creates empty directory ok 1 - setup ok 2 - rebase --apply --signoff adds a sign-off line ok 3 - rebase --no-signoff does not add a sign-off line ok 4 - rebase --exec --signoff adds a sign-off line ok 5 - rebase --root --signoff adds a sign-off line ok 6 - rebase -m --signoff adds a sign-off line ok 2 - git_rebase: added submodule leaves existing empty directory alone ok 7 - rebase -i --signoff adds a sign-off line when editing commit # passed all 7 test(s) 1..7 *** t3429-rebase-edit-todo.sh *** ok 1 - setup ok 2 - rebase exec modifies rebase-todo ok 3 - rebase exec with an empty list does not exec anything ok 4 - loose object cache vs re-reading todo list ok 3 - git_rebase: replace tracked file with submodule creates empty directory ok 5 - todo is re-read after reword and squash ok 6 - re-reading todo doesnt interfere with revert --edit ok 7 - re-reading todo doesnt interfere with cherry-pick --edit # passed all 7 test(s) 1..7 *** t3430-rebase-merges.sh *** ok 4 - git_rebase: replace directory with submodule ok 1 - setup ok 5 - git_rebase: removed submodule leaves submodule directory and its contents in place ok 2 - create completely different structure ok 3 - generate correct todo list ok 4 - `reset` refuses to overwrite untracked files ok 5 - `reset` rejects trees ok 6 - `reset` only looks for labels under refs/rewritten/ ok 7 - failed `merge -C` writes patch (may be rescheduled, too) ok 6 - git_rebase: removed submodule leaves submodule containing a .git directory alone ok 8 - failed `merge ` does not crash ok 9 - merge -c commits before rewording and reloads todo-list ok 10 - merge -c rewords when a strategy is given ok 7 - git_rebase: replace submodule with a directory must fail ok 11 - with a branch tip that was cherry-picked already ok 12 - --no-rebase-merges countermands --rebase-merges ok 13 - do not rebase cousins unless asked for ok 8 - git_rebase: replace submodule containing a .git directory with a directory must fail ok 14 - rebase.rebaseMerges=rebase-cousins is equivalent to --rebase-merges=rebase-cousins ok 15 - --no-rebase-merges overrides rebase.rebaseMerges=no-rebase-cousins ok 16 - --rebase-merges overrides rebase.rebaseMerges=rebase-cousins ok 17 - refs/rewritten/* is worktree-local not ok 9 - git_rebase: replace submodule with a file must fail # TODO known breakage ok 18 - --abort cleans up refs/rewritten ok 19 - --quit cleans up refs/rewritten ok 20 - post-rewrite hook and fixups work for merges not ok 10 - git_rebase: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 21 - refuse to merge ancestors of HEAD ok 22 - root commits ok 23 - a "merge" into a root commit is a fast-forward ok 11 - git_rebase: modified submodule does not update submodule work tree ok 24 - A root commit can be a cousin, treat it that way ok 25 - labels that are object IDs are rewritten ok 12 - git_rebase: modified submodule does not update submodule work tree to invalid commit ok 26 - octopus merges ok 13 - git_rebase: modified submodule does not update submodule work tree from invalid commit ok 27 - with --autosquash and --exec ok 14 - git_rebase: added submodule doesn't remove untracked unignored file with same name ok 28 - --continue after resolving conflicts after a merge ok 29 - --rebase-merges with strategies ok 30 - --rebase-merges with commit that can generate bad characters for filename ok 15 - git_rebase_interactive: added submodule creates empty directory ok 31 - --rebase-merges with message matched with onto label ok 32 - progress shows the correct total ok 16 - git_rebase_interactive: added submodule leaves existing empty directory alone ok 33 - truncate label names ok 34 - reword fast-forwarded empty merge commit # passed all 34 test(s) 1..34 *** t3431-rebase-fork-point.sh *** ok 17 - git_rebase_interactive: replace tracked file with submodule creates empty directory ok 1 - setup ok 2 - git rebase ok 3 - git rebase --onto D ok 4 - git rebase --keep-base ok 5 - git rebase --no-fork-point ok 18 - git_rebase_interactive: replace directory with submodule ok 6 - git rebase --no-fork-point --onto D ok 7 - git rebase --no-fork-point --keep-base ok 8 - git rebase --fork-point refs/heads/main ok 9 - git rebase --fork-point main ok 10 - git rebase --fork-point --onto D refs/heads/main ok 19 - git_rebase_interactive: removed submodule leaves submodule directory and its contents in place ok 11 - git rebase --fork-point --onto D main ok 12 - git rebase --fork-point --keep-base refs/heads/main ok 13 - git rebase --fork-point --keep-base main ok 14 - git rebase refs/heads/main ok 15 - git rebase main ok 20 - git_rebase_interactive: removed submodule leaves submodule containing a .git directory alone ok 16 - git rebase --onto D refs/heads/main ok 17 - git rebase --onto D main ok 18 - git rebase --keep-base refs/heads/main ok 19 - git rebase --keep-base main ok 20 - git rebase --fork-point with ambiguous refname ok 21 - --fork-point and --root both given ok 21 - git_rebase_interactive: replace submodule with a directory must fail ok 22 - rebase.forkPoint set to false ok 23 - rebase.forkPoint set to false and then to true ok 24 - rebase.forkPoint set to false and command line says --fork-point ok 25 - rebase.forkPoint set to true and command line says --no-fork-point ok 26 - rebase.forkPoint set to true and --root given # passed all 26 test(s) 1..26 ok 22 - git_rebase_interactive: replace submodule containing a .git directory with a directory must fail *** t3432-rebase-fast-forward.sh *** ok 1 - setup ok 2 - git rebase --apply with no changes is noop with same HEAD not ok 23 - git_rebase_interactive: replace submodule with a file must fail # TODO known breakage ok 3 - git rebase --apply --no-ff with no changes is work with same HEAD ok 4 - git rebase --merge with no changes is noop with same HEAD ok 5 - git rebase --merge --no-ff with no changes is work with same HEAD ok 6 - git rebase --merge (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 7 - git rebase --merge --no-ff (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 8 - git rebase --apply main with no changes is noop with same HEAD not ok 24 - git_rebase_interactive: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 9 - git rebase --apply --no-ff main with no changes is work with same HEAD ok 10 - git rebase --merge main with no changes is noop with same HEAD ok 11 - git rebase --merge --no-ff main with no changes is work with same HEAD ok 12 - git rebase --merge main (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 13 - git rebase --merge --no-ff main (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 14 - git rebase --apply --onto B B with no changes is noop with same HEAD ok 15 - git rebase --apply --no-ff --onto B B with no changes is work with diff HEAD ok 16 - git rebase --merge --onto B B with no changes is noop with same HEAD ok 25 - git_rebase_interactive: modified submodule does not update submodule work tree ok 17 - git rebase --merge --no-ff --onto B B with no changes is work with diff HEAD ok 18 - git rebase --merge --onto B B (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 19 - git rebase --merge --no-ff --onto B B (rebase.abbreviateCommands = true) with no changes is work with diff HEAD ok 20 - git rebase --apply --onto B... B with no changes is noop with same HEAD ok 21 - git rebase --apply --no-ff --onto B... B with no changes is work with diff HEAD ok 22 - git rebase --merge --onto B... B with no changes is noop with same HEAD ok 26 - git_rebase_interactive: modified submodule does not update submodule work tree to invalid commit ok 23 - git rebase --merge --no-ff --onto B... B with no changes is work with diff HEAD ok 24 - git rebase --merge --onto B... B (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 25 - git rebase --merge --no-ff --onto B... B (rebase.abbreviateCommands = true) with no changes is work with diff HEAD ok 26 - git rebase --apply --onto main... main with no changes is noop with same HEAD ok 27 - git rebase --apply --no-ff --onto main... main with no changes is work with same HEAD ok 28 - git rebase --merge --onto main... main with no changes is noop with same HEAD ok 29 - git rebase --merge --no-ff --onto main... main with no changes is work with same HEAD ok 27 - git_rebase_interactive: modified submodule does not update submodule work tree from invalid commit ok 30 - git rebase --merge --onto main... main (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 31 - git rebase --merge --no-ff --onto main... main (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 32 - git rebase --apply --keep-base main with no changes is noop with same HEAD ok 28 - git_rebase_interactive: added submodule doesn't remove untracked unignored file with same name ok 33 - git rebase --apply --no-ff --keep-base main with no changes is work with same HEAD ok 34 - git rebase --merge --keep-base main with no changes is noop with same HEAD ok 35 - git rebase --merge --no-ff --keep-base main with no changes is work with same HEAD ok 36 - git rebase --merge --keep-base main (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 37 - git rebase --merge --no-ff --keep-base main (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 29 - rebase interactive ignores modified submodules # still have 4 known breakage(s) # passed all remaining 25 test(s) 1..29 *** t3433-rebase-across-mode-change.sh *** ok 38 - git rebase --apply --keep-base with no changes is noop with same HEAD ok 39 - git rebase --apply --no-ff --keep-base with no changes is work with same HEAD ok 40 - git rebase --merge --keep-base with no changes is noop with same HEAD ok 41 - git rebase --merge --no-ff --keep-base with no changes is work with same HEAD ok 42 - git rebase --merge --keep-base (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 1 - setup ok 2 - rebase changes with the apply backend ok 43 - git rebase --merge --no-ff --keep-base (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 3 - rebase changes with the merge backend ok 44 - git rebase --apply --no-fork-point with no changes is noop with same HEAD ok 45 - git rebase --apply --no-ff --no-fork-point with no changes is work with same HEAD ok 46 - git rebase --merge --no-fork-point with no changes is noop with same HEAD ok 47 - git rebase --merge --no-ff --no-fork-point with no changes is work with same HEAD ok 48 - git rebase --merge --no-fork-point (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 49 - git rebase --merge --no-ff --no-fork-point (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 50 - git rebase --apply --keep-base --no-fork-point with no changes is noop with same HEAD ok 51 - git rebase --apply --no-ff --keep-base --no-fork-point with no changes is work with same HEAD ok 52 - git rebase --merge --keep-base --no-fork-point with no changes is noop with same HEAD ok 53 - git rebase --merge --no-ff --keep-base --no-fork-point with no changes is work with same HEAD ok 54 - git rebase --merge --keep-base --no-fork-point (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 55 - git rebase --merge --no-ff --keep-base --no-fork-point (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 56 - git rebase --apply --fork-point main with no changes is noop with same HEAD ok 57 - git rebase --apply --no-ff --fork-point main with no changes is work with same HEAD ok 58 - git rebase --merge --fork-point main with no changes is noop with same HEAD ok 59 - git rebase --merge --no-ff --fork-point main with no changes is work with same HEAD ok 60 - git rebase --merge --fork-point main (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 61 - git rebase --merge --no-ff --fork-point main (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 62 - git rebase --apply --fork-point --onto B B with no changes is noop with same HEAD ok 63 - git rebase --apply --no-ff --fork-point --onto B B with no changes is work with diff HEAD ok 64 - git rebase --merge --fork-point --onto B B with no changes is noop with same HEAD ok 65 - git rebase --merge --no-ff --fork-point --onto B B with no changes is work with diff HEAD ok 66 - git rebase --merge --fork-point --onto B B (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 67 - git rebase --merge --no-ff --fork-point --onto B B (rebase.abbreviateCommands = true) with no changes is work with diff HEAD ok 68 - git rebase --apply --fork-point --onto B... B with no changes is noop with same HEAD ok 69 - git rebase --apply --no-ff --fork-point --onto B... B with no changes is work with diff HEAD ok 70 - git rebase --merge --fork-point --onto B... B with no changes is noop with same HEAD ok 71 - git rebase --merge --no-ff --fork-point --onto B... B with no changes is work with diff HEAD ok 72 - git rebase --merge --fork-point --onto B... B (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 73 - git rebase --merge --no-ff --fork-point --onto B... B (rebase.abbreviateCommands = true) with no changes is work with diff HEAD ok 74 - git rebase --apply --fork-point --onto main... main with no changes is noop with same HEAD ok 75 - git rebase --apply --no-ff --fork-point --onto main... main with no changes is work with same HEAD ok 76 - git rebase --merge --fork-point --onto main... main with no changes is noop with same HEAD ok 77 - git rebase --merge --no-ff --fork-point --onto main... main with no changes is work with same HEAD ok 78 - git rebase --merge --fork-point --onto main... main (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 79 - git rebase --merge --no-ff --fork-point --onto main... main (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 80 - git rebase --apply --keep-base --keep-base main with no changes is noop with same HEAD ok 81 - git rebase --apply --no-ff --keep-base --keep-base main with no changes is work with same HEAD ok 82 - git rebase --merge --keep-base --keep-base main with no changes is noop with same HEAD ok 83 - git rebase --merge --no-ff --keep-base --keep-base main with no changes is work with same HEAD ok 84 - git rebase --merge --keep-base --keep-base main (rebase.abbreviateCommands = true) with no changes is noop with same HEAD ok 85 - git rebase --merge --no-ff --keep-base --keep-base main (rebase.abbreviateCommands = true) with no changes is work with same HEAD ok 86 - add work same to side ok 87 - git rebase --apply with our changes is noop with same HEAD ok 88 - git rebase --apply --no-ff with our changes is work with same HEAD ok 89 - git rebase --merge with our changes is noop with same HEAD ok 90 - git rebase --merge --no-ff with our changes is work with same HEAD ok 91 - git rebase --merge (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 92 - git rebase --merge --no-ff (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 93 - git rebase --apply main with our changes is noop with same HEAD ok 94 - git rebase --apply --no-ff main with our changes is work with same HEAD ok 95 - git rebase --merge main with our changes is noop with same HEAD ok 96 - git rebase --merge --no-ff main with our changes is work with same HEAD ok 97 - git rebase --merge main (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 98 - git rebase --merge --no-ff main (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 99 - git rebase --apply --onto B B with our changes is noop with same HEAD ok 100 - git rebase --apply --no-ff --onto B B with our changes is work with diff HEAD ok 101 - git rebase --merge --onto B B with our changes is noop with same HEAD ok 102 - git rebase --merge --no-ff --onto B B with our changes is work with diff HEAD ok 103 - git rebase --merge --onto B B (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 104 - git rebase --merge --no-ff --onto B B (rebase.abbreviateCommands = true) with our changes is work with diff HEAD ok 105 - git rebase --apply --onto B... B with our changes is noop with same HEAD ok 106 - git rebase --apply --no-ff --onto B... B with our changes is work with diff HEAD ok 107 - git rebase --merge --onto B... B with our changes is noop with same HEAD ok 108 - git rebase --merge --no-ff --onto B... B with our changes is work with diff HEAD ok 109 - git rebase --merge --onto B... B (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 110 - git rebase --merge --no-ff --onto B... B (rebase.abbreviateCommands = true) with our changes is work with diff HEAD ok 111 - git rebase --apply --onto main... main with our changes is noop with same HEAD ok 112 - git rebase --apply --no-ff --onto main... main with our changes is work with same HEAD ok 113 - git rebase --merge --onto main... main with our changes is noop with same HEAD ok 114 - git rebase --merge --no-ff --onto main... main with our changes is work with same HEAD ok 115 - git rebase --merge --onto main... main (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 116 - git rebase --merge --no-ff --onto main... main (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 117 - git rebase --apply --keep-base main with our changes is noop with same HEAD ok 118 - git rebase --apply --no-ff --keep-base main with our changes is work with same HEAD ok 119 - git rebase --merge --keep-base main with our changes is noop with same HEAD ok 120 - git rebase --merge --no-ff --keep-base main with our changes is work with same HEAD ok 121 - git rebase --merge --keep-base main (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 122 - git rebase --merge --no-ff --keep-base main (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 123 - git rebase --apply --keep-base with our changes is noop with same HEAD ok 124 - git rebase --apply --no-ff --keep-base with our changes is work with same HEAD ok 125 - git rebase --merge --keep-base with our changes is noop with same HEAD ok 126 - git rebase --merge --no-ff --keep-base with our changes is work with same HEAD ok 127 - git rebase --merge --keep-base (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 128 - git rebase --merge --no-ff --keep-base (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 129 - git rebase --apply --no-fork-point with our changes is noop with same HEAD ok 130 - git rebase --apply --no-ff --no-fork-point with our changes is work with same HEAD ok 131 - git rebase --merge --no-fork-point with our changes is noop with same HEAD ok 4 - rebase changes with the merge backend with a delay # passed all 4 test(s) 1..4 *** t3434-rebase-i18n.sh *** ok 132 - git rebase --merge --no-ff --no-fork-point with our changes is work with same HEAD ok 133 - git rebase --merge --no-fork-point (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 134 - git rebase --merge --no-ff --no-fork-point (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 135 - git rebase --apply --keep-base --no-fork-point with our changes is noop with same HEAD ok 1 - setup ok 136 - git rebase --apply --no-ff --keep-base --no-fork-point with our changes is work with same HEAD ok 137 - git rebase --merge --keep-base --no-fork-point with our changes is noop with same HEAD ok 2 - rebase --rebase-merges update encoding eucJP to UTF-8 ok 138 - git rebase --merge --no-ff --keep-base --no-fork-point with our changes is work with same HEAD ok 139 - git rebase --merge --keep-base --no-fork-point (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 3 - rebase --rebase-merges update encoding eucJP to ISO-2022-JP ok 140 - git rebase --merge --no-ff --keep-base --no-fork-point (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 141 - git rebase --apply --fork-point main with our changes is noop with same HEAD ok 4 - rebase --continue update from ISO-8859-1 to UTF-8 ok 142 - git rebase --apply --no-ff --fork-point main with our changes is work with same HEAD ok 5 - rebase --continue update from eucJP to UTF-8 ok 143 - git rebase --merge --fork-point main with our changes is noop with same HEAD ok 144 - git rebase --merge --no-ff --fork-point main with our changes is work with same HEAD ok 6 - rebase --continue update from eucJP to ISO-2022-JP # passed all 6 test(s) 1..6 *** t3435-rebase-gpg-sign.sh *** ok 145 - git rebase --merge --fork-point main (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 146 - git rebase --merge --no-ff --fork-point main (rebase.abbreviateCommands = true) with our changes is work with same HEAD 1..0 # SKIP skip all test rebase --[no-]gpg-sign, gpg not available *** t3436-rebase-more-options.sh *** ok 147 - git rebase --apply --fork-point --onto B B with our changes is noop with same HEAD ok 148 - git rebase --apply --no-ff --fork-point --onto B B with our changes is work with diff HEAD ok 149 - git rebase --merge --fork-point --onto B B with our changes is noop with same HEAD ok 150 - git rebase --merge --no-ff --fork-point --onto B B with our changes is work with diff HEAD ok 1 - setup ok 151 - git rebase --merge --fork-point --onto B B (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 2 - --ignore-whitespace works with apply backend ok 3 - --ignore-whitespace works with merge backend ok 152 - git rebase --merge --no-ff --fork-point --onto B B (rebase.abbreviateCommands = true) with our changes is work with diff HEAD ok 4 - --ignore-whitespace is remembered when continuing ok 153 - git rebase --apply --fork-point --onto B... B with our changes is noop with same HEAD ok 5 - --committer-date-is-author-date works with apply backend ok 6 - --committer-date-is-author-date works with merge backend ok 154 - git rebase --apply --no-ff --fork-point --onto B... B with our changes is work with diff HEAD ok 155 - git rebase --merge --fork-point --onto B... B with our changes is noop with same HEAD ok 7 - --committer-date-is-author-date works when rewording ok 156 - git rebase --merge --no-ff --fork-point --onto B... B with our changes is work with diff HEAD ok 8 - --committer-date-is-author-date works with rebase -r ok 157 - git rebase --merge --fork-point --onto B... B (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 158 - git rebase --merge --no-ff --fork-point --onto B... B (rebase.abbreviateCommands = true) with our changes is work with diff HEAD ok 159 - git rebase --apply --fork-point --onto main... main with our changes is noop with same HEAD ok 9 - --committer-date-is-author-date works when forking merge ok 160 - git rebase --apply --no-ff --fork-point --onto main... main with our changes is work with same HEAD ok 10 - --committer-date-is-author-date works when committing conflict resolution ok 161 - git rebase --merge --fork-point --onto main... main with our changes is noop with same HEAD ok 11 - --reset-author-date works with apply backend ok 12 - --reset-author-date works with merge backend ok 162 - git rebase --merge --no-ff --fork-point --onto main... main with our changes is work with same HEAD ok 13 - --reset-author-date works after conflict resolution ok 163 - git rebase --merge --fork-point --onto main... main (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 164 - git rebase --merge --no-ff --fork-point --onto main... main (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 14 - --reset-author-date works with rebase -r ok 165 - git rebase --apply --fork-point --keep-base main with our changes is noop with same HEAD ok 15 - --reset-author-date with --committer-date-is-author-date works ok 166 - git rebase --apply --no-ff --fork-point --keep-base main with our changes is work with same HEAD ok 16 - reset-author-date with --committer-date-is-author-date works when rewording ok 167 - git rebase --merge --fork-point --keep-base main with our changes is noop with same HEAD ok 17 - --reset-author-date --committer-date-is-author-date works when forking merge ok 168 - git rebase --merge --no-ff --fork-point --keep-base main with our changes is work with same HEAD ok 18 - --ignore-date is an alias for --reset-author-date ok 169 - git rebase --merge --fork-point --keep-base main (rebase.abbreviateCommands = true) with our changes is noop with same HEAD ok 19 - $EDITOR and friends are unchanged # passed all 19 test(s) 1..19 *** t3437-rebase-fixup-options.sh *** ok 170 - git rebase --merge --no-ff --fork-point --keep-base main (rebase.abbreviateCommands = true) with our changes is work with same HEAD ok 171 - add work same to upstream ok 172 - git rebase --apply --onto B B with our and their changes is noop with same HEAD ok 173 - git rebase --apply --no-ff --onto B B with our and their changes is work with diff HEAD ok 174 - git rebase --merge --onto B B with our and their changes is noop with same HEAD ok 175 - git rebase --merge --no-ff --onto B B with our and their changes is work with diff HEAD ok 1 - setup ok 176 - git rebase --merge --onto B B (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 2 - simple fixup -C works ok 177 - git rebase --merge --no-ff --onto B B (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD ok 3 - simple fixup -c works ok 178 - git rebase --apply --onto B... B with our and their changes is noop with same HEAD ok 4 - fixup -C removes amend! from message ok 179 - git rebase --apply --no-ff --onto B... B with our and their changes is work with diff HEAD ok 180 - git rebase --merge --onto B... B with our and their changes is noop with same HEAD ok 5 - fixup -C with conflicts gives correct message ok 181 - git rebase --merge --no-ff --onto B... B with our and their changes is work with diff HEAD ok 6 - conflicting fixup -C after fixup with custom comment string ok 182 - git rebase --merge --onto B... B (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 7 - skipping fixup -C after fixup gives correct message ok 183 - git rebase --merge --no-ff --onto B... B (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD ok 184 - git rebase --apply --onto main... main with our and their changes is noop with same HEAD ok 8 - sequence of fixup, fixup -C & squash --signoff works ok 185 - git rebase --apply --no-ff --onto main... main with our and their changes is work with diff HEAD ok 9 - first fixup -C commented out in sequence fixup fixup -C fixup -C ok 186 - git rebase --merge --onto main... main with our and their changes is noop with same HEAD ok 187 - git rebase --merge --no-ff --onto main... main with our and their changes is work with diff HEAD ok 10 - multiple fixup -c opens editor once ok 188 - git rebase --merge --onto main... main (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 11 - sequence squash, fixup & fixup -c gives combined message ok 189 - git rebase --merge --no-ff --onto main... main (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD ok 190 - git rebase --apply --keep-base main with our and their changes is noop with same HEAD ok 12 - fixup -C works upon --autosquash with amend! ok 191 - git rebase --apply --no-ff --keep-base main with our and their changes is work with diff HEAD ok 13 - fixup -[Cc] works # passed all 13 test(s) 1..13 *** t3438-rebase-broken-files.sh *** ok 192 - git rebase --merge --keep-base main with our and their changes is noop with same HEAD ok 193 - git rebase --merge --no-ff --keep-base main with our and their changes is work with diff HEAD ok 194 - git rebase --merge --keep-base main (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 1 - set up conflicting branches ok 195 - git rebase --merge --no-ff --keep-base main (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD ok 2 - detect missing GIT_AUTHOR_NAME ok 3 - detect missing GIT_AUTHOR_EMAIL ok 196 - git rebase --apply --keep-base with our and their changes is noop with same HEAD ok 4 - detect missing GIT_AUTHOR_DATE ok 197 - git rebase --apply --no-ff --keep-base with our and their changes is work with diff HEAD ok 5 - detect duplicate GIT_AUTHOR_NAME ok 198 - git rebase --merge --keep-base with our and their changes is noop with same HEAD ok 6 - detect duplicate GIT_AUTHOR_EMAIL ok 199 - git rebase --merge --no-ff --keep-base with our and their changes is work with diff HEAD ok 7 - detect duplicate GIT_AUTHOR_DATE ok 8 - unknown key in author-script ok 200 - git rebase --merge --keep-base (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 9 - unwritable rebased-patches does not leak # passed all 9 test(s) 1..9 *** t3500-cherry.sh *** ok 201 - git rebase --merge --no-ff --keep-base (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD not ok 202 - git rebase --apply --fork-point --onto B B with our and their changes is work with same HEAD # TODO known breakage ok 203 - git rebase --apply --no-ff --fork-point --onto B B with our and their changes is work with diff HEAD ok 1 - prepare repository with topic branch, and check cherry finds the 2 patches from there ok 2 - check that cherry with limit returns only the top patch not ok 204 - git rebase --merge --fork-point --onto B B with our and their changes is work with same HEAD # TODO known breakage ok 3 - cherry-pick one of the 2 patches, and check cherry recognized one and only one as new ok 205 - git rebase --merge --no-ff --fork-point --onto B B with our and their changes is work with diff HEAD not ok 206 - git rebase --merge --fork-point --onto B B (rebase.abbreviateCommands = true) with our and their changes is work with same HEAD # TODO known breakage ok 4 - cherry ignores whitespace # passed all 4 test(s) 1..4 *** t3501-revert-cherry-pick.sh *** ok 207 - git rebase --merge --no-ff --fork-point --onto B B (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD not ok 208 - git rebase --apply --fork-point --onto B... B with our and their changes is work with same HEAD # TODO known breakage ok 1 - setup ok 209 - git rebase --apply --no-ff --fork-point --onto B... B with our and their changes is work with diff HEAD ok 2 - cherry-pick --nonsense ok 3 - revert --nonsense not ok 210 - git rebase --merge --fork-point --onto B... B with our and their changes is work with same HEAD # TODO known breakage ok 4 - cherry-pick after renaming branch ok 5 - revert after renaming branch ok 211 - git rebase --merge --no-ff --fork-point --onto B... B with our and their changes is work with diff HEAD ok 6 - cherry-pick on stat-dirty working tree ok 7 - revert forbidden on dirty working tree not ok 212 - git rebase --merge --fork-point --onto B... B (rebase.abbreviateCommands = true) with our and their changes is work with same HEAD # TODO known breakage ok 8 - cherry-pick on unborn branch ok 9 - cherry-pick on unborn branch with --allow-empty ok 213 - git rebase --merge --no-ff --fork-point --onto B... B (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD ok 10 - cherry-pick "-" to pick from previous branch ok 214 - git rebase --apply --fork-point --onto main... main with our and their changes is noop with same HEAD ok 11 - cherry-pick "-" is meaningless without checkout ok 215 - git rebase --apply --no-ff --fork-point --onto main... main with our and their changes is work with diff HEAD ok 12 - cherry-pick "-" works with arguments ok 216 - git rebase --merge --fork-point --onto main... main with our and their changes is noop with same HEAD ok 13 - cherry-pick works with dirty renamed file ok 217 - git rebase --merge --no-ff --fork-point --onto main... main with our and their changes is work with diff HEAD ok 14 - advice from failed revert ok 218 - git rebase --merge --fork-point --onto main... main (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 15 - titles of fresh reverts ok 219 - git rebase --merge --no-ff --fork-point --onto main... main (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD ok 16 - title of legacy double revert ok 220 - git rebase --apply --fork-point --keep-base main with our and their changes is noop with same HEAD ok 17 - identification of reverted commit (default) ok 18 - identification of reverted commit (--reference) ok 221 - git rebase --apply --no-ff --fork-point --keep-base main with our and their changes is work with diff HEAD ok 19 - git revert --reference with core.commentChar ok 222 - git rebase --merge --fork-point --keep-base main with our and their changes is noop with same HEAD ok 20 - identification of reverted commit (revert.reference) ok 21 - cherry-pick is unaware of --reference (for now) # passed all 21 test(s) 1..21 *** t3502-cherry-pick-merge.sh *** ok 223 - git rebase --merge --no-ff --fork-point --keep-base main with our and their changes is work with diff HEAD ok 224 - git rebase --merge --fork-point --keep-base main (rebase.abbreviateCommands = true) with our and their changes is noop with same HEAD ok 225 - git rebase --merge --no-ff --fork-point --keep-base main (rebase.abbreviateCommands = true) with our and their changes is work with diff HEAD # still have 6 known breakage(s) # passed all remaining 219 test(s) 1..225 *** t3503-cherry-pick-root.sh *** ok 1 - setup ok 2 - cherry-pick -m complains of bogus numbers ok 3 - cherry-pick explicit first parent of a non-merge ok 4 - cherry pick a merge without -m should fail ok 5 - cherry pick a merge (1) ok 6 - cherry pick a merge (2) ok 1 - setup ok 7 - cherry pick a merge relative to nonexistent parent should fail ok 2 - cherry-pick a root commit ok 3 - revert a root commit ok 8 - revert explicit first parent of a non-merge ok 9 - revert a merge without -m should fail ok 4 - cherry-pick a root commit with an external strategy ok 5 - revert a root commit with an external strategy ok 10 - revert a merge (1) ok 11 - revert a merge (2) ok 6 - cherry-pick two root commits # passed all 6 test(s) 1..6 *** t3504-cherry-pick-rerere.sh *** ok 12 - revert a merge relative to nonexistent parent should fail # passed all 12 test(s) 1..12 *** t3505-cherry-pick-empty.sh *** ok 1 - setup ok 2 - cherry-pick an empty commit ok 3 - index lockfile was removed ok 1 - setup ok 4 - cherry-pick a commit with an empty message ok 5 - index lockfile was removed ok 2 - conflicting merge ok 6 - cherry-pick a commit with an empty message with --allow-empty-message ok 3 - fixup ok 7 - cherry pick an empty non-ff commit without --allow-empty ok 8 - cherry pick an empty non-ff commit with --allow-empty ok 9 - cherry pick with --keep-redundant-commits ok 4 - cherry-pick conflict with --rerere-autoupdate ok 10 - cherry-pick a commit that becomes no-op (prep) ok 11 - cherry-pick a no-op with neither --keep-redundant nor --empty ok 5 - cherry-pick conflict respects rerere.autoUpdate ok 12 - cherry-pick a no-op with --keep-redundant ok 13 - --keep-redundant-commits is incompatible with operations ok 6 - cherry-pick conflict with --no-rerere-autoupdate ok 14 - --empty is incompatible with operations ok 7 - cherry-pick --continue rejects --rerere-autoupdate ok 15 - cherry-pick a no-op with --empty=stop ok 16 - cherry-pick a no-op with --empty=drop ok 17 - cherry-pick a no-op with --empty=keep # passed all 17 test(s) 1..17 *** t3506-cherry-pick-ff.sh *** ok 8 - cherry-pick --rerere-autoupdate more than once ok 9 - cherry-pick conflict without rerere # passed all 9 test(s) 1..9 *** t3507-cherry-pick-conflict.sh *** ok 1 - setup ok 2 - cherry-pick using --ff fast forwards ok 3 - cherry-pick not using --ff does not fast forwards ok 1 - setup ok 4 - merge setup ok 2 - failed cherry-pick does not advance HEAD ok 5 - cherry-pick explicit first parent of a non-merge with --ff ok 6 - cherry pick a merge with --ff but without -m should fail ok 3 - advice from failed cherry-pick ok 7 - cherry pick with --ff a merge (1) ok 4 - advice from failed cherry-pick --no-commit ok 8 - cherry pick with --ff a merge (2) ok 5 - failed cherry-pick sets CHERRY_PICK_HEAD ok 9 - cherry pick a merge relative to nonexistent parent with --ff should fail ok 6 - successful cherry-pick does not set CHERRY_PICK_HEAD ok 10 - cherry pick a root commit with --ff ok 7 - cherry-pick --no-commit does not set CHERRY_PICK_HEAD ok 11 - cherry-pick --ff on unborn branch # passed all 11 test(s) 1..11 *** t3508-cherry-pick-many-commits.sh *** ok 8 - cherry-pick w/dirty tree does not set CHERRY_PICK_HEAD ok 9 - cherry-pick --strategy=resolve w/dirty tree does not set CHERRY_PICK_HEAD ok 10 - GIT_CHERRY_PICK_HELP suppresses CHERRY_PICK_HEAD ok 11 - git reset clears CHERRY_PICK_HEAD ok 12 - failed commit does not clear CHERRY_PICK_HEAD ok 1 - setup ok 13 - cancelled commit does not clear CHERRY_PICK_HEAD ok 2 - cherry-pick first..fourth works ok 14 - successful commit clears CHERRY_PICK_HEAD ok 15 - partial commit of cherry-pick fails ok 16 - commit --amend of cherry-pick fails ok 3 - cherry-pick three one two works ok 17 - successful final commit clears cherry-pick state ok 4 - cherry-pick three one two: fails ok 18 - reset after final pick clears cherry-pick state ok 5 - output to keep user entertained during multi-pick ok 19 - failed cherry-pick produces dirty index ok 20 - failed cherry-pick registers participants in index ok 21 - cherry-pick conflict, ensure commit.cleanup = scissors places scissors line properly ok 22 - cherry-pick conflict, ensure cleanup=scissors places scissors line properly ok 23 - failed cherry-pick describes conflict in work tree ok 6 - cherry-pick --strategy resolve first..fourth works ok 24 - diff3 -m style ok 25 - revert also handles conflicts sanely ok 26 - failed revert sets REVERT_HEAD ok 7 - output during multi-pick indicates merge strategy ok 27 - successful revert does not set REVERT_HEAD ok 8 - cherry-pick --ff first..fourth works ok 28 - revert --no-commit sets REVERT_HEAD ok 29 - revert w/dirty tree does not set REVERT_HEAD ok 9 - cherry-pick -n first..fourth works ok 30 - GIT_CHERRY_PICK_HELP does not suppress REVERT_HEAD ok 10 - revert first..fourth works ok 31 - git reset clears REVERT_HEAD ok 11 - revert ^first fourth works ok 32 - failed commit does not clear REVERT_HEAD ok 12 - revert fourth fourth~1 fourth~2 works ok 33 - successful final commit clears revert state ok 34 - reset after final pick clears revert state ok 13 - cherry-pick -3 fourth works ok 35 - revert conflict, diff3 -m style ok 36 - revert conflict, ensure commit.cleanup = scissors places scissors line properly ok 14 - cherry-pick --stdin works # passed all 14 test(s) 1..14 *** t3509-cherry-pick-merge-df.sh *** ok 37 - revert conflict, ensure cleanup=scissors places scissors line properly ok 38 - failed cherry-pick does not forget -s ok 39 - commit after failed cherry-pick does not add duplicated -s ok 1 - Initialize repository ok 40 - commit after failed cherry-pick adds -s at the right place ok 41 - commit --amend -s places the sign-off at the right place ok 2 - Setup rename across paths each below D/F conflicts ok 3 - Cherry-pick succeeds with rename across D/F conflicts ok 42 - cherry-pick preserves sparse-checkout ok 4 - Setup rename with file on one side matching directory name on other ok 43 - cherry-pick --continue remembers --keep-redundant-commits ok 44 - cherry-pick --continue remembers --allow-empty and --allow-empty-message # passed all 44 test(s) 1..44 *** t3510-cherry-pick-sequence.sh *** ok 5 - Cherry-pick succeeds with was_a_dir/file -> was_a_dir (resolve) ok 6 - Cherry-pick succeeds with was_a_dir/file -> was_a_dir (recursive) ok 7 - Setup rename with file on one side matching different dirname on other ok 8 - Cherry-pick with rename to different D/F conflict succeeds (resolve) ok 9 - Cherry-pick with rename to different D/F conflict succeeds (recursive) # passed all 9 test(s) 1..9 *** t3511-cherry-pick-x.sh *** ok 1 - setup ok 2 - cherry-pick persists data on failure ok 3 - cherry-pick mid-cherry-pick-sequence ok 4 - cherry-pick persists opts correctly ok 5 - cherry-pick persists --empty=stop correctly ok 6 - cherry-pick persists --empty=drop correctly ok 7 - cherry-pick persists --empty=keep correctly ok 1 - setup ok 2 - cherry-pick -x inserts blank line after one line subject ok 8 - revert persists opts correctly ok 3 - cherry-pick -s inserts blank line after one line subject ok 9 - cherry-pick cleans up sequencer state upon success ok 4 - cherry-pick -s inserts blank line after non-conforming footer ok 10 - cherry-pick --skip requires cherry-pick in progress ok 11 - revert --skip requires revert in progress ok 5 - cherry-pick -s recognizes trailer config ok 12 - cherry-pick --skip to skip commit ok 6 - cherry-pick -x inserts blank line when conforming footer not found ok 7 - cherry-pick -s inserts blank line when conforming footer not found ok 13 - revert --skip to skip commit ok 8 - cherry-pick -x -s inserts blank line when conforming footer not found ok 14 - skip "empty" commit ok 9 - cherry-pick -s adds sob when last sob doesnt match committer ok 10 - cherry-pick -x -s adds sob when last sob doesnt match committer ok 11 - cherry-pick -s refrains from adding duplicate trailing sob ok 15 - skip a commit and check if rest of sequence is correct ok 12 - cherry-pick -x -s adds sob even when trailing sob exists for committer ok 16 - check advice when we move HEAD by committing ok 13 - cherry-pick -x handles commits with no NL at end of message ok 17 - selectively advise --skip while launching another sequence ok 14 - cherry-pick -x handles commits with no footer and no NL at end of message ok 18 - allow skipping commit but not abort for a new history ok 15 - cherry-pick -s handles commits with no NL at end of message ok 16 - cherry-pick -s handles commits with no footer and no NL at end of message ok 19 - allow skipping stopped cherry-pick because of untracked file modifications ok 17 - cherry-pick -x treats "(cherry picked from..." line as part of footer ok 20 - --quit does not complain when no cherry-pick is in progress ok 21 - --abort requires cherry-pick in progress ok 18 - cherry-pick -s treats "(cherry picked from..." line as part of footer ok 22 - --quit cleans up sequencer state ok 19 - cherry-pick -x -s treats "(cherry picked from..." line as part of footer ok 23 - --quit keeps HEAD and conflicted index intact ok 20 - cherry-pick preserves commit message ok 21 - cherry-pick -x cleans commit message ok 24 - --abort to cancel multiple cherry-pick ok 22 - cherry-pick -x respects commit.cleanup # passed all 22 test(s) 1..22 *** t3512-cherry-pick-submodule.sh *** ok 25 - --abort to cancel single cherry-pick ok 26 - --abort does not unsafely change HEAD ok 27 - cherry-pick --abort to cancel multiple revert ok 28 - revert --abort works, too ok 29 - --abort to cancel single revert ok 30 - --abort keeps unrelated change, easy case ok 31 - --abort refuses to clobber unrelated change, harder case ok 32 - cherry-pick still writes sequencer state when one commit is left ok 33 - --abort after last commit in sequence ok 34 - cherry-pick does not implicitly stomp an existing operation ok 35 - --continue complains when no cherry-pick is in progress ok 36 - --continue complains when there are unresolved conflicts ok 37 - --continue of single cherry-pick ok 38 - --continue of single revert ok 39 - --continue after resolving conflicts ok 40 - --continue after resolving conflicts and committing ok 41 - --continue asks for help after resolving patch to nil ok 42 - follow advice and skip nil patch ok 43 - --continue respects opts ok 44 - --continue of single-pick respects -x ok 45 - --continue respects -x in first commit in multi-pick not ok 46 - --signoff is automatically propagated to resolved conflict # TODO known breakage not ok 47 - --signoff dropped for implicit commit of resolution, multi-pick case # TODO known breakage ok 1 - git_test_func: added submodule creates empty directory not ok 48 - sign-off needs to be reaffirmed after conflict resolution, single-pick case # TODO known breakage ok 49 - malformed instruction sheet 1 ok 50 - malformed instruction sheet 2 ok 51 - empty commit set (no commits to walk) ok 52 - empty commit set (culled during walk) ok 53 - malformed instruction sheet 3 ok 2 - git_test_func: added submodule leaves existing empty directory alone ok 54 - instruction sheet, fat-fingers version ok 55 - commit descriptions in insn sheet are optional # still have 3 known breakage(s) # passed all remaining 52 test(s) 1..55 *** t3513-revert-submodule.sh *** ok 3 - git_test_func: replace tracked file with submodule creates empty directory ok 4 - git_test_func: replace directory with submodule ok 5 - git_test_func: removed submodule leaves submodule directory and its contents in place ok 6 - git_test_func: removed submodule leaves submodule containing a .git directory alone ok 7 - git_test_func: replace submodule with a directory must fail ok 8 - git_test_func: replace submodule containing a .git directory with a directory must fail ok 1 - git_revert: added submodule creates empty directory not ok 9 - git_test_func: replace submodule with a file must fail # TODO known breakage not ok 10 - git_test_func: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 2 - git_revert: added submodule leaves existing empty directory alone ok 11 - git_test_func: modified submodule does not update submodule work tree ok 3 - git_revert: replace tracked file with submodule creates empty directory ok 12 - git_test_func: modified submodule does not update submodule work tree to invalid commit ok 4 - git_revert: replace directory with submodule ok 13 - git_test_func: modified submodule does not update submodule work tree from invalid commit ok 5 - git_revert: removed submodule leaves submodule directory and its contents in place ok 14 - git_test_func: added submodule doesn't remove untracked unignored file with same name ok 6 - git_revert: removed submodule leaves submodule containing a .git directory alone ok 15 - unrelated submodule/file conflict is ignored # still have 2 known breakage(s) # passed all remaining 13 test(s) 1..15 *** t3514-cherry-pick-revert-gpg.sh *** 1..0 # SKIP skip all test {cherry-pick,revert} --[no-]gpg-sign, gpg not available *** t3600-rm.sh *** ok 7 - git_revert: replace submodule with a directory must fail ok 1 - Initialize test directory ok 2 - add files with funny names ok 3 - Pre-check that foo exists and is in index before git rm foo ok 4 - Test that git rm foo succeeds ok 5 - Test that git rm --cached foo succeeds if the index matches the file ok 6 - Test that git rm --cached foo succeeds if the index matches the file ok 7 - Test that git rm --cached foo fails if the index matches neither the file nor HEAD ok 8 - Test that git rm --cached -f foo works in case where --cached only did not ok 9 - Post-check that foo exists but is not in index after git rm foo ok 10 - Pre-check that bar exists and is in index before "git rm bar" ok 11 - Test that "git rm bar" succeeds ok 12 - Post-check that bar does not exist and is not in index after "git rm -f bar" ok 13 - Test that "git rm -- -q" succeeds (remove a file that looks like an option) ok 14 - Test that "git rm -f" succeeds with embedded space, tab, or newline characters. ok 8 - git_revert: replace submodule containing a .git directory with a directory must fail ok 15 - Test that "git rm -f" fails if its rm fails ok 16 - When the rm in "git rm -f" fails, it should not remove the file from the index ok 17 - Remove nonexistent file with --ignore-unmatch ok 18 - "rm" command printed ok 19 - "rm" command suppressed with --quiet ok 20 - Re-add foo and baz ok 21 - Modify foo -- rm should refuse ok 22 - Modified foo -- rm -f should work ok 23 - Re-add foo and baz for HEAD tests ok 24 - foo is different in index from HEAD -- rm should refuse ok 25 - but with -f it should work. ok 26 - refuse to remove cached empty file with modifications ok 27 - remove intent-to-add file without --force not ok 9 - git_revert: replace submodule with a file must fail # TODO known breakage ok 28 - Recursive test setup ok 29 - Recursive without -r fails ok 30 - Recursive with -r but dirty ok 31 - Recursive with -r -f ok 32 - Remove nonexistent file returns nonzero exit status ok 33 - Call "rm" from outside the work tree ok 34 - refresh index before checking if it is up-to-date not ok 10 - git_revert: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 11 - git_revert: modified submodule does not update submodule work tree ok 35 - choking "git rm" should not let it die with cruft (induce SIGPIPE) ok 12 - git_revert: modified submodule does not update submodule work tree to invalid commit ok 13 - git_revert: modified submodule does not update submodule work tree from invalid commit ok 14 - git_revert: 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 *** t3601-rm-pathspec-file.sh *** ok 36 - choking "git rm" should not let it die with cruft (induce and check SIGPIPE) ok 1 - setup ok 37 - Resolving by removal is not a warning-worthy event ok 38 - rm removes subdirectories recursively ok 2 - simplest ok 3 - --pathspec-file-nul ok 4 - only touches what was listed ok 5 - error conditions # passed all 5 test(s) 1..5 *** t3602-rm-sparse-checkout.sh *** ok 39 - rm removes empty submodules from work tree ok 1 - setup ok 40 - rm removes removed submodule from index and .gitmodules ok 2 - rm does not remove sparse entries ok 3 - rm -f does not remove sparse entries ok 4 - rm --dry-run does not remove sparse entries ok 5 - recursive rm does not remove sparse entries ok 6 - recursive rm --sparse removes sparse entries ok 7 - rm obeys advice.updateSparsePath ok 8 - do not advice about sparse entries when they do not match the pathspec ok 41 - rm removes work tree of unmodified submodules ok 9 - do not warn about sparse entries when pathspec matches dense entries ok 10 - do not warn about sparse entries with --ignore-unmatch ok 11 - refuse to rm a non-skip-worktree path outside sparse cone ok 12 - can remove files from non-sparse dir ok 42 - rm removes a submodule with a trailing / ok 43 - rm fails when given a file with a trailing / ok 44 - rm succeeds when given a directory with a trailing / ok 13 - refuse to remove non-skip-worktree file from sparse dir # passed all 13 test(s) 1..13 *** t3650-replay-basics.sh *** ok 45 - rm of a populated submodule with different HEAD fails unless forced ok 46 - rm --cached leaves work tree of populated submodules and .gitmodules alone ok 47 - rm --dry-run does not touch the submodule or .gitmodules ok 1 - setup ok 2 - setup bare ok 3 - using replay to rebase two branches, one on top of other ok 48 - rm does not complain when no .gitmodules file is found ok 4 - using replay on bare repo to rebase two branches, one on top of other ok 5 - using replay to rebase with a conflict ok 6 - using replay on bare repo to rebase with a conflict ok 7 - using replay to perform basic cherry-pick ok 8 - using replay on bare repo to perform basic cherry-pick ok 9 - replay on bare repo fails with both --advance and --onto ok 10 - replay fails when both --advance and --onto are omitted ok 11 - using replay to also rebase a contained branch ok 12 - using replay on bare repo to also rebase a contained branch ok 13 - using replay to rebase multiple divergent branches ok 49 - rm will error out on a modified .gitmodules file unless staged ok 14 - using replay on bare repo to rebase multiple divergent branches, including contained ones # passed all 14 test(s) 1..14 *** t3700-add.sh *** ok 50 - rm will not error out on .gitmodules file with zero stat data ok 1 - Test of git add ok 2 - Test with no pathspecs ok 3 - Post-check that foo is in the index ok 4 - Test that "git add -- -q" works ok 5 - git add: core.fsyncmethod=batch ok 6 - git update-index: core.fsyncmethod=batch ok 7 - git add: Test that executable bit is not used if core.filemode=0 ok 8 - git add: filemode=0 should not get confused by symlink ok 9 - git update-index --add: Test that executable bit is not used... ok 51 - rm issues a warning when section is not found in .gitmodules ok 10 - git add: filemode=0 should not get confused by symlink ok 11 - git update-index --add: Test that executable bit is not used... ok 12 - .gitignore test setup ok 13 - .gitignore is honored ok 14 - error out when attempting to add ignored ones without -f ok 15 - error out when attempting to add ignored ones without -f ok 16 - error out when attempting to add ignored ones but add others ok 17 - add ignored ones with -f ok 18 - add ignored ones with -f ok 19 - add ignored ones with -f ok 20 - .gitignore with subdirectory ok 21 - check correct prefix detection ok 22 - git add with filemode=0, symlinks=0, and unmerged entries ok 52 - rm of a populated submodule with modifications fails unless forced ok 23 - git add with filemode=0, symlinks=0 prefers stage 2 over stage 1 ok 24 - git add --refresh ok 25 - git add --refresh with pathspec ok 26 - git add --refresh correctly reports no match error ok 27 - git add should fail atomically upon an unreadable file ok 28 - git add --ignore-errors ok 29 - git add (add.ignore-errors) ok 30 - git add (add.ignore-errors = false) ok 53 - rm of a populated submodule with untracked files fails unless forced ok 31 - --no-ignore-errors overrides config ok 32 - git add 'fo\[ou\]bar' ignores foobar ok 33 - git add to resolve conflicts on otherwise ignored path ok 34 - "add non-existent" should fail ok 35 - git add -A on empty repo does not error out ok 36 - "git add ." in empty repo ok 37 - "git add" a embedded repository ok 38 - error on a repository with no commits ok 39 - git add --dry-run of existing changed file ok 40 - git add --dry-run of non-existing file ok 41 - git add --dry-run of an existing file output ok 42 - git add --dry-run --ignore-missing of non-existing file ok 43 - git add --dry-run --ignore-missing of non-existing file output ok 44 - git add --dry-run --interactive should fail ok 45 - git add empty string should fail ok 54 - setup submodule conflict ok 46 - git add --chmod=[+-]x stages correctly ok 47 - git add --chmod=+x with symlinks ok 48 - git add --chmod=[+-]x changes index with already added file ok 49 - git add --chmod=[+-]x does not change the working tree ok 50 - git add --chmod fails with non regular files (but updates the other paths) ok 51 - git add --chmod honors --dry-run ok 52 - git add --chmod --dry-run reports error for non regular files ok 53 - git add --chmod --dry-run reports error for unmatched pathspec ok 54 - no file status change if no pathspec is given ok 55 - rm removes work tree of unmodified conflicted submodule ok 55 - no file status change if no pathspec is given in subdir ok 56 - all statuses changed in folder if . is given ok 57 # skip path is case-insensitive (missing CASE_INSENSITIVE_FS) # passed all 57 test(s) 1..57 *** t3701-add-interactive.sh *** ok 1 - unknown command ok 2 - setup (initial) ok 3 - status works (initial) ok 4 - setup expected ok 56 - rm of a conflicted populated submodule with different HEAD fails unless forced ok 5 - diff works (initial) ok 6 - revert works (initial) ok 7 - add untracked (multiple) ok 8 - setup (commit) ok 9 - status works (commit) ok 10 - update can stage deletions ok 11 - setup expected ok 12 - diff works (commit) ok 13 - revert works (commit) ok 14 - reject multi-key input ok 15 - setup expected ok 16 - dummy edit works ok 17 - setup patch ok 18 - setup fake editor ok 19 - bad edit rejected ok 20 - setup patch ok 21 - garbage edit rejected ok 22 - setup patch ok 57 - rm of a conflicted populated submodule with modifications fails unless forced ok 23 - setup expected ok 24 - real edit works ok 25 - setup file ok 26 - setup patch ok 27 - setup expected ok 28 - edit can strip spaces from empty context lines ok 29 - skip files similarly as commit -a ok 30 - patch does not affect mode ok 31 - stage mode but not hunk ok 58 - rm of a conflicted populated submodule with untracked files fails unless forced ok 32 - stage mode and hunk ok 33 - different prompts for mode change/deleted ok 34 - correct message when there is nothing to do ok 35 - setup again ok 36 - setup patch ok 37 - setup expected ok 38 - add first line works ok 39 - setup expected ok 59 - rm of a conflicted populated submodule with a .git directory fails even when forced ok 40 - deleting a non-empty file ok 60 - rm of a conflicted unpopulated submodule succeeds ok 41 - setup expected ok 42 - deleting an empty file ok 43 - adding an empty file ok 44 - split hunk setup ok 61 - rm of a populated submodule with a .git directory migrates git dir ok 45 - goto hunk 1 with "g 1" ok 46 - goto hunk 1 with "g1" ok 47 - navigate to hunk via regex /pattern ok 48 - navigate to hunk via regex / pattern ok 49 - print again the hunk ok 50 # skip print again the hunk (PAGER) (missing TTY) ok 51 # skip P handles SIGPIPE when writing to pager (missing TTY) ok 52 - split hunk "add -p (edit)" ok 53 - split hunk "add -p (no, yes, edit)" ok 54 - split hunk with incomplete line at end ok 62 - setup subsubmodule ok 55 - edit, adding lines to the first hunk ok 63 - rm recursively removes work tree of unmodified submodules ok 56 - patch mode ignores unmerged entries ok 57 - index is refreshed after applying patch ok 58 - diffs can be colorized ok 59 - colors can be overridden ok 60 - brackets appear without color ok 61 - colors can be skipped with color.ui=false ok 62 - colorized diffs respect diff.wsErrorHighlight ok 64 - rm of a populated nested submodule with different nested HEAD fails unless forced ok 63 - diffFilter filters diff ok 64 - detect bogus diffFilter output ok 65 - handle iffy colored hunk headers ok 66 - handle very large filtered diff ok 65 - rm of a populated nested submodule with nested modifications fails unless forced ok 67 - diff.algorithm is passed to `git diff-files` ok 68 - patch-mode via -i prompts for files ok 69 - add -p handles globs ok 70 - add -p handles relative paths ok 71 - add -p does not expand argument lists ok 72 - hunk-editing handles custom comment char ok 73 - add -p works even with color.ui=always ok 66 - rm of a populated nested submodule with nested untracked files fails unless forced ok 74 - setup different kinds of dirty submodules ok 75 - status ignores dirty submodules (except HEAD) ok 76 - handle submodules ok 67 - rm absorbs submodule's nested .git directory ok 77 - set up pathological context ok 78 - add -p works with pathological context lines ok 79 - add -p patch editing works with pathological context lines ok 80 - checkout -p works with pathological context lines ok 68 - checking out a commit after submodule removal needs manual updates ok 81 - add -N followed by add -p patch editing ok 69 - rm of d/f when d has become a non-directory ok 70 - rm of d/f when d has become a dangling symlink ok 71 - rm of file when it has become a directory ok 82 - checkout -p patch editing of added file ok 72 - rm across a symlinked leading path (no index) ok 83 - show help from add--helper not ok 73 - rm across a symlinked leading path (w/ index) # TODO known breakage ok 74 - setup for testing rm messages ok 75 - rm files with different staged content ok 76 - rm files with different staged content without hints ok 77 - rm file with local modification ok 78 - rm file with local modification without hints ok 79 - rm file with changes in the index ok 80 - rm file with changes in the index without hints ok 84 - reset -p with unmerged files ok 81 - rm files with two different errors ok 82 - rm empty string should fail # still have 1 known breakage(s) # passed all remaining 81 test(s) 1..82 *** t3702-add-edit.sh *** ok 85 - hunk splitting works with diff.suppressBlankEmpty # passed all 85 test(s) 1..85 *** t3703-add-magic-pathspec.sh *** ok 1 - setup ok 1 - setup ok 2 - add :/ ok 3 - add :/anothersub ok 4 - add :/non-existent ok 2 - add -e ok 5 - a file with the same (long) magic name exists ok 6 - a file with the same (short) magic name exists ok 3 - add -e notices editor failure # passed all 3 test(s) # passed all 6 test(s) 1..3 1..6 *** t3704-add-pathspec-file.sh *** *** t3705-add-sparse-checkout.sh *** ok 1 - setup ok 1 - setup ok 2 - --pathspec-from-file from stdin ok 2 - git add does not remove sparse entries ok 3 - --pathspec-from-file from file ok 4 - NUL delimiters ok 3 - git add -A does not remove sparse entries ok 5 - LF delimiters ok 6 - no trailing delimiter ok 7 - CRLF delimiters ok 4 - git add . does not remove sparse entries ok 8 - quotes ok 9 - quotes not compatible with --pathspec-file-nul ok 10 - only touches what was listed ok 5 - git add does not update sparse entries ok 11 - error conditions # passed all 11 test(s) 1..11 *** t3800-mktag.sh *** ok 6 - git add -f does not update sparse entries ok 7 - git add -u does not update sparse entries ok 8 - git add --ignore-removal does not update sparse entries ok 9 - git add --dry-run does not update sparse entries ok 1 - setup ok 2 - basic usage ok 3 - fail with [--[no-]strict]: Tag object length check ok 4 - setup: Tag object length check ok 5 - hash-object & fsck unreachable: Tag object length check ok 10 - git add --refresh does not update sparse entries ok 6 - update-ref & fsck reachable: Tag object length check ok 7 - for-each-ref: Tag object length check ok 11 - git add --chmod does not update sparse entries ok 8 - fast-export & fast-import: Tag object length check ok 9 - fail with [--[no-]strict]: "object" line label check ok 10 - setup: "object" line label check ok 11 - hash-object & fsck unreachable: "object" line label check ok 12 - git add --renormalize does not update sparse entries ok 12 - update-ref & fsck reachable: "object" line label check ok 13 - for-each-ref: "object" line label check ok 14 - fast-export & fast-import: "object" line label check ok 13 - git add --dry-run --ignore-missing warn on sparse path ok 15 - fail with [--[no-]strict]: "object" line check ok 16 - setup: "object" line check ok 17 - hash-object & fsck unreachable: "object" line check ok 14 - do not advice about sparse entries when they do not match the pathspec ok 18 - update-ref & fsck reachable: "object" line check ok 19 - for-each-ref: "object" line check ok 15 - do not warn when pathspec matches dense entries ok 20 - fast-export & fast-import: "object" line check ok 21 - fail with [--[no-]strict]: "type" line label check ok 22 - setup: "type" line label check ok 23 - hash-object & fsck unreachable: "type" line label check ok 24 - update-ref & fsck reachable: "type" line label check ok 25 - for-each-ref: "type" line label check ok 26 - fast-export & fast-import: "type" line label check ok 27 - fail with [--[no-]strict]: "type" line eol check ok 16 - git add fails outside of sparse-checkout definition ok 28 - setup: "type" line eol check ok 29 - hash-object & fsck unreachable: "type" line eol check ok 17 - add obeys advice.updateSparsePath ok 30 - update-ref & fsck reachable: "type" line eol check ok 18 - add allows sparse entries with --sparse ok 31 - for-each-ref: "type" line eol check ok 19 - can add files from non-sparse dir ok 32 - fast-export & fast-import: "type" line eol check ok 33 - fail with [--[no-]strict]: "tag" line label check #1 ok 20 - refuse to add non-skip-worktree file from sparse dir # passed all 20 test(s) 1..20 *** t3900-i18n-commit.sh *** ok 34 - setup: "tag" line label check #1 ok 35 - hash-object & fsck unreachable: "tag" line label check #1 ok 36 - update-ref & fsck reachable: "tag" line label check #1 ok 37 - for-each-ref: "tag" line label check #1 ok 38 - fast-export & fast-import: "tag" line label check #1 ok 39 - fail with [--[no-]strict]: "tag" line label check #2 ok 40 - setup: "tag" line label check #2 ok 41 - hash-object & fsck unreachable: "tag" line label check #2 ok 1 - setup ok 2 - no encoding header for base case ok 42 - update-ref & fsck reachable: "tag" line label check #2 ok 3 - UTF-16 refused because of NULs ok 4 - UTF-8 invalid characters refused ok 43 - for-each-ref: "tag" line label check #2 ok 44 - fast-export & fast-import: "tag" line label check #2 ok 5 - UTF-8 overlong sequences rejected ok 45 - fail with [--[no-]strict]: "type" line type-name length check ok 6 - UTF-8 non-characters refused ok 46 - setup: "type" line type-name length check ok 47 - hash-object & fsck unreachable: "type" line type-name length check ok 7 - UTF-8 non-characters refused ok 48 - update-ref & fsck reachable: "type" line type-name length check ok 8 - ISO8859-1 setup ok 49 - for-each-ref: "type" line type-name length check ok 9 - eucJP setup ok 50 - fast-export & fast-import: "type" line type-name length check ok 51 - fail with [--[no-]strict]: verify object (hash/type) check -- correct type, nonexisting object ok 10 - ISO-2022-JP setup ok 52 - setup: verify object (hash/type) check -- correct type, nonexisting object ok 11 - check encoding header for ISO8859-1 ok 12 - check encoding header for eucJP ok 53 - hash-object & fsck unreachable: verify object (hash/type) check -- correct type, nonexisting object ok 13 - check encoding header for ISO-2022-JP ok 14 - config to remove customization ok 15 - ISO8859-1 should be shown in UTF-8 now ok 54 - update-ref & fsck reachable: verify object (hash/type) check -- correct type, nonexisting object ok 16 - eucJP should be shown in UTF-8 now ok 17 - ISO-2022-JP should be shown in UTF-8 now ok 18 - config to add customization ok 55 - for-each-ref: verify object (hash/type) check -- correct type, nonexisting object ok 19 - ISO8859-1 should be shown in itself now ok 56 - fast-export & fast-import: verify object (hash/type) check -- correct type, nonexisting object ok 20 - eucJP should be shown in itself now ok 57 - fail with [--[no-]strict]: verify object (hash/type) check -- made-up type, valid object ok 21 - ISO-2022-JP should be shown in itself now ok 58 - setup: verify object (hash/type) check -- made-up type, valid object ok 22 - config to tweak customization ok 23 - ISO8859-1 should be shown in UTF-8 now ok 59 - hash-object & fsck unreachable: verify object (hash/type) check -- made-up type, valid object ok 24 - eucJP should be shown in UTF-8 now ok 25 - ISO-2022-JP should be shown in UTF-8 now ok 60 - update-ref & fsck reachable: verify object (hash/type) check -- made-up type, valid object ok 26 - eucJP should be shown in eucJP now ok 27 - ISO-2022-JP should be shown in eucJP now ok 61 - for-each-ref: verify object (hash/type) check -- made-up type, valid object ok 28 - eucJP should be shown in ISO-2022-JP now ok 62 - fast-export & fast-import: verify object (hash/type) check -- made-up type, valid object ok 29 - ISO-2022-JP should be shown in ISO-2022-JP now ok 30 - No conversion with ISO8859-1 ok 63 - fail with [--[no-]strict]: verify object (hash/type) check -- made-up type, nonexisting object ok 31 - No conversion with eucJP ok 64 - setup: verify object (hash/type) check -- made-up type, nonexisting object ok 32 - No conversion with ISO-2022-JP ok 65 - hash-object & fsck unreachable: verify object (hash/type) check -- made-up type, nonexisting object ok 66 - update-ref & fsck reachable: verify object (hash/type) check -- made-up type, nonexisting object ok 67 - for-each-ref: verify object (hash/type) check -- made-up type, nonexisting object ok 68 - fast-export & fast-import: verify object (hash/type) check -- made-up type, nonexisting object ok 69 - fail with [--[no-]strict]: verify object (hash/type) check -- mismatched type, valid object ok 33 - commit --fixup with eucJP encoding ok 70 - setup: verify object (hash/type) check -- mismatched type, valid object ok 71 - hash-object & fsck unreachable: verify object (hash/type) check -- mismatched type, valid object ok 72 - update-ref & fsck reachable: verify object (hash/type) check -- mismatched type, valid object ok 73 - for-each-ref: verify object (hash/type) check -- mismatched type, valid object ok 74 - fast-export & fast-import: verify object (hash/type) check -- mismatched type, valid object ok 75 - setup replacement of commit -> commit and tree -> blob ok 34 - commit --squash with ISO-2022-JP encoding ok 76 - tag to a commit replaced by another commit ok 77 - fail with [--[no-]strict]: verify object (hash/type) check -- mismatched type, valid object ok 78 - setup: verify object (hash/type) check -- mismatched type, valid object ok 79 - hash-object & fsck unreachable: verify object (hash/type) check -- mismatched type, valid object ok 80 - update-ref & fsck reachable: verify object (hash/type) check -- mismatched type, valid object ok 35 - commit --fixup into UTF-8 from ISO-8859-1 ok 81 - for-each-ref: verify object (hash/type) check -- mismatched type, valid object ok 82 - fast-export & fast-import: verify object (hash/type) check -- mismatched type, valid object ok 83 - fail with [--[no-]strict]: verify tag-name check ok 84 - setup: verify tag-name check ok 85 - hash-object & fsck unreachable: verify tag-name check ok 86 - update-ref & fsck reachable: verify tag-name check ok 87 - for-each-ref: verify tag-name check ok 36 - commit --squash into ISO-8859-1 from UTF-8 ok 88 - fast-export & fast-import: verify tag-name check ok 89 - fail with [--[no-]strict]: "tagger" line label check #1 ok 90 - setup: "tagger" line label check #1 ok 91 - hash-object & fsck unreachable: "tagger" line label check #1 ok 92 - update-ref & fsck reachable: "tagger" line label check #1 ok 93 - for-each-ref: "tagger" line label check #1 ok 94 - fast-export & fast-import: "tagger" line label check #1 ok 95 - fail with [--[no-]strict]: "tagger" line label check #2 ok 37 - commit --squash into eucJP from ISO-2022-JP ok 96 - setup: "tagger" line label check #2 ok 97 - hash-object & fsck unreachable: "tagger" line label check #2 ok 98 - update-ref & fsck reachable: "tagger" line label check #2 ok 99 - for-each-ref: "tagger" line label check #2 ok 100 - fast-export & fast-import: "tagger" line label check #2 ok 38 - commit --fixup into ISO-2022-JP from UTF-8 # passed all 38 test(s) 1..38 *** t3901-i18n-patch.sh *** ok 101 - allow missing tag author name ok 102 - fail with [--[no-]strict]: disallow malformed tagger ok 103 - setup: disallow malformed tagger ok 104 - hash-object & fsck unreachable: disallow malformed tagger ok 105 - update-ref & fsck reachable: disallow malformed tagger ok 106 - for-each-ref: disallow malformed tagger ok 107 - fast-export & fast-import: disallow malformed tagger ok 108 - allow empty tag email ok 1 - setup ok 109 - allow spaces in tag email like fsck ok 2 - format-patch output (ISO-8859-1) ok 110 - fail with [--[no-]strict]: disallow missing tag timestamp ok 111 - setup: disallow missing tag timestamp ok 3 - format-patch output (UTF-8) ok 112 - hash-object & fsck unreachable: disallow missing tag timestamp ok 113 - update-ref & fsck reachable: disallow missing tag timestamp ok 114 - for-each-ref: disallow missing tag timestamp ok 115 - fast-export & fast-import: disallow missing tag timestamp ok 4 - rebase (U/U) ok 116 - fail with [--[no-]strict]: detect invalid tag timestamp1 ok 117 - setup: detect invalid tag timestamp1 ok 118 - hash-object & fsck unreachable: detect invalid tag timestamp1 ok 119 - update-ref & fsck reachable: detect invalid tag timestamp1 ok 5 - rebase (U/L) ok 120 - for-each-ref: detect invalid tag timestamp1 ok 121 - fast-export & fast-import: detect invalid tag timestamp1 ok 122 - fail with [--[no-]strict]: detect invalid tag timestamp2 ok 123 - setup: detect invalid tag timestamp2 ok 124 - hash-object & fsck unreachable: detect invalid tag timestamp2 ok 6 - rebase (L/L) ok 125 - update-ref & fsck reachable: detect invalid tag timestamp2 ok 126 - for-each-ref: detect invalid tag timestamp2 ok 127 - fast-export & fast-import: detect invalid tag timestamp2 ok 128 - fail with [--[no-]strict]: detect invalid tag timezone1 ok 7 - rebase (L/U) ok 129 - setup: detect invalid tag timezone1 ok 130 - hash-object & fsck unreachable: detect invalid tag timezone1 ok 131 - update-ref & fsck reachable: detect invalid tag timezone1 ok 132 - for-each-ref: detect invalid tag timezone1 ok 8 - cherry-pick(U/U) ok 133 - fast-export & fast-import: detect invalid tag timezone1 ok 134 - fail with [--[no-]strict]: detect invalid tag timezone2 ok 135 - setup: detect invalid tag timezone2 ok 136 - hash-object & fsck unreachable: detect invalid tag timezone2 ok 137 - update-ref & fsck reachable: detect invalid tag timezone2 ok 9 - cherry-pick(L/L) ok 138 - for-each-ref: detect invalid tag timezone2 ok 139 - fast-export & fast-import: detect invalid tag timezone2 ok 140 - allow invalid tag timezone ok 141 - fail with [--[no-]strict]: detect invalid header entry ok 10 - cherry-pick(U/L) ok 142 - setup: detect invalid header entry ok 143 - hash-object & fsck unreachable: detect invalid header entry ok 144 - update-ref & fsck reachable: detect invalid header entry ok 145 - for-each-ref: detect invalid header entry ok 146 - fast-export & fast-import: detect invalid header entry ok 11 - cherry-pick(L/U) ok 12 - rebase --merge (U/U) ok 147 - invalid header entry config & fsck ok 148 - allow extra newlines at start of body ok 13 - rebase --merge (U/L) ok 149 - allow a blank line before an empty body (1) ok 14 - rebase --merge (L/L) ok 150 - allow no blank line before an empty body (2) ok 151 - create valid tag object # passed all 151 test(s) 1..151 ok 15 - rebase --merge (L/U) *** t3902-quoted.sh *** ok 16 - am (U/U) ok 17 - am (L/L) ok 1 - setup ok 2 - setup expected files ok 3 - check fully quoted output from ls-files ok 4 - check fully quoted output from diff-files ok 5 - check fully quoted output from diff-index ok 18 - am (U/L) ok 6 - check fully quoted output from diff-tree ok 7 - check fully quoted output from ls-tree ok 8 - setting core.quotepath ok 9 - check fully quoted output from ls-files ok 10 - check fully quoted output from diff-files ok 11 - check fully quoted output from diff-index ok 12 - check fully quoted output from diff-tree ok 13 - check fully quoted output from ls-tree # passed all 13 test(s) 1..13 *** t3903-stash.sh *** ok 19 - am --no-utf8 (U/L) ok 20 - am (L/U) # passed all 20 test(s) 1..20 *** t3904-stash-patch.sh *** ok 1 - usage on cmd and subcommand invalid option ok 2 - usage on main command -h emits a summary of subcommands ok 3 - usage for subcommands should emit subcommand usage ok 4 - stash some dirty working directory ok 5 - parents of stash ok 6 - applying bogus stash does nothing ok 7 - apply does not need clean working directory ok 1 - setup ok 8 - apply does not clobber working directory changes ok 9 - apply stashed changes ok 2 - saying "n" does nothing ok 10 - apply stashed changes (including index) ok 11 - unstashing in a subdirectory ok 12 - stash drop complains of extra options ok 3 - git stash -p ok 13 - drop top stash ok 4 - git stash -p --no-keep-index ok 14 - drop middle stash ok 15 - drop middle stash by index ok 5 - git stash --no-keep-index -p ok 16 - drop stash reflog updates refs/stash ok 6 - stash -p --no-keep-index -- does not unstage other files ok 7 - none of this moved HEAD ok 8 - stash -p with split hunk # passed all 8 test(s) 1..8 *** t3905-stash-include-untracked.sh *** ok 17 - drop stash reflog updates refs/stash with rewrite ok 18 - stash pop ok 1 - stash save --include-untracked some dirty working directory ok 2 - stash save --include-untracked cleaned the untracked files ok 3 - stash save --include-untracked stashed the untracked files ok 19 - stash branch ok 4 - stash save --patch --include-untracked fails ok 5 - stash save --patch --all fails ok 6 - clean up untracked/untracked file to prepare for next tests ok 20 - apply -q is quiet ok 7 - stash pop after save --include-untracked leaves files untracked again ok 8 - clean up untracked/ directory to prepare for next tests ok 9 - stash save -u dirty index ok 21 - apply --index -q is quiet ok 22 - save -q is quiet ok 23 - pop -q works and is quiet ok 10 - stash save --include-untracked dirty index got stashed ok 11 - stash save --include-untracked -q is quiet ok 24 - pop -q --index works and is quiet ok 12 - stash save --include-untracked removed files ok 25 - drop -q is quiet ok 13 - stash save --include-untracked removed files got stashed ok 26 - stash push -q --staged refreshes the index ok 14 - stash save --include-untracked respects .gitignore ok 15 - stash save -u can stash with only untracked files different ok 16 - stash save --all does not respect .gitignore ok 27 - stash apply -q --index refreshes the index ok 17 - stash save --all is stash poppable ok 28 - stash -k ok 29 - stash --no-keep-index ok 18 - stash push --include-untracked with pathspec ok 30 - stash --staged ok 19 - stash push with $IFS character ok 31 - stash --staged with binary file ok 32 - dont assume push with non-option args ok 33 - stash --invalid-option ok 20 - stash previously ignored file ok 21 - stash -u -- doesnt print error ok 34 - stash an added file ok 35 - stash --intent-to-add file ok 22 - stash -u -- leaves rest of working tree in place ok 23 - stash -u -- clears changes in both ok 36 - stash rm then recreate ok 24 - stash --all -- stashes ignored file ok 37 - stash rm and ignore ok 25 - stash --all -- clears changes in both ok 26 - stash -u -- leaves ignored file alone ok 27 - stash -u -- shows no changes when there are none ok 38 - stash rm and ignore (stage .gitignore) ok 28 - stash -u with globs ok 39 - stash file to symlink ok 40 - stash file to symlink (stage rm) ok 29 - stash show --include-untracked shows untracked files ok 41 - stash file to symlink (full stage) ok 30 - stash show --only-untracked only shows untracked files ok 42 - stash symlink to file ok 43 - this must have re-created the symlink ok 44 - unstash must re-create the file ok 31 - stash show --no-include-untracked cancels --{include,only}-untracked ok 45 - stash symlink to file (stage rm) ok 46 - this must have re-created the symlink ok 47 - unstash must re-create the file ok 32 - stash show --include-untracked errors on duplicate files ok 48 - stash symlink to file (full stage) ok 49 - this must have re-created the symlink ok 50 - unstash must re-create the file ok 33 - stash show --{include,only}-untracked on stashes without untracked entries not ok 51 - stash directory to file # TODO known breakage ok 34 - stash -u ignores sub-repository # passed all 34 test(s) 1..34 *** t3906-stash-submodule.sh *** not ok 52 - stash file to directory # TODO known breakage ok 53 - giving too many ref arguments does not modify files ok 54 - drop: too many arguments errors out (does nothing) ok 55 - show: too many arguments errors out (does nothing) ok 56 - stash create - no changes ok 57 - stash branch - no stashes on stack, stash-like argument ok 58 - stash branch - stashes on stack, stash-like argument ok 59 - stash branch complains with no arguments ok 60 - stash show format defaults to --stat ok 61 - stash show - stashes on stack, stash-like argument ok 62 - stash show -p - stashes on stack, stash-like argument ok 63 - stash show - no stashes on stack, stash-like argument ok 64 - stash show -p - no stashes on stack, stash-like argument ok 65 - stash show --patience shows diff ok 66 - drop: fail early if specified stash is not a stash ref ok 67 - pop: fail early if specified stash is not a stash ref ok 68 - ref with non-existent reflog ok 69 - invalid ref of the form stash@{n}, n >= N ok 70 - invalid ref of the form "n", n >= N ok 71 - valid ref of the form "n", n < N ok 72 - branch: do not drop the stash if the branch exists ok 73 - branch: should not drop the stash if the apply fails ok 74 - apply: show same status as git status (relative to ./) ok 75 - stash where working directory contains "HEAD" file ok 76 - store called with invalid commit ok 77 - store called with non-stash commit ok 1 - git_stash: added submodule creates empty directory ok 78 - store updates stash ref and reflog ok 79 - handle stash specification with spaces not ok 2 - git_stash: added submodule leaves existing empty directory alone # TODO known breakage ok 80 - setup stash with index and worktree changes ok 81 - stash list -p shows simple diff ok 82 - stash list --cc shows combined diff ok 83 - stash is not confused by partial renames ok 84 - push -m shows right message not ok 3 - git_stash: replace tracked file with submodule creates empty directory # TODO known breakage ok 85 - push -m also works without space ok 86 - store -m foo shows right message ok 87 - store -mfoo shows right message ok 88 - store --message=foo shows right message not ok 4 - git_stash: replace directory with submodule # TODO known breakage ok 89 - store --message foo shows right message ok 90 - push -mfoo uses right message ok 91 - push --message foo is synonym for -mfoo ok 92 - push --message=foo is synonym for -mfoo ok 93 - push -m shows right message ok 94 - create stores correct message ok 95 - create when branch name has / ok 96 - create with multiple arguments for the message not ok 5 - git_stash: removed submodule leaves submodule directory and its contents in place # TODO known breakage ok 97 - create in a detached state ok 98 - stash -- stashes and restores the file ok 99 - stash -- stashes in subdirectory ok 100 - stash with multiple pathspec arguments ok 101 - stash with file including $IFS character not ok 6 - git_stash: removed submodule leaves submodule containing a .git directory alone # TODO known breakage ok 102 - stash with pathspec matching multiple paths ok 103 - stash push -p with pathspec shows no changes only once ok 104 - push : show no changes when there are none ok 105 - push: not in the repository errors out ok 106 - push: -q is quiet with changes ok 107 - push: -q is quiet with no changes ok 108 - push: -q is quiet even if there is no initial commit ok 109 - untracked files are left in place when -u is not given ok 110 - stash without verb with pathspec ok 7 - git_stash: replace submodule with a directory must fail ok 111 - stash -k -- leaves unstaged files intact ok 112 - stash -- leaves untracked files in subdir intact ok 113 - stash -- works with binary files ok 114 - stash with user.name and user.email set works ok 8 - git_stash: replace submodule containing a .git directory with a directory must fail ok 115 - stash works when user.name and user.email are not set ok 116 - stash --keep-index with file deleted in index does not resurrect it on disk ok 117 - stash --keep-index --include-untracked with empty tree not ok 9 - git_stash: replace submodule with a file must fail # TODO known breakage ok 118 - stash apply should succeed with unmodified file ok 119 - stash handles skip-worktree entries nicely ok 120 - stash with core.fsyncmethod=batch not ok 10 - git_stash: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 121 - git stash succeeds despite directory/file change ok 122 - git stash can pop file -> directory saved changes not ok 11 - git_stash: modified submodule does not update submodule work tree # TODO known breakage ok 123 - git stash can pop directory -> file saved changes ok 124 - restore untracked files even when we hit conflicts ok 125 - stash create reports a locked index not ok 12 - git_stash: modified submodule does not update submodule work tree to invalid commit # TODO known breakage ok 126 - stash push reports a locked index ok 127 - stash apply reports a locked index # still have 2 known breakage(s) # passed all remaining 125 test(s) 1..127 not ok 13 - git_stash: modified submodule does not update submodule work tree from invalid commit # TODO known breakage *** t3907-stash-show-config.sh *** ok 14 - git_stash: added submodule doesn't remove untracked unignored file with same name ok 1 - setup ok 2 - showStat unset showPatch unset ok 3 - showStat unset showPatch false ok 4 - showStat unset showPatch true ok 15 - stash push with submodule.recurse=true preserves dirty submodule worktree ok 5 - showStat false showPatch unset ok 6 - showStat false showPatch false ok 7 - showStat false showPatch true ok 8 - showStat true showPatch unset ok 9 - showStat true showPatch false ok 16 - stash push and pop with submodule.recurse=true preserves dirty submodule worktree # still have 10 known breakage(s) # passed all remaining 6 test(s) 1..16 *** t3908-stash-in-worktree.sh *** ok 10 - showStat true showPatch true # passed all 10 test(s) 1..10 *** t3909-stash-pathspec-file.sh *** ok 1 - setup ok 1 - setup ok 2 - simplest ok 2 - apply in subdirectory # passed all 2 test(s) 1..2 *** t3910-mac-os-precompose.sh *** ok 3 - --pathspec-file-nul ok 4 - only touches what was listed ok 5 - error conditions # passed all 5 test(s) 1..5 *** t3920-crlf-messages.sh *** 1..0 # SKIP filesystem does not corrupt utf-8 *** t4000-diff-format.sh *** ok 1 - update-index --add two files with and without +x. ok 2 - git diff-files -p after editing work tree. ok 3 - validate git diff-files -p output. ok 4 - git diff-files -s after editing work tree ok 5 - git diff-files --no-patch as synonym for -s ok 6 - git diff-files --no-patch --patch shows the patch ok 7 - git diff-files --no-patch --patch-with-raw shows the patch and raw data ok 8 - git diff-files --patch --no-patch does not show the patch ok 9 - --no-patch in 'git diff-files --no-patch --stat' is a no-op ok 10 - --no-patch clears all previous ones ok 11 - --no-patch in 'git diff --no-patch --stat' is a no-op ok 12 - --no-patch in 'git diff-files --no-patch --raw' is a no-op ok 1 - Setup refs with commit and tag messages using CRLF ok 13 - --no-patch clears all previous ones ok 14 - --no-patch in 'git diff --no-patch --raw' is a no-op ok 2 - branch: --verbose works with messages using CRLF ok 15 - --no-patch in 'git diff-files --no-patch --numstat' is a no-op ok 3 - branch: --format='%(contents:subject)' works with messages using CRLF ok 16 - --no-patch clears all previous ones ok 17 - --no-patch in 'git diff --no-patch --numstat' is a no-op ok 4 - branch: --format='%(contents:body)' works with messages using CRLF ok 18 - --no-patch in 'git diff-files --no-patch --shortstat' is a no-op ok 5 - branch: --format='%(contents)' works with messages using CRLF ok 19 - --no-patch clears all previous ones ok 6 - tag: --format='%(contents:subject)' works with messages using CRLF ok 20 - --no-patch in 'git diff --no-patch --shortstat' is a no-op ok 7 - tag: --format='%(contents:body)' works with messages using CRLF ok 21 - --no-patch in 'git diff-files --no-patch --summary' is a no-op ok 22 - --no-patch clears all previous ones ok 8 - tag: --format='%(contents)' works with messages using CRLF ok 23 - --no-patch in 'git diff --no-patch --summary' is a no-op ok 9 - for-each-ref: --format='%(contents:subject)' works with messages using CRLF ok 24 - --no-patch in 'git diff-files --no-patch --dirstat' is a no-op ok 10 - for-each-ref: --format='%(contents:body)' works with messages using CRLF ok 25 - --no-patch clears all previous ones ok 26 - --no-patch in 'git diff --no-patch --dirstat' is a no-op ok 11 - for-each-ref: --format='%(contents)' works with messages using CRLF ok 27 - --no-patch in 'git diff-files --no-patch --cumulative' is a no-op ok 28 - --no-patch clears all previous ones ok 29 - --no-patch in 'git diff --no-patch --cumulative' is a no-op ok 30 - --no-patch in 'git diff-files --no-patch --dirstat-by-file' is a no-op ok 31 - --no-patch clears all previous ones ok 32 - --no-patch in 'git diff --no-patch --dirstat-by-file' is a no-op ok 33 - --no-patch in 'git diff-files --no-patch --patch-with-raw' is a no-op ok 12 - log: --oneline works with messages using CRLF ok 34 - --no-patch clears all previous ones ok 13 - log: --format='%s' works with messages using CRLF ok 35 - --no-patch in 'git diff --no-patch --patch-with-raw' is a no-op ok 36 - --no-patch in 'git diff-files --no-patch --patch-with-stat' is a no-op ok 14 - log: --format='%b' works with messages using CRLF ok 37 - --no-patch clears all previous ones ok 15 - log: --format='%B' works with messages using CRLF ok 38 - --no-patch in 'git diff --no-patch --patch-with-stat' is a no-op ok 39 - --no-patch in 'git diff-files --no-patch --compact-summary' is a no-op ok 16 - show: --format='%s' works with messages using CRLF ok 40 - --no-patch clears all previous ones ok 17 - show: --format='%b' works with messages using CRLF ok 41 - --no-patch in 'git diff --no-patch --compact-summary' is a no-op # passed all 41 test(s) 1..41 *** t4001-diff-rename.sh *** ok 18 - show: --format='%B' works with messages using CRLF # passed all 18 test(s) 1..18 *** t4002-diff-basic.sh *** ok 1 - setup ok 2 - update-index --add a file. ok 3 - write that tree. ok 1 - adding test file NN and Z/NN ok 4 - renamed and edited the file. ok 5 - git diff-index -p -M after rename and editing. ok 2 - adding test file ND and Z/ND ok 6 - validate the output. ok 3 - adding test file NM and Z/NM ok 7 - test diff.renames=true ok 4 - adding test file DN and Z/DN ok 8 - test diff.renames=false ok 5 - adding test file DD and Z/DD ok 9 - test diff.renames unset ok 6 - adding test file DM and Z/DM ok 7 - adding test file MN and Z/MN ok 8 - adding test file MD and Z/MD ok 9 - adding test file MM and Z/MM ok 10 - favour same basenames over different ones ok 10 - adding test file SS ok 11 - test diff.renames=true for git status ok 11 - adding test file TT ok 12 - prepare initial tree ok 12 - test diff.renames=false for git status ok 13 - change in branch A (removal) ok 14 - change in branch A (modification) ok 13 - favour same basenames even with minor differences ok 15 - change in branch A (modification) ok 16 - change in branch A (modification) ok 17 - change in branch A (modification) ok 18 - change in branch A (modification) ok 19 - change in branch A (modification) ok 20 - change in branch A (addition) ok 21 - change in branch A (addition) ok 14 - two files with same basename and same content ok 22 - change in branch A (addition) ok 23 - change in branch A (addition) ok 24 - change in branch A (addition) ok 25 - change in branch A (edit) ok 26 - change in branch A (change file to directory) ok 27 - recording branch A tree ok 28 - reading original tree and checking out ok 29 - change in branch B (removal) ok 30 - change in branch B (modification) ok 31 - change in branch B (modification) ok 32 - change in branch B (modification) ok 33 - change in branch B (modification) ok 15 - setup for many rename source candidates ok 34 - change in branch B (modification) ok 35 - change in branch B (modification) ok 36 - change in branch B (addition) ok 37 - change in branch B (addition) ok 38 - change in branch B (addition) ok 39 - change in branch B (addition) ok 40 - change in branch B (addition and modification) ok 41 - change in branch B (modification) ok 42 - change in branch B (addition of a file to conflict with directory) ok 16 - rename pretty print with nothing in common ok 43 - recording branch B tree ok 17 - rename pretty print with common prefix ok 44 - keep contents of 3 trees for easy access ok 18 - rename pretty print with common suffix ok 19 - rename pretty print with common prefix and suffix ok 20 - rename pretty print common prefix and suffix overlap ok 21 - diff-tree -l0 defaults to a big rename limit, not zero ok 22 - basename similarity vs best similarity ok 45 - diff-tree of known trees. ok 46 - diff-tree of known trees. ok 47 - diff-tree of known trees. ok 48 - diff-tree of known trees. ok 49 - diff-tree of known trees. ok 50 - diff-tree of known trees. ok 23 - last line matters too # passed all 23 test(s) 1..23 ok 51 - diff-tree --stdin of known trees. ok 52 - diff-tree --stdin of known trees. *** t4003-diff-rename-1.sh *** ok 53 - diff-cache O with A in cache ok 54 - diff-cache O with B in cache ok 55 - diff-cache A with B in cache ok 56 - diff-files with O in cache and A checked out ok 57 - diff-files with O in cache and B checked out ok 1 - prepare reference tree ok 58 - diff-files with A in cache and B checked out ok 2 - prepare work tree ok 59 - diff-tree O A == diff-tree -R A O ok 3 - validate output from rename/copy detection (#1) ok 4 - prepare work tree again ok 60 - diff-tree -r O A == diff-tree -r -R A O ok 61 - diff-tree B A == diff-tree -R A B ok 5 - validate output from rename/copy detection (#2) ok 6 - prepare work tree once again ok 62 - diff-tree -r B A == diff-tree -r -R A B ok 7 - validate output from rename/copy detection (#3) # passed all 7 test(s) 1..7 ok 63 - diff can read from stdin # passed all 63 test(s) 1..63 *** t4004-diff-rename-symlink.sh *** *** t4005-diff-rename-2.sh *** ok 1 - prepare reference tree ok 2 - prepare work tree ok 1 - setup reference tree ok 3 - setup diff output ok 4 - validate diff output # passed all 4 test(s) 1..4 *** t4006-diff-mode.sh *** ok 2 - validate output from rename/copy detection (#1) ok 3 - validate output from rename/copy detection (#2) ok 4 - validate output from rename/copy detection (#3) # passed all 4 test(s) 1..4 *** t4007-rename-3.sh *** ok 1 - setup ok 2 - chmod ok 3 - prepare binary file ok 1 - prepare reference tree ok 4 - --stat output after text chmod ok 2 - prepare work tree ok 5 - --shortstat output after text chmod ok 3 - copy detection ok 6 - --stat output after binary chmod ok 4 - copy detection, cached ok 7 - --shortstat output after binary chmod # passed all 7 test(s) 1..7 *** t4008-diff-break-rewrite.sh *** ok 5 - copy, limited to a subtree ok 6 - tweak work tree ok 7 - rename detection ok 8 - rename, limited to a subtree # passed all 8 test(s) 1..8 *** t4009-diff-rename-4.sh *** ok 1 - setup ok 2 - change file1 with copy-edit of file0 and remove file0 ok 3 - run diff with -B (#1) ok 1 - prepare reference tree ok 4 - run diff with -B and -M (#2) ok 2 - prepare work tree ok 5 - swap file0 and file1 ok 6 - run diff with -B (#3) ok 3 - validate output from rename/copy detection (#1) ok 4 - prepare work tree again ok 7 - run diff with -B and -M (#4) ok 5 - validate output from rename/copy detection (#2) ok 6 - prepare work tree once again ok 8 - make file0 into something completely different ok 9 - run diff with -B (#5) ok 7 - validate output from rename/copy detection (#3) # passed all 7 test(s) 1..7 ok 10 - run diff with -B -M (#6) *** t4010-diff-pathspec.sh *** ok 11 - run diff with -M (#7) ok 12 - file1 edited to look like file0 and file0 rename-edited to file2 ok 13 - run diff with -B (#8) ok 14 - run diff with -B -C (#9) # passed all 14 test(s) 1..14 *** t4011-diff-symlink.sh *** ok 1 - setup ok 2 - limit to path should show nothing ok 3 - limit to path1 should show path1/file1 ok 4 - limit to path1/ should show path1/file1 ok 5 - "*file1" should show path1/file1 ok 6 - limit to file0 should show file0 ok 7 - limit to file0/ should emit nothing. ok 1 - diff new symlink and file ok 8 - diff-tree pathspec ok 9 - diff-tree with wildcard shows dir also matches ok 2 - diff unchanged symlink and file ok 10 - diff-tree -r with wildcard ok 11 - diff-tree with wildcard shows dir also matches ok 3 - diff removed symlink and file ok 12 - diff-tree -r with wildcard from beginning ok 13 - diff-tree -r with wildcard ok 4 - diff identical, but newly created symlink and file ok 5 - diff different symlink and file ok 6 - diff symlinks with non-existing targets ok 7 - setup symlinks with attributes ok 14 - setup submodules ok 8 - symlinks do not respect userdiff config by path # passed all 8 test(s) 1..8 *** t4012-diff-binary.sh *** ok 15 - diff-tree ignores trailing slash on submodule path ok 16 - diff multiple wildcard pathspecs ok 17 - diff-cache ignores trailing slash on submodule path # passed all 17 test(s) 1..17 *** t4013-diff-various.sh *** ok 1 - prepare repository ok 2 - apply --stat output for binary file change ok 3 - diff --shortstat output for binary file change ok 4 - diff --shortstat output for binary file change only ok 5 - apply --numstat notices binary file change ok 6 - apply --numstat understands diff --binary format ok 7 - apply detecting corrupt patch correctly ok 8 - apply detecting corrupt patch correctly ok 9 - initial commit ok 10 - diff-index with --binary ok 11 - apply binary patch ok 12 - diff --no-index with binary creation ok 13 - diff --stat with binary files and big change count # passed all 13 test(s) 1..13 *** t4014-format-patch.sh *** ok 1 - setup ok 2 - git diff-tree initial # magic is (not used) ok 3 - git diff-tree -r initial # magic is (not used) ok 4 - git diff-tree -r --abbrev initial # magic is (not used) ok 5 - git diff-tree -r --abbrev=4 initial # magic is (not used) ok 6 - git diff-tree --root initial # magic is (not used) ok 7 - git diff-tree --root --abbrev initial # magic is (not used) ok 8 - git diff-tree --root --abbrev initial # magic is noellipses ok 9 - git diff-tree --root -r initial # magic is (not used) ok 10 - git diff-tree --root -r --abbrev initial # magic is (not used) ok 11 - git diff-tree --root -r --abbrev initial # magic is noellipses ok 1 - setup ok 2 - format-patch --ignore-if-in-upstream ok 12 - git diff-tree --root -r --abbrev=4 initial # magic is (not used) ok 3 - format-patch --ignore-if-in-upstream ok 13 - git diff-tree --root -r --abbrev=4 initial # magic is noellipses ok 4 - format-patch --ignore-if-in-upstream handles tags ok 14 - git diff-tree -p initial # magic is (not used) ok 15 - git diff-tree --root -p initial # magic is (not used) ok 16 - git diff-tree --root -p --abbrev=10 initial # magic is (not used) ok 5 - format-patch doesn't consider merge commits ok 17 - git diff-tree --root -p --full-index initial # magic is (not used) ok 6 - format-patch result applies ok 18 - git diff-tree --root -p --full-index --abbrev=10 initial # magic is (not used) ok 19 - git diff-tree --patch-with-stat initial # magic is (not used) ok 7 - format-patch --ignore-if-in-upstream result applies ok 8 - commit did not screw up the log message ok 9 - format-patch did not screw up the log message ok 20 - git diff-tree --root --patch-with-stat initial # magic is (not used) ok 10 - replay did not screw up the log message ok 11 - format-patch empty commit ok 21 - git diff-tree --patch-with-raw initial # magic is (not used) ok 12 - extra headers ok 13 - extra headers without newlines ok 22 - git diff-tree --root --patch-with-raw initial # magic is (not used) ok 14 - extra headers with multiple To:s ok 23 - git diff-tree --pretty initial # magic is (not used) ok 15 - additional command line cc (ascii) ok 24 - git diff-tree --pretty --root initial # magic is (not used) not ok 16 - additional command line cc (rfc822) # TODO known breakage ok 17 - command line headers ok 25 - git diff-tree --pretty -p initial # magic is (not used) ok 18 - configuration headers and command line headers ok 26 - git diff-tree --pretty --stat initial # magic is (not used) ok 19 - command line To: header (ascii) not ok 20 - command line To: header (rfc822) # TODO known breakage ok 27 - git diff-tree --pretty --summary initial # magic is (not used) not ok 21 - command line To: header (rfc2047) # TODO known breakage ok 22 - configuration To: header (ascii) ok 28 - git diff-tree --pretty --stat --summary initial # magic is (not used) not ok 23 - configuration To: header (rfc822) # TODO known breakage ok 29 - git diff-tree --pretty --root -p initial # magic is (not used) not ok 24 - configuration To: header (rfc2047) # TODO known breakage ok 25 - format.from=false ok 30 - git diff-tree --pretty --root --stat initial # magic is (not used) ok 26 - format.from=true ok 27 - format.from with address ok 31 - git diff-tree --pretty --root --summary initial # magic is (not used) ok 28 - --no-from overrides format.from ok 32 - git diff-tree --pretty --root --summary -r initial # magic is (not used) ok 29 - --from overrides format.from ok 30 - --no-to overrides config.to ok 33 - git diff-tree --pretty --root --stat --summary initial # magic is (not used) ok 31 - --no-to and --to replaces config.to ok 34 - git diff-tree --pretty --patch-with-stat initial # magic is (not used) ok 32 - --no-cc overrides config.cc ok 35 - git diff-tree --pretty --root --patch-with-stat initial # magic is (not used) ok 33 - --no-add-header overrides config.headers ok 36 - git diff-tree --pretty --patch-with-raw initial # magic is (not used) ok 34 - multiple files ok 37 - git diff-tree --pretty --root --patch-with-raw initial # magic is (not used) ok 38 - git diff-tree --pretty=oneline initial # magic is (not used) ok 35 - filename length limit ok 39 - git diff-tree --pretty=oneline --root initial # magic is (not used) ok 40 - git diff-tree --pretty=oneline -p initial # magic is (not used) ok 41 - git diff-tree --pretty=oneline --root -p initial # magic is (not used) ok 36 - filename length limit from config ok 42 - git diff-tree --pretty=oneline --patch-with-stat initial # magic is (not used) ok 43 - git diff-tree --pretty=oneline --root --patch-with-stat initial # magic is (not used) ok 44 - git diff-tree --pretty=oneline --patch-with-raw initial # magic is (not used) ok 37 - filename limit applies only to basename ok 45 - git diff-tree --pretty=oneline --root --patch-with-raw initial # magic is (not used) ok 38 - reroll count ok 39 - reroll count (-v) ok 46 - git diff-tree --pretty side # magic is (not used) ok 40 - reroll count (-v) with a fractional number ok 47 - git diff-tree --pretty -p side # magic is (not used) ok 41 - reroll (-v) count with a non number ok 42 - reroll (-v) count with a non-pathname character ok 48 - git diff-tree --pretty --patch-with-stat side # magic is (not used) ok 43 - no threading ok 49 - git diff-tree initial mode # magic is (not used) ok 44 - thread ok 50 - git diff-tree --stat initial mode # magic is (not used) ok 45 - --thread overrides format.thread=deep ok 51 - git diff-tree --summary initial mode # magic is (not used) ok 46 - thread in-reply-to ok 47 - thread cover-letter ok 52 - git diff-tree master # magic is (not used) ok 48 - thread cover-letter in-reply-to ok 53 - git diff-tree -m master # magic is (not used) ok 49 - thread explicit shallow ok 50 - thread deep ok 54 - git diff-tree -p master # magic is (not used) ok 51 - thread deep in-reply-to ok 52 - thread deep cover-letter ok 55 - git diff-tree -p -m master # magic is (not used) ok 53 - thread deep cover-letter in-reply-to ok 56 - git diff-tree -c master # magic is (not used) ok 54 - thread via config ok 57 - git diff-tree -c --abbrev master # magic is (not used) ok 55 - thread deep via config ok 58 - git diff-tree -c --abbrev master # magic is noellipses ok 56 - thread config + override ok 59 - git diff-tree --cc master # magic is (not used) ok 57 - thread config + --no-thread ok 60 - git diff-tree -c --stat master # magic is (not used) ok 61 - git diff-tree --cc --stat master # magic is (not used) ok 58 - excessive subject ok 59 - failure to write cover-letter aborts gracefully ok 62 - git diff-tree -c --stat --summary master # magic is (not used) ok 63 - git diff-tree --cc --stat --summary master # magic is (not used) ok 60 - cover-letter inherits diff options ok 61 - shortlog of cover-letter wraps overly-long onelines ok 64 - git diff-tree -c --stat --summary side # magic is (not used) ok 62 - format-patch respects -U ok 63 - format-patch -p suppresses stat ok 65 - git diff-tree --cc --stat --summary side # magic is (not used) ok 64 - format-patch from a subdirectory (1) ok 65 - format-patch from a subdirectory (2) ok 66 - git diff-tree --cc --shortstat master # magic is (not used) ok 66 - format-patch from a subdirectory (3) ok 67 - format-patch --in-reply-to ok 68 - format-patch --signoff ok 67 - git diff-tree --cc --summary REVERSE # magic is (not used) ok 69 - format-patch --notes --signoff ok 68 - git diff-tree --cc --patch-with-stat master # magic is (not used) ok 69 - git diff-tree --cc --patch-with-stat --summary master # magic is (not used) ok 70 - git diff-tree --cc --patch-with-stat --summary side # magic is (not used) ok 71 - git log master # magic is (not used) ok 70 - format-patch notes output control ok 72 - git log -p master # magic is (not used) ok 73 - git log --root master # magic is (not used) ok 74 - git log --root -p master # magic is (not used) ok 75 - git log --patch-with-stat master # magic is (not used) ok 71 - format-patch with multiple notes refs ok 76 - git log --root --patch-with-stat master # magic is (not used) ok 77 - git log --root --patch-with-stat --summary master # magic is (not used) ok 78 - git log --root -c --patch-with-stat --summary master # magic is (not used) ok 72 - format-patch with multiple notes refs in config ok 73 - options no longer allowed for format-patch ok 79 - git log --root --cc --patch-with-stat --summary master # magic is (not used) ok 74 - format-patch --numstat should produce a patch ok 80 - git log --no-diff-merges -p --first-parent master # magic is (not used) ok 81 - git log --diff-merges=off -p --first-parent master # magic is (not used) ok 82 - git log --first-parent --diff-merges=off -p master # magic is (not used) ok 75 - format-patch -- ok 76 - format-patch --ignore-if-in-upstream HEAD ok 83 - git log -p --first-parent master # magic is (not used) ok 77 - get git version ok 78 - format-patch default signature ok 79 - format-patch --signature ok 84 - git log -p --diff-merges=first-parent master # magic is (not used) ok 80 - format-patch with format.signature config ok 81 - format-patch --signature overrides format.signature ok 85 - git log --diff-merges=first-parent master # magic is (not used) ok 82 - format-patch --no-signature ignores format.signature ok 83 - format-patch --signature --cover-letter ok 86 - git log -m -p --first-parent master # magic is (not used) ok 84 - format.signature="" suppresses signatures ok 85 - format-patch --no-signature suppresses signatures ok 86 - format-patch --signature="" suppresses signatures ok 87 - prepare mail-signature input ok 87 - git log -m -p master # magic is (not used) ok 88 - --signature-file=file works ok 88 - git log --cc -m -p master # magic is (not used) ok 89 - format.signaturefile works ok 90 - --no-signature suppresses format.signaturefile ok 89 - git log -c -m -p master # magic is (not used) ok 91 - --signature-file overrides format.signaturefile ok 90 - git log -m --raw master # magic is (not used) ok 92 - --signature overrides format.signaturefile ok 93 # skip format-patch --stdout paginates (missing TTY) ok 94 # skip format-patch --stdout pagination can be disabled (missing TTY) ok 91 - git log -m --stat master # magic is (not used) ok 95 - format-patch handles multi-line subjects ok 92 - git log -SF master # magic is (not used) ok 96 - format-patch handles multi-line encoded subjects ok 93 - git log -S F master # magic is (not used) ok 97 - format-patch wraps extremely long subject (ascii) ok 94 - git log -SF -p master # magic is (not used) ok 95 - git log -SF master --max-count=0 # magic is (not used) ok 98 - format-patch wraps extremely long subject (rfc2047) ok 96 - git log -SF master --max-count=1 # magic is (not used) ok 99 - format-patch quotes dot in from-headers ok 97 - git log -SF master --max-count=2 # magic is (not used) ok 100 - format-patch quotes double-quote in from-headers ok 98 - git log -GF master # magic is (not used) ok 101 - format-patch uses rfc2047-encoded from-headers when necessary ok 99 - git log -GF -p master # magic is (not used) ok 102 - rfc2047-encoded from-headers leave no rfc822 specials ok 100 - git log -GF -p --pickaxe-all master # magic is (not used) ok 103 - format-patch wraps moderately long from-header (ascii) ok 101 - git log -IA -IB -I1 -I2 -p master # magic is (not used) ok 104 - format-patch wraps extremely long from-header (ascii) ok 102 - git log --decorate --all # magic is (not used) ok 105 - format-patch wraps extremely long from-header (rfc822) ok 103 - git log --decorate=full --all # magic is (not used) ok 106 - format-patch wraps extremely long from-header (rfc2047) ok 104 - git log --decorate --clear-decorations --all # magic is (not used) ok 107 - format-patch wraps extremely long from-header (non-ASCII without Q-encoding) ok 105 - git log --decorate=full --clear-decorations --all # magic is (not used) ok 108 - subject lines are unencoded with --no-encode-email-headers ok 106 - git rev-list --parents HEAD # magic is (not used) ok 107 - git rev-list --children HEAD # magic is (not used) ok 109 - subject lines are unencoded with format.encodeEmailHeaders=false ok 108 - git whatchanged master # magic is (not used) ok 110 - --encode-email-headers overrides format.encodeEmailHeaders ok 109 - git whatchanged master # magic is noellipses ok 111 - subject lines do not have 822 atom-quoting ok 112 - subject prefixes have space prepended ok 110 - git whatchanged -p master # magic is (not used) ok 113 - empty subject prefix does not have extra space ok 114 - --rfc and --no-rfc ok 111 - git whatchanged --root master # magic is (not used) ok 115 - --rfc=WIP and --rfc= ok 112 - git whatchanged --root master # magic is noellipses ok 116 - --rfc=-(WIP) appends ok 117 - --rfc does not overwrite prefix ok 118 - --rfc is argument order independent ok 113 - git whatchanged --root -p master # magic is (not used) ok 119 - --subject-prefix="" and -k cannot be used together ok 120 - --subject-prefix="" and -k cannot be used together ok 121 - --rfc and -k cannot be used together ok 122 - --from=ident notices bogus ident ok 123 - --from=ident replaces author ok 114 - git whatchanged --patch-with-stat master # magic is (not used) ok 124 - --from uses committer ident ok 125 - --from omits redundant in-body header ok 126 - with --force-in-body-from, redundant in-body from is kept ok 115 - git whatchanged --root --patch-with-stat master # magic is (not used) ok 127 - format.forceInBodyFrom, equivalent to --force-in-body-from ok 128 - format.forceInBodyFrom, equivalent to --force-in-body-from ok 116 - git whatchanged --root --patch-with-stat --summary master # magic is (not used) ok 129 - in-body headers trigger content encoding ok 117 - git whatchanged --root -c --patch-with-stat --summary master # magic is (not used) ok 130 - signoff: commit with no body ok 131 - signoff: commit with only subject ok 118 - git whatchanged --root --cc --patch-with-stat --summary master # magic is (not used) ok 132 - signoff: commit with only subject that does not end with NL ok 119 - git whatchanged -SF master # magic is (not used) ok 133 - signoff: no existing signoffs ok 134 - signoff: no existing signoffs and no trailing NL ok 120 - git whatchanged -SF master # magic is noellipses ok 135 - signoff: some random signoff ok 121 - git whatchanged -SF -p master # magic is (not used) ok 136 - signoff: misc conforming footer elements ok 137 - signoff: some random signoff-alike ok 122 - git log --patch-with-stat master -- dir/ # magic is (not used) ok 138 - signoff: not really a signoff ok 123 - git whatchanged --patch-with-stat master -- dir/ # magic is (not used) ok 139 - signoff: not really a signoff (2) ok 140 - signoff: valid S-o-b paragraph in the middle ok 124 - git log --patch-with-stat --summary master -- dir/ # magic is (not used) ok 141 - signoff: the same signoff at the end ok 125 - git whatchanged --patch-with-stat --summary master -- dir/ # magic is (not used) ok 142 - signoff: the same signoff at the end, no trailing NL ok 126 - git show initial # magic is (not used) ok 143 - signoff: the same signoff NOT at the end ok 144 - signoff: tolerate garbage in conforming footer ok 127 - git show --root initial # magic is (not used) ok 128 - git show side # magic is (not used) ok 145 - signoff: respect trailer config ok 129 - git show master # magic is (not used) ok 146 - signoff: footer begins with non-signoff without @ sign ok 130 - git show -c master # magic is (not used) ok 147 - format patch ignores color.ui ok 131 - git show -m master # magic is (not used) ok 132 - git show --first-parent master # magic is (not used) ok 148 - format patch respects diff.relative ok 133 - git show --stat side # magic is (not used) ok 149 - cover letter with invalid --cover-from-description and config ok 134 - git show --stat --summary side # magic is (not used) ok 150 - cover letter with format.coverFromDescription = default ok 135 - git show --patch-with-stat side # magic is (not used) ok 136 - git show --patch-with-raw side # magic is (not used) ok 151 - cover letter with --cover-from-description default ok 137 - git show --patch-with-raw side # magic is noellipses ok 152 - cover letter with format.coverFromDescription = none ok 138 - git show --patch-with-stat --summary side # magic is (not used) ok 153 - cover letter with --cover-from-description none ok 139 - git format-patch --stdout initial..side # magic is (not used) ok 140 - git format-patch --stdout initial..master^ # magic is (not used) ok 154 - cover letter with format.coverFromDescription = message ok 141 - git format-patch --stdout initial..master # magic is (not used) ok 155 - cover letter with --cover-from-description message ok 142 - git format-patch --stdout --no-numbered initial..master # magic is (not used) ok 156 - cover letter with format.coverFromDescription = subject ok 143 - git format-patch --stdout --numbered initial..master # magic is (not used) ok 157 - cover letter with --cover-from-description subject ok 144 - git format-patch --attach --stdout initial..side # magic is (not used) ok 145 - git format-patch --attach --stdout --suffix=.diff initial..side # magic is (not used) ok 158 - cover letter with --cover-from-description subject (UTF-8 subject line) ok 146 - git format-patch --attach --stdout initial..master^ # magic is (not used) ok 159 - cover letter with format.coverFromDescription = auto (short subject line) ok 147 - git format-patch --attach --stdout initial..master # magic is (not used) ok 160 - cover letter with --cover-from-description auto (short subject line) ok 148 - git format-patch --inline --stdout initial..side # magic is (not used) ok 161 - cover letter with format.coverFromDescription = auto (long subject line) ok 149 - git format-patch --inline --stdout initial..master^ # magic is (not used) ok 162 - cover letter with --cover-from-description auto (long subject line) ok 150 - git format-patch --inline --stdout --numbered-files initial..master # magic is (not used) ok 151 - git format-patch --inline --stdout initial..master # magic is (not used) ok 163 - cover letter with command-line --cover-from-description overrides config ok 164 - cover letter using branch description (1) ok 152 - git format-patch --inline --stdout --subject-prefix=TESTCASE initial..master # magic is (not used) ok 165 - cover letter using branch description (2) ok 153 - git config format.subjectprefix DIFFERENT_PREFIX # magic is (not used) ok 166 - cover letter using branch description (3) ok 154 - git format-patch --inline --stdout initial..master^^ # magic is (not used) ok 167 - cover letter using branch description (4) ok 155 - git format-patch --stdout --cover-letter -n initial..master^ # magic is (not used) ok 168 - cover letter using branch description (5) ok 156 - git diff --abbrev initial..side # magic is (not used) ok 169 - cover letter using branch description (6) ok 157 - git diff -U initial..side # magic is (not used) ok 170 - cover letter with --description-file ok 171 - cover letter with nothing ok 158 - git diff -U1 initial..side # magic is (not used) ok 172 - cover letter auto ok 159 - git diff -r initial..side # magic is (not used) ok 160 - git diff --stat initial..side # magic is (not used) ok 173 - cover letter auto user override ok 161 - git diff -r --stat initial..side # magic is (not used) ok 174 - format-patch --zero-commit ok 175 - From line has expected format ok 162 - git diff initial..side # magic is (not used) ok 163 - git diff --patch-with-stat initial..side # magic is (not used) ok 176 - format-patch -o with no leading directories ok 164 - git diff --patch-with-raw initial..side # magic is (not used) ok 177 - format-patch -o with leading existing directories ok 165 - git diff --patch-with-raw initial..side # magic is noellipses ok 178 - format-patch -o with leading non-existing directories ok 166 - git diff --patch-with-stat -r initial..side # magic is (not used) ok 167 - git diff --patch-with-raw -r initial..side # magic is (not used) ok 179 - format-patch format.outputDirectory option ok 168 - git diff --patch-with-raw -r initial..side # magic is noellipses ok 180 - format-patch -o overrides format.outputDirectory ok 169 - git diff --name-status dir2 dir # magic is (not used) ok 181 - format-patch forbids multiple outputs ok 170 - git diff --no-index --name-status dir2 dir # magic is (not used) ok 182 - configured outdir does not conflict with output options ok 171 - git diff --no-index --name-status -- dir2 dir # magic is (not used) ok 183 - format-patch --output ok 172 - git diff --no-index dir dir3 # magic is (not used) ok 184 - format-patch --cover-letter --output ok 173 - git diff master master^ side # magic is (not used) ok 174 - git diff --line-prefix=abc master master^ side # magic is (not used) ok 175 - git diff --dirstat master~1 master~2 # magic is (not used) ok 185 - format-patch --base ok 176 - git diff --dirstat initial rearrange # magic is (not used) ok 186 - format-patch --base errors out when base commit is in revision list ok 177 - git diff --dirstat-by-file initial rearrange # magic is (not used) ok 178 - git diff --dirstat --cc master~1 master # magic is (not used) ok 179 - git diff --raw initial # magic is (not used) ok 180 - git diff --raw initial # magic is noellipses ok 181 - git diff --raw --abbrev=4 initial # magic is (not used) ok 182 - git diff --raw --abbrev=4 initial # magic is noellipses ok 183 - git diff --raw --no-abbrev initial # magic is (not used) ok 184 - git diff --no-index --raw dir2 dir # magic is (not used) ok 187 - format-patch --base errors out when base commit is not ancestor of revision list ok 185 - git diff --no-index --raw dir2 dir # magic is noellipses ok 186 - git diff --no-index --raw --abbrev=4 dir2 dir # magic is (not used) ok 187 - git diff --no-index --raw --abbrev=4 dir2 dir # magic is noellipses ok 188 - git diff --no-index --raw --no-abbrev dir2 dir # magic is (not used) ok 188 - format-patch --base=auto ok 189 - git diff-tree --pretty --root --stat --compact-summary initial # magic is (not used) ok 190 - git diff-tree --pretty -R --root --stat --compact-summary initial # magic is (not used) ok 191 - git diff-tree --pretty note # magic is (not used) ok 192 - git diff-tree --pretty --notes note # magic is (not used) ok 193 - git diff-tree --format=%N note # magic is (not used) ok 194 - git diff-tree --stat --compact-summary initial mode # magic is (not used) ok 195 - git diff-tree -R --stat --compact-summary initial mode # magic is (not used) ok 196 - log -m matches pure log ok 189 - format-patch errors out when history involves criss-cross ok 197 - log --diff-merges=on matches --diff-merges=separate ok 190 - format-patch format.useAutoBase whenAble history involves criss-cross ok 198 - log --dd matches --diff-merges=1 -p ok 199 - deny wrong log.diffMerges config ok 191 - format-patch format.useAutoBase option ok 192 - format-patch format.useAutoBase option with whenAble ok 200 - git config log.diffMerges first-parent ok 193 - format-patch --base overrides format.useAutoBase ok 194 - format-patch --no-base overrides format.useAutoBase ok 201 - git config log.diffMerges first-parent vs -m ok 195 - format-patch --no-base overrides format.useAutoBase whenAble ok 202 - git diff-index -m ok 196 - format-patch --base with --attach ok 203 - log -S requires an argument ok 197 - format-patch --attach cover-letter only is non-multipart ok 204 - diff --cached on unborn branch ok 198 - format-patch with format.attach ok 205 - diff --cached -- file on unborn branch ok 206 - diff --line-prefix with spaces ok 199 - format-patch with format.attach=disabled ok 207 - diff-tree --stdin with log formatting ok 208 - diff-tree --stdin with pathspec ok 200 - -c format.mboxrd format-patch ok 209 - show A B ... -- ok 210 - diff -I: setup ok 211 - diff -I ok 212 - diff -I --stat ok 213 - diff -I: detect malformed regex ok 201 - interdiff: setup ok 214 - diff-files does not respect diff.noPrefix ok 202 - interdiff: cover-letter ok 215 - diff-files respects --no-prefix ok 203 - interdiff: reroll-count ok 216 - diff respects diff.noPrefix ok 204 - interdiff: reroll-count with a non-integer ok 217 - diff --default-prefix overrides diff.noPrefix ok 205 - interdiff: reroll-count with a integer ok 218 - diff respects diff.mnemonicPrefix ok 206 - interdiff: solo-patch ok 219 - diff --default-prefix overrides diff.mnemonicPrefix ok 220 - diff respects diff.srcPrefix ok 221 - diff respects diff.dstPrefix ok 222 - diff --src-prefix overrides diff.srcPrefix ok 207 - range-diff: solo-patch ok 223 - diff --dst-prefix overrides diff.dstPrefix ok 208 - interdiff: multi-patch, implicit --cover-letter ok 224 - diff.{src,dst}Prefix ignored with diff.noPrefix ok 225 - diff.{src,dst}Prefix ignored with diff.mnemonicPrefix ok 209 - interdiff: explicit --no-cover-letter defeats implied --cover-letter ok 210 - format-patch does not respect diff.noprefix ok 226 - diff.{src,dst}Prefix ignored with --default-prefix ok 227 - diff --no-renames cannot be abbreviated ok 211 - format-patch respects format.noprefix # passed all 227 test(s) 1..227 ok 212 - format-patch --default-prefix overrides format.noprefix # still have 5 known breakage(s) # passed all remaining 207 test(s) 1..212 *** t4015-diff-whitespace.sh *** *** t4016-diff-quote.sh *** ok 1 - status with --patch (different) ok 2 - status with --patch (mode differs) ok 3 - status with --patch (removing an empty file) ok 4 - status with --patch (different but equivalent) ok 5 - status with --quiet (different) ok 6 - status with --quiet (mode differs) ok 1 - setup ok 2 - setup expected files ok 3 - git diff --summary -M HEAD ok 7 - status with --quiet (removing an empty file) ok 4 - git diff --numstat -M HEAD ok 8 - status with --quiet (different but equivalent) ok 5 - git diff --stat -M HEAD # passed all 5 test(s) ok 9 - status with -s (different) 1..5 *** t4017-diff-retval.sh *** ok 10 - status with -s (mode differs) ok 11 - status with -s (removing an empty file) ok 12 - status with -s (different but equivalent) ok 13 - status with --stat (different) ok 14 - status with --stat (mode differs) ok 15 - status with --stat (removing an empty file) ok 16 - status with --stat (different but equivalent) ok 17 - status with --shortstat (different) ok 18 - status with --shortstat (mode differs) ok 19 - status with --shortstat (removing an empty file) ok 20 - status with --shortstat (different but equivalent) ok 21 - status with --dirstat=lines (different) ok 1 - setup ok 2 - git diff --quiet -w HEAD^^ HEAD^ ok 3 - git diff --quiet HEAD^^ HEAD^ ok 22 - status with --dirstat=lines (mode differs) ok 4 - git diff --quiet -w HEAD^ HEAD ok 5 - git diff-tree HEAD^ HEAD ok 23 - status with --dirstat=lines (removing an empty file) ok 6 - git diff-tree HEAD^ HEAD -- a ok 7 - git diff-tree HEAD^ HEAD -- b ok 24 - status with --dirstat=lines (different but equivalent) ok 8 - echo HEAD | git diff-tree --stdin ok 25 - status with --raw (different) ok 9 - git diff-tree HEAD HEAD ok 10 - git diff-files ok 11 - git diff-index --cached HEAD ok 12 - git diff-index --cached HEAD^ ok 26 - status with --raw (mode differs) ok 13 - git diff-index --cached HEAD^ ok 27 - status with --raw (removing an empty file) ok 28 - status with --raw (different but equivalent) ok 14 - git diff-tree -Stext HEAD^ HEAD -- b ok 15 - git diff-tree -Snot-found HEAD^ HEAD -- b ok 29 - status with --name-only (different) ok 16 - git diff-files ok 17 - git diff-index --cached HEAD ok 18 - --check --exit-code returns 0 for no difference ok 30 - status with --name-only (mode differs) ok 19 - --check --exit-code returns 1 for a clean difference ok 20 - --check --exit-code returns 3 for a dirty difference ok 21 - --check with --no-pager returns 2 for dirty difference ok 31 - status with --name-only (removing an empty file) ok 22 - check should test not just the last line ok 32 - status with --name-only (different but equivalent) ok 33 - status with --name-status (different) ok 34 - status with --name-status (mode differs) ok 35 - status with --name-status (removing an empty file) ok 36 - status with --name-status (different but equivalent) ok 23 - check detects leftover conflict markers ok 37 - Ray Lehtiniemi's example ok 24 - check honors conflict marker length ok 25 - option errors are not confused by --exit-code ok 26 - git diff --exit-code returns 1 for changed binary file ok 27 - git diff --exit-code returns 1 for copied file ok 28 - git diff --exit-code returns 1 for renamed file ok 29 - git diff --quiet returns 1 for changed binary file ok 30 - git diff --quiet returns 1 for copied file ok 38 - another test, without options ok 31 - git diff --quiet returns 1 for renamed file ok 39 - ignore-blank-lines: only new lines ok 40 - ignore-blank-lines: only new lines with space ok 41 - ignore-blank-lines: after change ok 42 - ignore-blank-lines: before change ok 32 - setup dirty subrepo ok 43 - ignore-blank-lines: between changes ok 33 - git diff --exit-code --submodule=diff returns 1 for dirty subrepo ok 44 - ignore-blank-lines: between changes (with interhunkctx) ok 34 - git diff --exit-code --submodule=log returns 1 for dirty subrepo ok 35 - git diff --exit-code --submodule=short returns 1 for dirty subrepo ok 45 - ignore-blank-lines: scattered spaces ok 36 - git diff --quiet --submodule=diff returns 1 for dirty subrepo ok 37 - git diff --quiet --submodule=log returns 1 for dirty subrepo ok 38 - git diff --quiet --submodule=short returns 1 for dirty subrepo # passed all 38 test(s) 1..38 ok 46 - ignore-blank-lines: spaces coalesce *** t4018-diff-funcname.sh *** ok 47 - ignore-blank-lines: mix changes and blank lines ok 48 - check mixed spaces and tabs in indent ok 49 - check mixed tabs and spaces in indent ok 50 - check with no whitespace errors ok 51 - check with trailing whitespace ok 52 - check with space before tab in indent ok 53 - --check and --exit-code are not exclusive ok 54 - --check and --quiet are not exclusive ok 55 - -w and --exit-code interact sensibly ok 56 - -I and --exit-code interact sensibly ok 1 - setup ok 57 - check staged with no whitespace errors ok 58 - check staged with trailing whitespace ok 2 - setup: test-tool userdiff ok 59 - check staged with space before tab in indent ok 3 - builtin ada pattern compiles ok 4 - builtin ada wordRegex pattern compiles ok 60 - check with no whitespace errors (diff-index) ok 61 - check with trailing whitespace (diff-index) ok 62 - check with space before tab in indent (diff-index) ok 63 - check staged with no whitespace errors (diff-index) ok 64 - check staged with trailing whitespace (diff-index) ok 65 - check staged with space before tab in indent (diff-index) ok 66 - check with no whitespace errors (diff-tree) ok 67 - check with trailing whitespace (diff-tree) ok 5 - builtin ada pattern compiles on bare repo with --attr-source ok 68 - check with space before tab in indent (diff-tree) ok 6 - builtin bash pattern compiles ok 7 - builtin bash wordRegex pattern compiles ok 69 - check with ignored trailing whitespace attr (diff-tree) ok 70 - check trailing whitespace (trailing-space: off) ok 71 - check trailing whitespace (trailing-space: on) ok 72 - check space before tab in indent (space-before-tab: off) ok 73 - check space before tab in indent (space-before-tab: on) ok 74 - check spaces as indentation (indent-with-non-tab: off) ok 75 - check spaces as indentation (indent-with-non-tab: on) ok 76 - ditto, but tabwidth=9 ok 77 - check tabs and spaces as indentation (indent-with-non-tab: on) ok 8 - builtin bash pattern compiles on bare repo with --attr-source ok 78 - ditto, but tabwidth=10 ok 9 - builtin bibtex pattern compiles ok 10 - builtin bibtex wordRegex pattern compiles ok 79 - ditto, but tabwidth=20 ok 80 - check tabs as indentation (tab-in-indent: off) ok 81 - check tabs as indentation (tab-in-indent: on) ok 82 - check tabs and spaces as indentation (tab-in-indent: on) ok 83 - ditto, but tabwidth=1 (must be irrelevant) ok 84 - check tab-in-indent and indent-with-non-tab conflict ok 85 - check tab-in-indent excluded from wildcard whitespace attribute ok 86 - line numbers in --check output are correct ok 87 - checkdiff detects new trailing blank lines (1) ok 88 - checkdiff detects new trailing blank lines (2) ok 89 - checkdiff allows new blank lines ok 11 - builtin bibtex pattern compiles on bare repo with --attr-source ok 12 - builtin cpp pattern compiles ok 13 - builtin cpp wordRegex pattern compiles ok 90 - whitespace-only changes not reported (diff) ok 91 - whitespace-only changes not reported (diffstat) ok 92 - whitespace changes with modification reported (diffstat) ok 93 - whitespace-only changes reported across renames (diffstat) ok 14 - builtin cpp pattern compiles on bare repo with --attr-source ok 15 - builtin csharp pattern compiles ok 16 - builtin csharp wordRegex pattern compiles ok 94 - whitespace-only changes reported across renames ok 95 - rename empty ok 17 - builtin csharp pattern compiles on bare repo with --attr-source ok 18 - builtin css pattern compiles ok 19 - builtin css wordRegex pattern compiles ok 96 - combined diff with autocrlf conversion ok 97 - setup diff colors ok 98 - diff that introduces a line with only tabs ok 20 - builtin css pattern compiles on bare repo with --attr-source ok 21 - builtin dts pattern compiles ok 22 - builtin dts wordRegex pattern compiles ok 99 - diff that introduces and removes ws breakages ok 100 - ws-error-highlight test setup ok 101 - test --ws-error-highlight option ok 102 - test diff.wsErrorHighlight config ok 23 - builtin dts pattern compiles on bare repo with --attr-source ok 24 - builtin elixir pattern compiles ok 25 - builtin elixir wordRegex pattern compiles ok 103 - option overrides diff.wsErrorHighlight ok 104 - detect moved code, complete file ok 105 - --color-moved with --no-ext-diff ok 26 - builtin elixir pattern compiles on bare repo with --attr-source ok 27 - builtin fortran pattern compiles ok 28 - builtin fortran wordRegex pattern compiles ok 106 - detect malicious moved code, inside file ok 29 - builtin fortran pattern compiles on bare repo with --attr-source ok 30 - builtin fountain pattern compiles ok 31 - builtin fountain wordRegex pattern compiles ok 107 - plain moved code, inside file ok 32 - builtin fountain pattern compiles on bare repo with --attr-source ok 108 - detect blocks of moved code ok 33 - builtin golang pattern compiles ok 34 - builtin golang wordRegex pattern compiles ok 109 - detect permutations inside moved code -- dimmed-zebra ok 110 - zebra alternate color is only used when necessary ok 35 - builtin golang pattern compiles on bare repo with --attr-source ok 111 - short lines of opposite sign do not get marked as moved ok 36 - builtin html pattern compiles ok 37 - builtin html wordRegex pattern compiles ok 112 - cmd option assumes configured colored-moved ok 38 - builtin html pattern compiles on bare repo with --attr-source ok 113 - no effect on diff from --color-moved with --word-diff ok 39 - builtin java pattern compiles ok 114 - no effect on show from --color-moved with --word-diff ok 40 - builtin java wordRegex pattern compiles ok 115 - set up whitespace tests ok 116 - move detection ignoring whitespace ok 117 - move detection ignoring whitespace changes ok 41 - builtin java pattern compiles on bare repo with --attr-source ok 42 - builtin kotlin pattern compiles ok 43 - builtin kotlin wordRegex pattern compiles ok 118 - move detection ignoring whitespace at eol ok 119 - clean up whitespace-test colors ok 120 - --color-moved block at end of diff output respects MIN_ALNUM_COUNT ok 121 - --color-moved respects MIN_ALNUM_COUNT ok 44 - builtin kotlin pattern compiles on bare repo with --attr-source ok 45 - builtin markdown pattern compiles ok 46 - builtin markdown wordRegex pattern compiles ok 122 - --color-moved treats adjacent blocks as separate for MIN_ALNUM_COUNT ok 123 - --color-moved rewinds for MIN_ALNUM_COUNT ok 47 - builtin markdown pattern compiles on bare repo with --attr-source ok 48 - builtin matlab pattern compiles ok 49 - builtin matlab wordRegex pattern compiles ok 50 - builtin matlab pattern compiles on bare repo with --attr-source ok 51 - builtin objc pattern compiles ok 52 - builtin objc wordRegex pattern compiles ok 124 - move detection with submodules ok 125 - only move detection ignores white spaces ok 53 - builtin objc pattern compiles on bare repo with --attr-source ok 126 - compare whitespace delta across moved blocks ok 54 - builtin pascal pattern compiles ok 55 - builtin pascal wordRegex pattern compiles ok 127 - bogus settings in move detection erroring out ok 128 - compare whitespace delta incompatible with other space options ok 129 - compare mixed whitespace delta across moved blocks ok 130 - combine --ignore-blank-lines with --function-context ok 131 - combine --ignore-blank-lines with --function-context 2 # passed all 131 test(s) 1..131 *** t4019-diff-wserror.sh *** ok 56 - builtin pascal pattern compiles on bare repo with --attr-source ok 57 - builtin perl pattern compiles ok 58 - builtin perl wordRegex pattern compiles ok 1 - setup ok 2 - default ok 3 - default (attribute) ok 59 - builtin perl pattern compiles on bare repo with --attr-source ok 60 - builtin php pattern compiles ok 4 - default, tabwidth=10 (attribute) ok 61 - builtin php wordRegex pattern compiles ok 5 - no check (attribute) ok 6 - no check, tabwidth=10 (attribute), must be irrelevant ok 7 - without -trail ok 8 - without -trail (attribute) ok 9 - without -space ok 10 - without -space (attribute) ok 62 - builtin php pattern compiles on bare repo with --attr-source ok 11 - with indent-non-tab only ok 63 - builtin python pattern compiles ok 64 - builtin python wordRegex pattern compiles ok 12 - with indent-non-tab only (attribute) ok 13 - with indent-non-tab only, tabwidth=10 ok 14 - with indent-non-tab only, tabwidth=10 (attribute) ok 15 - with cr-at-eol ok 16 - with cr-at-eol (attribute) ok 17 - trailing empty lines (1) ok 18 - trailing empty lines (2) ok 19 - checkdiff shows correct line number for trailing blank lines ok 65 - builtin python pattern compiles on bare repo with --attr-source ok 66 - builtin ruby pattern compiles ok 20 - do not color trailing cr in context ok 67 - builtin ruby wordRegex pattern compiles ok 21 - color new trailing blank lines # passed all 21 test(s) 1..21 *** t4020-diff-external.sh *** ok 68 - builtin ruby pattern compiles on bare repo with --attr-source ok 69 - builtin rust pattern compiles ok 70 - builtin rust wordRegex pattern compiles ok 1 - setup ok 2 - GIT_EXTERNAL_DIFF environment ok 3 - GIT_EXTERNAL_DIFF environment should apply only to diff ok 4 - GIT_EXTERNAL_DIFF environment and --no-ext-diff ok 5 - typechange diff ok 6 - diff.external ok 71 - builtin rust pattern compiles on bare repo with --attr-source ok 7 - diff.external should apply only to diff ok 72 - builtin scheme pattern compiles ok 73 - builtin scheme wordRegex pattern compiles ok 8 - diff.external and --no-ext-diff ok 9 - diff attribute ok 10 - diff attribute should apply only to diff ok 11 - diff attribute and --no-ext-diff ok 12 - diff attribute ok 13 - diff attribute should apply only to diff ok 14 - diff attribute and --no-ext-diff ok 15 - GIT_EXTERNAL_DIFF trumps diff.external ok 74 - builtin scheme pattern compiles on bare repo with --attr-source ok 75 - builtin tex pattern compiles ok 16 - attributes trump GIT_EXTERNAL_DIFF and diff.external ok 17 - no diff with -diff ok 18 - setup output files ok 76 - builtin tex wordRegex pattern compiles ok 19 - external diff 'echo output; exit 0;' with trustExitCode=off via attribute ok 20 - external diff 'echo output; exit 0;' with trustExitCode=off via diff.external ok 21 - external diff 'echo output; exit 0;' with trustExitCode=off via GIT_EXTERNAL_DIFF ok 22 - external diff 'echo output; exit 1;' with trustExitCode=off via attribute ok 23 - external diff 'echo output; exit 1;' with trustExitCode=off via diff.external ok 77 - builtin tex pattern compiles on bare repo with --attr-source ok 24 - external diff 'echo output; exit 1;' with trustExitCode=off via GIT_EXTERNAL_DIFF ok 78 - builtin custom1 pattern compiles ok 79 - builtin custom1 wordRegex pattern compiles ok 25 - external diff 'echo output; exit 0;' with trustExitCode=on via attribute ok 26 - external diff 'echo output; exit 0;' with trustExitCode=on via diff.external ok 27 - external diff 'echo output; exit 0;' with trustExitCode=on via GIT_EXTERNAL_DIFF ok 28 - external diff 'echo output; exit 1;' with trustExitCode=on via attribute ok 29 - external diff 'echo output; exit 1;' with trustExitCode=on via diff.external ok 30 - external diff 'echo output; exit 1;' with trustExitCode=on via GIT_EXTERNAL_DIFF ok 80 - builtin custom1 pattern compiles on bare repo with --attr-source ok 31 - external diff 'echo output; exit 2;' with trustExitCode=on via attribute ok 81 - builtin custom2 pattern compiles ok 82 - builtin custom2 wordRegex pattern compiles ok 32 - external diff 'echo output; exit 2;' with trustExitCode=on via diff.external ok 33 - external diff 'echo output; exit 2;' with trustExitCode=on via GIT_EXTERNAL_DIFF ok 34 - external diff 'echo output; exit 0;' with trustExitCode=off via attribute with --exit-code ok 35 - external diff 'echo output; exit 0;' with trustExitCode=off via diff.external with --exit-code ok 36 - external diff 'echo output; exit 0;' with trustExitCode=off via GIT_EXTERNAL_DIFF with --exit-code ok 37 - external diff 'echo output; exit 1;' with trustExitCode=off via attribute with --exit-code ok 83 - builtin custom2 pattern compiles on bare repo with --attr-source ok 84 - builtin custom3 pattern compiles ok 85 - builtin custom3 wordRegex pattern compiles ok 38 - external diff 'echo output; exit 1;' with trustExitCode=off via diff.external with --exit-code ok 39 - external diff 'echo output; exit 1;' with trustExitCode=off via GIT_EXTERNAL_DIFF with --exit-code ok 40 - external diff 'echo output; exit 0;' with trustExitCode=on via attribute with --exit-code ok 41 - external diff 'echo output; exit 0;' with trustExitCode=on via diff.external with --exit-code ok 42 - external diff 'echo output; exit 0;' with trustExitCode=on via GIT_EXTERNAL_DIFF with --exit-code ok 43 - external diff 'echo output; exit 1;' with trustExitCode=on via attribute with --exit-code ok 86 - builtin custom3 pattern compiles on bare repo with --attr-source ok 44 - external diff 'echo output; exit 1;' with trustExitCode=on via diff.external with --exit-code ok 45 - external diff 'echo output; exit 1;' with trustExitCode=on via GIT_EXTERNAL_DIFF with --exit-code ok 87 - last regexp must not be negated ok 46 - external diff 'echo output; exit 2;' with trustExitCode=on via attribute with --exit-code ok 47 - external diff 'echo output; exit 2;' with trustExitCode=on via diff.external with --exit-code ok 48 - external diff 'echo output; exit 2;' with trustExitCode=on via GIT_EXTERNAL_DIFF with --exit-code ok 49 - external diff 'echo output; exit 0;' with trustExitCode=off via attribute with --quiet ok 50 - external diff 'echo output; exit 0;' with trustExitCode=off via diff.external with --quiet ok 51 - external diff 'echo output; exit 0;' with trustExitCode=off via GIT_EXTERNAL_DIFF with --quiet ok 52 - external diff 'echo output; exit 1;' with trustExitCode=off via attribute with --quiet ok 53 - external diff 'echo output; exit 1;' with trustExitCode=off via diff.external with --quiet ok 54 - external diff 'echo output; exit 1;' with trustExitCode=off via GIT_EXTERNAL_DIFF with --quiet ok 55 - external diff 'echo output; exit 0;' with trustExitCode=on via attribute with --quiet ok 56 - external diff 'echo output; exit 0;' with trustExitCode=on via diff.external with --quiet ok 57 - external diff 'echo output; exit 0;' with trustExitCode=on via GIT_EXTERNAL_DIFF with --quiet ok 58 - external diff 'echo output; exit 1;' with trustExitCode=on via attribute with --quiet ok 59 - external diff 'echo output; exit 1;' with trustExitCode=on via diff.external with --quiet ok 60 - external diff 'echo output; exit 1;' with trustExitCode=on via GIT_EXTERNAL_DIFF with --quiet ok 61 - external diff 'echo output; exit 2;' with trustExitCode=on via attribute with --quiet ok 88 - setup hunk header tests ok 89 - hunk header: README ok 90 - hunk header: bash-arithmetic-function ok 62 - external diff 'echo output; exit 2;' with trustExitCode=on via diff.external with --quiet ok 91 - hunk header: bash-bashism-style-compact ok 92 - hunk header: bash-bashism-style-function ok 63 - external diff 'echo output; exit 2;' with trustExitCode=on via GIT_EXTERNAL_DIFF with --quiet ok 93 - hunk header: bash-bashism-style-whitespace ok 94 - hunk header: bash-conditional-function ok 64 - force diff with "diff" ok 95 - hunk header: bash-missing-parentheses ok 96 - hunk header: bash-mixed-style-compact ok 97 - hunk header: bash-mixed-style-function ok 98 - hunk header: bash-nested-functions ok 65 - GIT_EXTERNAL_DIFF with more than one changed files ok 99 - hunk header: bash-other-characters ok 100 - hunk header: bash-posix-style-compact ok 66 - GIT_EXTERNAL_DIFF path counter/total ok 101 - hunk header: bash-posix-style-function ok 102 - hunk header: bash-posix-style-whitespace ok 103 - hunk header: bash-subshell-function ok 67 - GIT_EXTERNAL_DIFF generates pretty paths ok 104 - hunk header: bash-trailing-comment ok 105 - hunk header: cpp-c++-function ok 106 - hunk header: cpp-class-constructor ok 107 - hunk header: cpp-class-constructor-mem-init ok 68 - external diff with autocrlf = true ok 108 - hunk header: cpp-class-definition ok 109 - hunk header: cpp-class-definition-derived ok 110 - hunk header: cpp-class-destructor ok 69 - diff --cached ok 111 - hunk header: cpp-function-returning-global-type ok 112 - hunk header: cpp-function-returning-nested ok 70 - clean up crlf leftovers ok 113 - hunk header: cpp-function-returning-pointer ok 114 - hunk header: cpp-function-returning-reference ok 115 - hunk header: cpp-gnu-style-function ok 116 - hunk header: cpp-namespace-definition ok 117 - hunk header: cpp-operator-definition ok 118 - hunk header: cpp-skip-access-specifiers ok 119 - hunk header: cpp-skip-comment-block ok 120 - hunk header: cpp-skip-labels ok 121 - hunk header: cpp-struct-definition ok 122 - hunk header: cpp-struct-single-line ok 123 - hunk header: cpp-template-function-definition ok 124 - hunk header: cpp-union-definition ok 125 - hunk header: cpp-void-c-function ok 71 - submodule diff # passed all 71 test(s) 1..71 ok 126 - hunk header: csharp-exclude-assignments *** t4021-format-patch-numbered.sh *** ok 127 - hunk header: csharp-exclude-control-statements ok 128 - hunk header: csharp-exclude-exceptions ok 129 - hunk header: csharp-exclude-generic-method-calls ok 130 - hunk header: csharp-exclude-init-dispose ok 131 - hunk header: csharp-exclude-iterations ok 132 - hunk header: csharp-exclude-method-calls ok 133 - hunk header: csharp-exclude-other ok 134 - hunk header: csharp-method ok 135 - hunk header: csharp-method-array ok 136 - hunk header: csharp-method-explicit ok 137 - hunk header: csharp-method-generics ok 138 - hunk header: csharp-method-generics-alternate-spaces ok 139 - hunk header: csharp-method-modifiers ok 140 - hunk header: csharp-method-multiline ok 141 - hunk header: csharp-method-params ok 1 - setup ok 142 - hunk header: csharp-method-special-chars ok 2 - single patch defaults to no numbers ok 143 - hunk header: csharp-method-with-spacing ok 3 - multiple patch defaults to numbered ok 144 - hunk header: csharp-property ok 4 - Use --numbered ok 145 - hunk header: csharp-property-braces-same-line ok 146 - hunk header: css-attribute-value-selector ok 5 - format.numbered = true ok 147 - hunk header: css-block-level-@-statements ok 6 - format.numbered && single patch ok 148 - hunk header: css-brace-in-col-1 ok 7 - format.numbered && --no-numbered ok 149 - hunk header: css-class-selector ok 8 - format.numbered && --keep-subject ok 150 - hunk header: css-colon-eol ok 151 - hunk header: css-colon-selector ok 9 - format.numbered = auto ok 152 - hunk header: css-common ok 153 - hunk header: css-id-selector ok 10 - format.numbered = auto && single patch ok 154 - hunk header: css-long-selector-list ok 11 - format.numbered = auto && --no-numbered ok 155 - hunk header: css-prop-sans-indent ok 12 - --start-number && --numbered ok 156 - hunk header: css-root-selector ok 13 - single patch with cover-letter defaults to numbers ok 157 - hunk header: css-short-selector-list ok 158 - hunk header: css-trailing-space ok 14 - Use --no-numbered and --cover-letter single patch # passed all 14 test(s) 1..14 ok 159 - hunk header: custom1-pattern *** t4022-diff-rewrite.sh *** ok 160 - hunk header: custom2-match-to-end-of-line ok 161 - hunk header: custom3-alternation-in-pattern ok 162 - hunk header: dts-labels ok 163 - hunk header: dts-node-unitless ok 164 - hunk header: dts-nodes ok 165 - hunk header: dts-nodes-boolean-prop ok 166 - hunk header: dts-nodes-comment1 ok 167 - hunk header: dts-nodes-comment2 ok 168 - hunk header: dts-nodes-multiline-prop ok 169 - hunk header: dts-reference ok 170 - hunk header: dts-root ok 171 - hunk header: dts-root-comment ok 172 - hunk header: elixir-do-not-pick-end ok 173 - hunk header: elixir-ex-unit-test ok 174 - hunk header: elixir-function ok 175 - hunk header: elixir-macro ok 1 - setup ok 176 - hunk header: elixir-module ok 2 - detect rewrite ok 177 - hunk header: elixir-module-func ok 3 - show deletion diff without -D ok 178 - hunk header: elixir-nested-module ok 4 - suppress deletion diff with -D ok 179 - hunk header: elixir-private-function ok 5 - show deletion diff with -B ok 180 - hunk header: elixir-protocol ok 6 - suppress deletion diff with -B -D ok 181 - hunk header: elixir-protocol-implementation ok 182 - hunk header: fortran-block-data ok 7 - prepare a file that ends with an incomplete line ok 8 - rewrite the middle 90% of sequence file and terminate with newline ok 183 - hunk header: fortran-comment ok 9 - confirm that sequence file is considered a rewrite ok 184 - hunk header: fortran-comment-keyword ok 10 - no newline at eof is on its own line without -B ok 185 - hunk header: fortran-comment-legacy ok 11 - no newline at eof is on its own line with -B ok 186 - hunk header: fortran-comment-legacy-star # passed all 11 test(s) 1..11 *** t4023-diff-rename-typechange.sh *** ok 187 - hunk header: fortran-external-function ok 188 - hunk header: fortran-external-subroutine ok 189 - hunk header: fortran-module ok 190 - hunk header: fortran-module-procedure ok 191 - hunk header: fortran-program ok 192 - hunk header: fountain-scene ok 193 - hunk header: golang-complex-function ok 194 - hunk header: golang-func ok 195 - hunk header: golang-interface ok 196 - hunk header: golang-long-func ok 197 - hunk header: golang-struct ok 198 - hunk header: java-class-brace-on-separate-line ok 199 - hunk header: java-class-member-function ok 200 - hunk header: java-class-space-before-type-parameters ok 201 - hunk header: java-class-type-parameters ok 202 - hunk header: java-class-type-parameters-implements ok 203 - hunk header: java-enum-constant ok 204 - hunk header: java-interface-type-parameters ok 205 - hunk header: java-interface-type-parameters-extends ok 206 - hunk header: java-method-return-generic-bounded ok 207 - hunk header: java-method-return-generic-wildcard ok 208 - hunk header: java-nested-field ok 209 - hunk header: java-non-sealed ok 210 - hunk header: java-record ok 211 - hunk header: java-record-space-before-components ok 212 - hunk header: java-record-type-parameters ok 213 - hunk header: java-sealed ok 214 - hunk header: java-sealed-permits ok 215 - hunk header: java-sealed-type-parameters ok 216 - hunk header: java-sealed-type-parameters-implements-permits ok 217 - hunk header: java-sealed-type-parameters-permits ok 218 - hunk header: kotlin-class ok 219 - hunk header: kotlin-enum-class ok 220 - hunk header: kotlin-fun ok 221 - hunk header: kotlin-inheritace-class ok 222 - hunk header: kotlin-inline-class ok 1 - setup ok 223 - hunk header: kotlin-interface ok 224 - hunk header: kotlin-nested-fun ok 225 - hunk header: kotlin-public-class ok 226 - hunk header: kotlin-sealed-class ok 2 - cross renames to be detected for regular files ok 227 - hunk header: markdown-heading-indented ok 228 - hunk header: markdown-heading-non-headings ok 3 - cross renames to be detected for typechange ok 229 - hunk header: matlab-class-definition ok 4 - moves and renames # passed all 4 test(s) 1..4 ok 230 - hunk header: matlab-function *** t4024-diff-optimize-common.sh *** ok 231 - hunk header: matlab-octave-section-1 ok 232 - hunk header: matlab-octave-section-2 ok 233 - hunk header: matlab-section ok 234 - hunk header: perl-skip-end-of-heredoc ok 235 - hunk header: perl-skip-forward-decl ok 236 - hunk header: perl-skip-sub-in-pod ok 237 - hunk header: perl-sub-definition ok 238 - hunk header: perl-sub-definition-kr-brace ok 239 - hunk header: php-abstract-class ok 240 - hunk header: php-abstract-method ok 241 - hunk header: php-class ok 242 - hunk header: php-enum ok 243 - hunk header: php-final-class ok 244 - hunk header: php-final-method ok 245 - hunk header: php-function ok 246 - hunk header: php-interface ok 247 - hunk header: php-method ok 248 - hunk header: php-trait ok 249 - hunk header: python-async-def ok 250 - hunk header: python-class ok 251 - hunk header: python-def ok 252 - hunk header: python-indented-async-def ok 253 - hunk header: python-indented-class ok 1 - setup ok 254 - hunk header: python-indented-def ok 255 - hunk header: rust-fn ok 256 - hunk header: rust-impl ok 257 - hunk header: rust-macro-rules ok 258 - hunk header: rust-struct ok 259 - hunk header: rust-trait ok 260 - hunk header: scheme-class ok 261 - hunk header: scheme-def ok 262 - hunk header: scheme-def-variant ok 263 - hunk header: scheme-define-slash-public ok 264 - hunk header: scheme-define-syntax ok 265 - hunk header: scheme-define-variant ok 266 - hunk header: scheme-library ok 267 - hunk header: scheme-local-define ok 268 - hunk header: scheme-module ok 269 - hunk header: scheme-top-level-define ok 270 - hunk header: scheme-user-defined-define # passed all 270 test(s) 1..270 *** t4025-hunk-header.sh *** ok 2 - diff -U0 # passed all 2 test(s) 1..2 *** t4026-color.sh *** ok 1 - setup ok 2 - hunk header truncation with an overly long line # passed all 2 test(s) 1..2 *** t4027-diff-submodule.sh *** ok 1 - reset ok 2 - empty color is empty ok 3 - attribute before color name ok 4 - aixterm bright fg color ok 5 - aixterm bright bg color ok 6 - color name before attribute ok 7 - attr fg bg ok 8 - fg attr bg ok 9 - fg bg attr ok 10 - fg bg attr... ok 11 - reset fg bg attr... ok 12 - attr negation ok 13 - "no-" variant of negation ok 14 - long color specification ok 15 - absurdly long color specification ok 16 - 0-7 are aliases for basic ANSI color names ok 17 - 8-15 are aliases for aixterm color names ok 18 - 256 colors ok 19 - RGB colors ok 20 - "default" foreground ok 21 - "normal default" to clear background ok 22 - "default" can be combined with attributes ok 23 - "normal" yields no color at all ok 24 - -1 is a synonym for "normal" ok 25 - color too small ok 26 - color too big ok 27 - extra character after color number ok 28 - extra character after color name ok 29 - extra character after attribute ok 1 - setup ok 2 - git diff --raw HEAD ok 3 - git diff-index --raw HEAD ok 4 - git diff-files --raw ok 30 - non-hex character in RGB color ok 5 - git diff HEAD ok 31 - wrong number of letters in RGB color ok 32 - unknown color slots are ignored (diff) ok 6 - git diff HEAD with dirty submodule (work tree) ok 33 - unknown color slots are ignored (branch) ok 34 - unknown color slots are ignored (status) # passed all 34 test(s) 1..34 *** t4028-format-patch-mime-headers.sh *** ok 7 - git diff HEAD with dirty submodule (index) ok 8 - git diff HEAD with dirty submodule (untracked) ok 9 - git diff HEAD with dirty submodule (untracked) (none ignored) ok 10 - git diff HEAD with dirty submodule (work tree, refs match) ok 1 - create commit with utf-8 body ok 2 - patch has mime headers ok 3 - patch has mime and extra headers # passed all 3 test(s) 1..3 *** t4029-diff-trailing-space.sh *** ok 11 - git diff HEAD with dirty submodule (work tree, refs match) [.gitmodules] ok 12 - git diff HEAD with dirty submodule (index, refs match) ok 13 - git diff HEAD with dirty submodule (untracked, refs match) ok 14 - git diff HEAD with dirty submodule (untracked, refs match) [.gitmodules] ok 1 - diff honors config option, diff.suppressBlankEmpty # passed all 1 test(s) 1..1 *** t4030-diff-textconv.sh *** ok 15 - git diff between submodule commits ok 16 - git diff between submodule commits [.gitmodules] ok 17 - git diff (empty submodule dir) ok 18 - conflicted submodule setup ok 19 - combined (empty submodule) ok 20 - combined (with submodule) # passed all 20 test(s) 1..20 *** t4031-diff-rewrite-binary.sh *** ok 1 - setup binary file with history ok 2 - file is considered binary by porcelain ok 3 - file is considered binary by plumbing ok 4 - setup textconv filters ok 5 - diff produces text ok 6 - show commit produces text ok 7 - diff-tree produces binary ok 1 - create binary file with changes ok 2 - vanilla diff is binary ok 8 - log produces text ok 3 - rewrite diff is binary ok 9 - format-patch produces binary ok 4 - rewrite diff can show binary patch ok 5 - rewrite diff --numstat shows binary changes ok 6 - diff --stat counts binary rewrite as 0 lines ok 7 - setup textconv ok 10 - status -v produces text ok 11 - show blob produces binary ok 12 - show --textconv blob produces text ok 8 - rewrite diff respects textconv # passed all 8 test(s) 1..8 ok 13 - show --no-textconv blob produces binary *** t4032-diff-inter-hunk-context.sh *** ok 14 - grep-diff (-G) operates on textconv data (add) ok 15 - grep-diff (-G) operates on textconv data (modification) ok 16 - pickaxe (-S) operates on textconv data (add) ok 17 - pickaxe (-S) operates on textconv data (modification) ok 18 - diffstat does not run textconv ok 1 - diff -U0, 1 common line: count hunks (2) ok 2 - diff -U0, 1 common line: check output ok 3 - diff -U0 --inter-hunk-context=0, 1 common line: count hunks (2) ok 4 - diff -U0 --inter-hunk-context=0, 1 common line: check output ok 19 - textconv does not act on symlinks # passed all 19 test(s) 1..19 ok 5 - diff -U0 --inter-hunk-context=1, 1 common line: count hunks (1) *** t4033-diff-patience.sh *** ok 6 - diff -U0 --inter-hunk-context=1, 1 common line: check output ok 7 - diff -U0 --inter-hunk-context=2, 1 common line: count hunks (1) ok 8 - diff -U0 --inter-hunk-context=2, 1 common line: check output ok 9 - diff -U1, 1 common line: count hunks (1) ok 10 - diff -U0, 2 common lines: count hunks (2) ok 11 - diff -U0 --inter-hunk-context=0, 2 common lines: count hunks (2) ok 12 - diff -U0 --inter-hunk-context=1, 2 common lines: count hunks (2) ok 13 - diff -U0 --inter-hunk-context=2, 2 common lines: count hunks (1) ok 1 - --ignore-space-at-eol with a single appended character ok 14 - diff -U1, 2 common lines: count hunks (1) ok 15 - diff -U1, 3 common lines: count hunks (2) ok 16 - diff -U1 --inter-hunk-context=0, 3 common lines: count hunks (2) ok 17 - diff -U1 --inter-hunk-context=1, 3 common lines: count hunks (1) ok 18 - diff -U1 --inter-hunk-context=2, 3 common lines: count hunks (1) ok 2 - setup attributes files for tests with patience ok 3 - patience diff from attributes ok 4 - diff from attributes with bare repo with source ok 5 - diff from attributes with bare repo with invalid source ok 6 - patience diff from attributes has valid diffstat ok 7 - patience diff ok 19 - diff -U3, 9 common lines: count hunks (2) ok 8 - patience diff command line precedence before attributes ok 20 - diff -U3 --inter-hunk-context=2, 9 common lines: count hunks (2) ok 21 - diff -U3 --inter-hunk-context=3, 9 common lines: count hunks (1) ok 9 - patience diff attributes precedence before config ok 10 - patience diff output is valid ok 22 - (diff.interHunkContext=0) diff -U0, 1 common line: count hunks (2) ok 23 - (diff.interHunkContext=0) diff -U0, 1 common line: check output ok 11 - completely different files # passed all 11 test(s) 1..11 ok 24 - (diff.interHunkContext=1) diff -U0, 1 common line: count hunks (1) *** t4034-diff-words.sh *** ok 25 - (diff.interHunkContext=1) diff -U0, 1 common line: check output ok 26 - (diff.interHunkContext=2) diff -U0, 1 common line: count hunks (1) ok 27 - (diff.interHunkContext=2) diff -U0, 1 common line: check output ok 28 - (diff.interHunkContext=3) diff -U3, 9 common lines: count hunks (1) ok 29 - (diff.interHunkContext=0) diff -U0, 2 common lines: count hunks (2) ok 30 - (diff.interHunkContext=1) diff -U0, 2 common lines: count hunks (2) ok 31 - (diff.interHunkContext=2) diff -U0, 2 common lines: count hunks (1) ok 32 - (diff.interHunkContext=0) diff -U1, 3 common lines: count hunks (2) ok 33 - (diff.interHunkContext=1) diff -U1, 3 common lines: count hunks (1) ok 34 - (diff.interHunkContext=2) diff -U1, 3 common lines: count hunks (1) ok 1 - setup ok 2 - set up pre and post with runs of whitespace ok 35 - (diff.interHunkContext=2) diff -U3, 9 common lines: count hunks (2) ok 36 - (diff.interHunkContext=3) diff -U3, 9 common lines: count hunks (1) ok 37 - diff.interHunkContext invalid # passed all 37 test(s) 1..37 *** t4035-diff-quiet.sh *** ok 3 - word diff with runs of whitespace ok 4 - --word-diff=porcelain ok 5 - --word-diff=plain ok 6 - --word-diff=plain --color ok 7 - word diff without context ok 1 - setup ok 2 - git diff-tree HEAD^ HEAD ok 8 - word diff with a regular expression ok 3 - git diff-tree HEAD^ HEAD -- a ok 4 - git diff-tree HEAD^ HEAD -- b ok 5 - echo HEAD | git diff-tree --stdin ok 9 - word diff with zero length matches ok 6 - git diff-tree HEAD HEAD ok 10 - set up a diff driver ok 7 - git diff-files ok 8 - git diff-index --cached HEAD ok 9 - git diff-index --cached HEAD^ ok 11 - option overrides .gitattributes ok 10 - git diff-index --cached HEAD^ ok 12 - use regex supplied by driver ok 11 - git diff-tree -Stext HEAD^ HEAD -- b ok 13 - set up diff.wordRegex option ok 12 - git diff-tree -Snot-found HEAD^ HEAD -- b ok 13 - git diff-files ok 14 - git diff-index --cached HEAD ok 14 - command-line overrides config ok 15 - git diff, one file outside repo ok 16 - git diff, both files outside repo ok 17 - git diff --ignore-space-at-eol, one file outside repo ok 15 - command-line overrides config: --word-diff-regex ok 18 - git diff --ignore-space-at-eol, both files outside repo ok 19 - git diff --ignore-all-space, one file outside repo ok 16 - .gitattributes override config ok 20 - git diff --ignore-all-space, both files outside repo ok 17 - setup: remove diff driver regex ok 21 - git diff --quiet ignores stat-change only entries ok 22 - git diff --quiet on a path that need conversion ok 18 - use configured regex # passed all 22 test(s) 1..22 *** t4036-format-patch-signer-mime.sh *** ok 19 - test parsing words for newline ok 20 - test when words are only removed at the end ok 21 - --word-diff=none ok 22 - unset default driver ok 1 - setup ok 2 - format normally ok 3 - format with signoff without funny signer name ok 23 - diff driver 'ada' ok 4 - format with non ASCII signer name ok 5 - attach and signoff do not duplicate mime headers # passed all 5 test(s) 1..5 *** t4037-diff-r-t-dirs.sh *** ok 24 - diff driver 'ada' in Islandic ok 25 - diff driver 'bibtex' ok 26 - diff driver 'bibtex' in Islandic ok 27 - diff driver 'cpp' ok 28 - diff driver 'cpp' in Islandic ok 1 - setup ok 2 - verify # passed all 2 test(s) 1..2 ok 29 - diff driver 'csharp' *** t4038-diff-combined.sh *** ok 30 - diff driver 'csharp' in Islandic ok 31 - diff driver 'css' ok 32 - diff driver 'css' in Islandic ok 33 - diff driver 'dts' ok 34 - diff driver 'dts' in Islandic ok 35 - diff driver 'fortran' ok 36 - diff driver 'fortran' in Islandic ok 37 - diff driver 'html' ok 38 - diff driver 'html' in Islandic ok 1 - setup ok 39 - diff driver 'java' ok 2 - check combined output (1) ok 40 - diff driver 'java' in Islandic ok 3 - check combined output (1) with git diff ^! ok 4 - check combined output (2) ok 41 - diff driver 'kotlin' ok 5 - check combined output (2) with git diff ^! ok 42 - diff driver 'kotlin' in Islandic ok 6 - diagnose truncated file ok 43 - diff driver 'matlab' ok 44 - diff driver 'matlab' in Islandic ok 45 - diff driver 'objc' ok 46 - diff driver 'objc' in Islandic ok 47 - diff driver 'pascal' ok 48 - diff driver 'pascal' in Islandic ok 49 - diff driver 'perl' ok 50 - diff driver 'perl' in Islandic ok 51 - diff driver 'php' ok 52 - diff driver 'php' in Islandic ok 53 - diff driver 'python' ok 54 - diff driver 'python' in Islandic ok 55 - diff driver 'ruby' ok 7 - setup for --cc --raw ok 8 - check --cc --raw with four trees ok 56 - diff driver 'ruby' in Islandic ok 9 - check --cc --raw with forty trees ok 57 - diff driver 'scheme' ok 58 - diff driver 'scheme' in Islandic ok 59 - diff driver 'tex' ok 10 - setup combined ignore spaces ok 11 - check combined output (no ignore space) ok 60 - diff driver 'tex' in Islandic ok 12 - check combined output (ignore space at eol) ok 13 - check combined output (ignore space change) ok 14 - check combined output (ignore all spaces) ok 61 - word-diff with diff.sbe ok 62 - word-diff with no newline at EOF ok 63 - setup history with two files ok 15 - combine diff coalesce simple ok 64 - wordRegex for the first file does not apply to the second # passed all 64 test(s) 1..64 *** t4039-diff-assume-unchanged.sh *** ok 16 - combine diff coalesce tricky ok 1 - setup ok 2 - diff-index does not examine assume-unchanged entries ok 3 - diff-files does not examine assume-unchanged entries ok 4 - find-copies-harder is not confused by mode bits # passed all 4 test(s) 1..4 *** t4040-whitespace-status.sh *** not ok 17 - combine diff coalesce three parents # TODO known breakage ok 1 - setup ok 2 - diff-tree --exit-code ok 18 - combine diff missing delete bug ok 3 - diff-tree -b --exit-code ok 4 - diff-index --cached --exit-code ok 5 - diff-index -b -p --cached --exit-code ok 6 - diff-index --exit-code ok 7 - diff-index -b -p --exit-code ok 8 - diff-files --exit-code ok 9 - diff-files -b -p --exit-code ok 10 - diff-files --diff-filter --quiet ok 11 - diff-tree --diff-filter --quiet ok 19 - combine diff gets tree sorting right # passed all 11 test(s) 1..11 *** t4041-diff-submodule-option.sh *** ok 20 - setup for --combined-all-paths Initialized empty Git repository in /home/udu/aports/main/git/src/git-2.49.1/t/trash directory.t4041-diff-submodule-option/sm1/.git/ ok 21 - --combined-all-paths and --raw ok 22 - --combined-all-paths and --cc ok 1 - added submodule ok 2 - added submodule, set diff.submodule ok 3 - --submodule=short overrides diff.submodule ok 23 - setup for --combined-all-paths with funny names ok 4 - diff.submodule does not affect plumbing ok 24 - --combined-all-paths and --raw and funny names ok 25 - --combined-all-paths and --raw -and -z and funny names ok 26 - --combined-all-paths and --cc and funny names # still have 1 known breakage(s) # passed all remaining 25 test(s) 1..26 ok 5 - modified submodule(forward) *** t4042-diff-textconv-caching.sh *** ok 6 - modified submodule(forward) ok 7 - modified submodule(forward) --submodule ok 8 - modified submodule(forward) --submodule=short ok 9 - modified submodule(backward) ok 10 - modified submodule(backward and forward) ok 11 - typechanged submodule(submodule->blob), --cached ok 1 - setup ok 12 - typechanged submodule(submodule->blob) ok 13 - typechanged submodule(submodule->blob) Initialized empty Git repository in /home/udu/aports/main/git/src/git-2.49.1/t/trash directory.t4041-diff-submodule-option/sm1/.git/ ok 2 - first textconv works ok 3 - cached textconv produces same output ok 4 - cached textconv does not run helper ok 14 - nonexistent commit ok 5 - changing textconv invalidates cache ok 15 - typechanged submodule(blob->submodule) ok 6 - switching diff driver produces correct results ok 16 - submodule is up to date ok 7 - log notes cache and still use cache for -p ok 17 - submodule contains untracked content ok 8 - caching is silently ignored outside repo # passed all 8 test(s) 1..8 ok 18 - submodule contains untracked content (untracked ignored) ok 19 - submodule contains untracked content (dirty ignored) *** t4043-diff-rename-binary.sh *** ok 20 - submodule contains untracked content (all ignored) ok 21 - submodule contains untracked and modified content ok 22 - submodule contains untracked and modified content (untracked ignored) ok 23 - submodule contains untracked and modified content (dirty ignored) ok 24 - submodule contains untracked and modified content (all ignored) ok 25 - submodule contains modified content ok 26 - submodule is modified ok 27 - modified submodule contains untracked content ok 28 - modified submodule contains untracked content (untracked ignored) ok 1 - prepare repository ok 29 - modified submodule contains untracked content (dirty ignored) ok 30 - modified submodule contains untracked content (all ignored) ok 2 - move the files into a "sub" directory ok 31 - modified submodule contains untracked and modified content ok 3 - git show -C -C report renames # passed all 3 test(s) 1..3 *** t4044-diff-index-unique-abbrev.sh *** ok 32 - modified submodule contains untracked and modified content (untracked ignored) ok 33 - modified submodule contains untracked and modified content (dirty ignored) ok 34 - modified submodule contains untracked and modified content (all ignored) ok 35 - modified submodule contains modified content ok 36 - deleted submodule ok 37 - create second submodule ok 38 - multiple submodules ok 39 - path filter ok 40 - given commit ok 41 - given commit --submodule ok 1 - setup ok 2 - diff does not produce ambiguous index line # passed all 2 test(s) 1..2 ok 42 - given commit --submodule=short *** t4045-diff-relative.sh *** ok 43 - setup .git file for sm2 ok 44 - diff --submodule with .git file ok 1 - setup ok 2 - -p --relative=subdir/ ok 45 - diff --submodule with objects referenced by alternates # passed all 45 test(s) 1..45 ok 3 - -p --relative=subdir *** t4046-diff-unmerged.sh *** ok 4 - -p --relative ok 5 - -p --relative=sub ok 6 - --numstat --relative=subdir/ ok 7 - --numstat --relative=subdir ok 8 - --numstat --relative ok 9 - --numstat --relative=sub ok 10 - --stat --relative=subdir/ ok 11 - --stat --relative=subdir ok 12 - --stat --relative ok 13 - --stat --relative=sub ok 14 - --raw --relative=subdir/ ok 15 - --raw --relative=subdir ok 16 - --raw --relative ok 17 - --raw --relative=sub ok 1 - setup ok 2 - diff-files -0 ok 3 - diff-files -1 ok 18 - config diff.relative false -p ok 4 - diff-files -2 ok 5 - diff-files -3 ok 6 - diff --stat ok 19 - config diff.relative true -p --no-relative ok 7 - diff --quiet ok 8 - diff --quiet --ignore-all-space # passed all 8 test(s) 1..8 *** t4047-diff-dirstat.sh *** ok 20 - config diff.relative false -p --no-relative ok 21 - config diff.relative false -p ok 22 - config diff.relative true -p --no-relative ok 23 - config diff.relative false -p --no-relative ok 24 - config diff.relative false -p --relative=subdir/ ok 25 - config diff.relative false -p --relative=subdir ok 26 - config diff.relative true -p --relative=subdir/ ok 27 - config diff.relative true -p --relative=subdir ok 28 - config diff.relative false -p --relative ok 29 - config diff.relative true -p --relative ok 30 - config diff.relative true -p ok 1 - setup ok 31 - config diff.relative false -p --no-relative --relative ok 2 - sanity check setup (--numstat) ok 32 - config diff.relative true -p --no-relative --relative ok 3 - various ways to misspell --dirstat ok 33 - config diff.relative false -p --no-relative --relative=subdir ok 34 - config diff.relative true -p --no-relative --relative=subdir ok 4 - vanilla --dirstat ok 35 - external diff with --relative ok 5 - vanilla -X ok 6 - explicit defaults: --dirstat=changes,noncumulative,3 ok 7 - explicit defaults: -Xchanges,noncumulative,3 ok 8 - later options override earlier options: ok 36 - setup diff --relative unmerged ok 9 - non-defaults in config overridden by explicit defaults on command line ok 37 - diff --relative without change in subdir ok 10 - --dirstat=0 ok 11 - -X0 ok 38 - diff --relative --name-only with change in subdir ok 12 - diff.dirstat=0 not ok 39 - diff --relative with change in subdir # TODO known breakage # still have 1 known breakage(s) # passed all remaining 38 test(s) 1..39 *** t4048-diff-combined-binary.sh *** ok 13 - --dirstat=0 --cumulative ok 14 - --dirstat=0,cumulative ok 15 - -X0,cumulative ok 16 - diff.dirstat=0,cumulative ok 17 - diff.dirstat=0 & --dirstat=cumulative ok 18 - --dirstat-by-file ok 19 - --dirstat=files ok 1 - setup binary merge conflict ok 2 - diff -m indicates binary-ness ok 20 - diff.dirstat=files ok 3 - diff -c indicates binary-ness ok 4 - diff --cc indicates binary-ness ok 21 - --dirstat-by-file=10 ok 22 - --dirstat=files,10 ok 23 - diff.dirstat=10,files ok 24 - --dirstat-by-file --cumulative ok 25 - --dirstat=files,cumulative ok 5 - setup non-binary with binary attribute ok 6 - diff -m respects binary attribute ok 7 - diff -c respects binary attribute ok 8 - diff --cc respects binary attribute ok 26 - diff.dirstat=cumulative,files ok 9 - setup textconv attribute ok 10 - diff -m respects textconv attribute ok 27 - --dirstat=files,cumulative,10 ok 11 - diff -c respects textconv attribute ok 12 - diff --cc respects textconv attribute ok 28 - diff.dirstat=10,cumulative,files ok 13 - diff-tree plumbing does not respect textconv ok 29 - --dirstat=files,cumulative,16.7 ok 14 - diff --cc respects textconv on worktree file # passed all 14 test(s) 1..14 *** t4049-diff-stat-count.sh *** ok 30 - diff.dirstat=16.7,cumulative,files ok 31 - diff.dirstat=16.70,cumulative,files ok 32 - --dirstat=files,cumulative,27.2 ok 33 - --dirstat=files,cumulative,27.09 ok 1 - setup ok 34 - --dirstat=lines ok 2 - mode-only change show as a 0-line change ok 35 - diff.dirstat=lines ok 3 - binary changes do not count in lines ok 4 - exclude unmerged entries from total file count ok 36 - --dirstat=lines,0 # passed all 4 test(s) 1..4 *** t4050-diff-histogram.sh *** ok 37 - diff.dirstat=0,lines ok 38 - --dirstat=future_param,lines,0 should fail loudly ok 39 - --dirstat=dummy1,cumulative,2dummy should report both unrecognized parameters ok 40 - diff.dirstat=future_param,0,lines should warn, but still work ok 41 - --shortstat --dirstat should output only one dirstat # passed all 41 test(s) 1..41 *** t4051-diff-function-context.sh *** ok 1 - setup attributes files for tests with histogram ok 2 - histogram diff from attributes ok 3 - diff from attributes with bare repo with source ok 4 - diff from attributes with bare repo with invalid source ok 5 - histogram diff from attributes has valid diffstat ok 6 - histogram diff ok 7 - histogram diff command line precedence before attributes ok 8 - histogram diff attributes precedence before config ok 9 - histogram diff output is valid ok 10 - completely different files # passed all 10 test(s) 1..10 *** t4052-stat-output.sh *** ok 1 - preparation ok 2 - format-patch: small change with long name gives more space to the name ok 3 - diff: small change with long name gives more space to the name ok 4 - show: small change with long name gives more space to the name ok 1 - setup ok 2 - changed function ok 5 - log: small change with long name gives more space to the name ok 6 - format-patch ignores diff.statNameWidth with long name ok 7 - format-patch --stat=width ignores diff.statNameWidth with long name ok 3 - diff applies ok 4 - context includes comment ok 8 - diff respects diff.statNameWidth with long name ok 5 - context includes begin ok 6 - context includes end ok 7 - context does not include other functions ok 8 - context does not include preceding empty lines ok 9 - diff --stat=width respects diff.statNameWidth with long name ok 9 - context does not include trailing empty lines ok 10 - changed includes ok 10 - show respects diff.statNameWidth with long name ok 11 - show --stat=width respects diff.statNameWidth with long name ok 12 - log respects diff.statNameWidth with long name ok 11 - diff applies ok 12 - context includes begin ok 13 - context includes end ok 13 - log --stat=width respects diff.statNameWidth with long name ok 14 - context does not include other functions ok 15 - context does not include trailing empty lines ok 16 - appended function ok 14 - format-patch --stat=width: a long name is given more room when the bar is short ok 15 - format-patch --stat-width=width with long name ok 16 - format-patch --stat=width,name-width with long name ok 17 - diff applies ok 18 - context includes begin ok 19 - context includes end ok 17 - format-patch --stat-name-width=width with long name ok 20 - context does not include other functions ok 21 - appended function part ok 18 - diff --stat=width: a long name is given more room when the bar is short ok 19 - diff --stat-width=width with long name ok 20 - diff --stat=width,name-width with long name ok 22 - diff applies ok 23 - context includes begin ok 21 - diff --stat-name-width=width with long name ok 24 - context includes end ok 25 - context does not include other functions ok 26 - context does not include preceding empty lines ok 22 - show --stat=width: a long name is given more room when the bar is short ok 27 - change with long common tail and no context ok 23 - show --stat-width=width with long name ok 24 - show --stat=width,name-width with long name ok 25 - show --stat-name-width=width with long name ok 28 - diff applies ok 29 - context includes begin ok 30 - context includes end ok 31 - context does not include other functions ok 26 - log --stat=width: a long name is given more room when the bar is short ok 32 - context does not include preceding empty lines ok 33 - changed function plus appended function ok 27 - log --stat-width=width with long name ok 28 - log --stat=width,name-width with long name ok 29 - log --stat-name-width=width with long name ok 34 - diff applies ok 35 - context includes begin ok 36 - context includes end ok 37 - context does not include other functions ok 38 - changed two consecutive functions ok 30 - preparation for big-change tests ok 39 - diff applies ok 40 - context includes begin ok 31 - format-patch --cover-letter ignores COLUMNS with big change ok 41 - context includes end ok 42 - overlapping hunks are merged # passed all 42 test(s) 1..42 *** t4053-diff-no-index.sh *** ok 32 - format-patch ignores COLUMNS with big change ok 33 - format-patch --graph ignores COLUMNS with big change ok 34 - diff respects COLUMNS with big change ok 35 - show respects COLUMNS with big change ok 36 - log respects COLUMNS with big change ok 37 - log --graph respects COLUMNS with big change ok 38 - format-patch ignores not enough COLUMNS with big change ok 39 - format-patch --graph ignores not enough COLUMNS with big change ok 40 - diff respects not enough COLUMNS with big change ok 41 - show respects not enough COLUMNS with big change ok 42 - log respects not enough COLUMNS with big change ok 1 - setup ok 43 - log --graph respects not enough COLUMNS with big change ok 2 - git diff --no-index --exit-code ok 3 - git diff --no-index directories ok 44 - format-patch ignores diff.statGraphWidth ok 4 - git diff --no-index relative path outside repo ok 5 - git diff --no-index with broken index ok 45 - format-patch --graph ignores diff.statGraphWidth ok 6 - git diff outside repo with broken index ok 46 - diff respects diff.statGraphWidth ok 7 - git diff --no-index executed outside repo gives correct error message ok 47 - show respects diff.statGraphWidth ok 48 - log respects diff.statGraphWidth ok 49 - log --graph respects diff.statGraphWidth ok 8 - diff D F and diff F D ok 50 - format-patch --stat=width with big change ok 9 - turning a file into a directory ok 10 - diff from repo subdir shows real paths (explicit) ok 51 - format-patch --stat-width=width with big change ok 11 - diff from repo subdir shows real paths (implicit) ok 52 - format-patch --stat-graph-width=width with big change ok 53 - format-patch --stat-width=width --graph with big change ok 12 - diff --no-index from repo subdir respects config (explicit) ok 54 - format-patch --stat-graph-width=width --graph with big change ok 13 - diff --no-index from repo subdir respects config (implicit) ok 55 - diff --stat=width with big change ok 14 - diff --no-index from repo subdir with absolute paths ok 56 - diff --stat-width=width with big change ok 15 - diff --no-index allows external diff ok 57 - diff --stat-graph-width=width with big change ok 16 - diff --no-index normalizes mode: no changes ok 58 - show --stat=width with big change ok 17 - diff --no-index normalizes mode: chmod +x ok 59 - show --stat-width=width with big change ok 18 - diff --no-index normalizes: mode not like git mode ok 60 - show --stat-graph-width=width with big change ok 61 - log --stat=width with big change ok 62 - log --stat-width=width with big change ok 19 - diff --no-index normalizes: mode not like git mode (symlink) ok 63 - log --stat-graph-width=width with big change ok 20 - external diff with mode-only change ok 64 - log --stat-width=width --graph with big change ok 65 - log --stat-graph-width=width --graph with big change ok 21 - diff --no-index treats '-' as stdin ok 66 - preparation for long-name tests ok 22 - diff --no-index -R treats '-' as stdin ok 23 - diff --no-index refuses to diff stdin and a directory ok 67 - format-patch --stat=width with big change is more balanced ok 24 - diff --no-index refuses to diff a named pipe and a directory ok 68 - format-patch --stat=width --graph with big change is balanced ok 69 - diff --stat=width with big change is more balanced ok 25 - diff --no-index reads from pipes # passed all 25 test(s) 1..25 ok 70 - show --stat=width with big change is more balanced *** t4054-diff-bogus-tree.sh *** ok 71 - log --stat=width with big change is more balanced ok 72 - log --stat=width --graph with big change is balanced ok 73 - format-patch ignores COLUMNS with long name ok 74 - format-patch --graph ignores COLUMNS with long name ok 75 - diff respects COLUMNS with long name ok 76 - show respects COLUMNS with long name ok 77 - log respects COLUMNS with long name ok 78 - log --graph respects COLUMNS with long name ok 79 - format-patch ignores prefix greater than COLUMNS with big change ok 1 - create bogus tree ok 80 - format-patch --graph ignores prefix greater than COLUMNS with big change ok 81 - diff respects prefix greater than COLUMNS with big change ok 2 - create tree with matching file ok 3 - raw diff shows null sha1 (addition) ok 82 - show respects prefix greater than COLUMNS with big change ok 4 - raw diff shows null sha1 (removal) ok 83 - log respects prefix greater than COLUMNS with big change ok 5 - raw diff shows null sha1 (modification) ok 6 - raw diff shows null sha1 (other direction) ok 84 - log --graph respects prefix greater than COLUMNS with big change ok 7 - raw diff shows null sha1 (reverse) ok 8 - raw diff shows null sha1 (index) ok 9 - patch fails due to bogus sha1 (addition) ok 10 - patch fails due to bogus sha1 (removal) ok 11 - patch fails due to bogus sha1 (modification) ok 12 - patch fails due to bogus sha1 (other direction) ok 85 - merge --stat respects diff.statGraphWidth with big change ok 13 - patch fails due to bogus sha1 (reverse) ok 14 - patch fails due to bogus sha1 (index) # passed all 14 test(s) 1..14 *** t4055-diff-context.sh *** ok 86 - merge --stat respects COLUMNS with big change ok 87 - merge --stat respects diff.statNameWidth with long name ok 88 - merge --stat respects COLUMNS with long name # passed all 88 test(s) 1..88 *** t4056-diff-order.sh *** ok 1 - setup ok 2 - the default number of context lines is 3 ok 3 - diff.context honored by "log" ok 4 - The -U option overrides diff.context ok 5 - diff.context honored by "diff" ok 6 - plumbing not affected ok 7 - non-integer config parsing ok 8 - negative integer config parsing ok 1 - setup ok 9 - -U0 is valid, so is diff.context=0 # passed all 9 test(s) 1..9 ok 2 - no order (=tree object order) *** t4057-diff-combined-paths.sh *** ok 3 - missing orderfile ok 4 - unreadable orderfile ok 5 - orderfile using option from subdir with --output ok 6 - orderfile using option (1) ok 7 - orderfile is fifo (1) ok 8 - orderfile using config (1) ok 9 - cancelling configured orderfile (1) ok 10 - orderfile using option (2) ok 11 - orderfile is fifo (2) ok 12 - orderfile using config (2) ok 13 - cancelling configured orderfile (2) ok 14 - setup for testing combine-diff order ok 15 - combine-diff: no order (=tree object order) ok 16 - combine-diff: orderfile using option (1) ok 17 - combine-diff: orderfile using option (2) ok 18 - rotate and skip setup ok 1 - trivial merge - combine-diff empty ok 19 - diff --rotate-to ok 20 - diff --skip-to ok 21 - diff --rotate/skip-to error condition ok 22 - log --rotate-to ok 23 - log --skip-to # passed all 23 test(s) 1..23 *** t4058-diff-duplicates.sh *** ok 2 - only one truly conflicting path ok 3 - merge introduces new file ok 1 - create trees with duplicate entries ok 2 - create tree without duplicate entries ok 3 - diff-tree between duplicate trees ok 4 - diff-tree with renames ok 4 - merge removed a file # passed all 4 test(s) 1..4 ok 5 - diff-tree FROM duplicate tree ok 6 - diff-tree FROM duplicate tree, with renames *** t4059-diff-submodule-not-initialized.sh *** ok 7 - create a few commits ok 8 - git read-tree does not segfault ok 9 - reset --hard does not segfault ok 10 - git diff HEAD does not segfault not ok 11 - can switch to another branch when status is empty # TODO known breakage ok 12 - forcibly switch to another branch, verify status empty ok 13 - fast-forward from non-duplicate entries to duplicate not ok 14 - clean status, switch branches, status still clean # TODO known breakage ok 15 - switch to base branch and force status to be clean not ok 16 - fast-forward from duplicate entries to non-duplicate # TODO known breakage # still have 3 known breakage(s) # passed all remaining 13 test(s) 1..16 *** t4060-diff-submodule-option-diff-format.sh *** ok 1 - setup - submodules ok 2 - setup - git submodule add ok 3 - submodule directory removed ok 1 - setup repository ok 2 - added submodule ok 3 - added submodule, set diff.submodule ok 4 - setup - submodule multiple commits ok 5 - submodule removed multiple commits ok 4 - --submodule=short overrides diff.submodule ok 6 - submodule not initialized in new clone ok 5 - diff.submodule does not affect plumbing ok 6 - modified submodule(forward) ok 7 - modified submodule(forward) ok 7 - setup submodule moved ok 8 - modified submodule(forward) --submodule ok 9 - modified submodule(forward) --submodule=short ok 8 - submodule moved then removed # passed all 8 test(s) 1..8 ok 10 - modified submodule(backward) *** t4061-diff-indent.sh *** ok 11 - modified submodule(backward and forward) ok 12 - typechanged submodule(submodule->blob), --cached ok 13 - typechanged submodule(submodule->blob) ok 14 - typechanged submodule(submodule->blob) Initialized empty Git repository in /home/udu/aports/main/git/src/git-2.49.1/t/trash directory.t4060-diff-submodule-option-diff-format/sm1/.git/ ok 1 - prepare ok 2 - diff: ugly spaces ok 3 - diff: --no-indent-heuristic overrides config ok 4 - diff: nice spaces with --indent-heuristic ok 5 - diff: nice spaces with diff.indentHeuristic=true ok 15 - nonexistent commit ok 6 - diff: --indent-heuristic with --patience ok 7 - diff: --indent-heuristic with --histogram ok 16 - typechanged submodule(blob->submodule) ok 8 - diff: ugly functions ok 9 - diff: nice functions with --indent-heuristic ok 10 - blame: nice spaces with --indent-heuristic ok 17 - submodule is up to date ok 11 - blame: nice spaces with diff.indentHeuristic=true ok 12 - blame: ugly spaces with --no-indent-heuristic ok 18 - submodule contains untracked content ok 13 - blame: ugly spaces with diff.indentHeuristic=false ok 19 - submodule contains untracked content (untracked ignored) ok 20 - submodule contains untracked content (dirty ignored) ok 21 - submodule contains untracked content (all ignored) ok 14 - blame: --no-indent-heuristic overrides config ok 15 - blame: --indent-heuristic overrides config ok 22 - submodule contains untracked and modified content ok 16 - diff-tree: nice spaces with --indent-heuristic ok 17 - diff-tree: nice spaces with diff.indentHeuristic=true ok 23 - submodule contains untracked and modified content (untracked ignored) ok 18 - diff-tree: ugly spaces with --no-indent-heuristic ok 24 - submodule contains untracked and modified content (dirty ignored) ok 25 - submodule contains untracked and modified content (all ignored) ok 19 - diff-tree: ugly spaces with diff.indentHeuristic=false ok 20 - diff-tree: --indent-heuristic overrides config ok 26 - submodule contains modified content ok 21 - diff-tree: --no-indent-heuristic overrides config ok 22 - diff-index: nice spaces with --indent-heuristic ok 27 - submodule is modified ok 23 - diff-index: nice spaces with diff.indentHeuristic=true ok 28 - modified submodule contains untracked content ok 24 - diff-index: ugly spaces with --no-indent-heuristic ok 29 - modified submodule contains untracked content (untracked ignored) ok 30 - modified submodule contains untracked content (dirty ignored) ok 31 - modified submodule contains untracked content (all ignored) ok 25 - diff-index: ugly spaces with diff.indentHeuristic=false ok 32 - modified submodule contains untracked and modified content ok 26 - diff-index: --indent-heuristic overrides config ok 33 - modified submodule contains untracked and modified content (untracked ignored) ok 27 - diff-index: --no-indent-heuristic overrides config ok 34 - modified submodule contains untracked and modified content (dirty ignored) ok 35 - modified submodule contains untracked and modified content (all ignored) ok 36 - modified submodule contains modified content ok 28 - diff-files: nice spaces with --indent-heuristic ok 37 - deleted submodule ok 29 - diff-files: nice spaces with diff.indentHeuristic=true ok 30 - diff-files: ugly spaces with --no-indent-heuristic ok 38 - create second submodule ok 39 - multiple submodules ok 31 - diff-files: ugly spaces with diff.indentHeuristic=false ok 40 - path filter ok 32 - diff-files: --indent-heuristic overrides config ok 41 - given commit ok 33 - diff-files: --no-indent-heuristic overrides config # passed all 33 test(s) 1..33 *** t4062-diff-pickaxe.sh *** ok 42 - setup .git file for sm2 ok 43 - diff --submodule=diff with .git file ok 44 - deleted submodule with .git file ok 45 - typechanged(submodule->blob) submodule with .git file ok 1 - setup ok 2 - -G matches ok 3 - -S --pickaxe-regex # passed all 3 test(s) 1..3 *** t4063-diff-blobs.sh *** ok 46 - setup nested submodule ok 47 - move nested submodule HEAD ok 48 - diff --submodule=diff with moved nested submodule HEAD ok 49 - diff --submodule=diff recurses into nested submodules ok 1 - create some blobs ok 2 - diff by sha1 ok 3 - index of sha1 diff ok 4 - sha1 diff uses arguments as paths ok 5 - sha1 diff has no mode change ok 6 - diff by tree:path (run) ok 7 - index of tree:path diff ok 8 - tree:path diff uses filenames as paths ok 9 - tree:path diff shows mode change ok 10 - diff by ranged tree:path ok 11 - index of ranged tree:path diff ok 12 - ranged tree:path diff uses filenames as paths ok 50 - diff --submodule=diff recurses into deleted nested submodules ok 13 - ranged tree:path diff shows mode change # passed all 50 test(s) 1..50 ok 14 - diff blob against file ok 15 - index of blob-file diff ok 16 - blob-file diff uses filename as paths *** t4064-diff-oidfind.sh *** ok 17 - blob-file diff shows mode change ok 18 - blob-file diff prefers filename to sha1 # passed all 18 test(s) 1..18 *** t4065-diff-anchored.sh *** ok 1 - --anchored ok 2 - --anchored multiple ok 3 - --anchored with nonexistent line has no effect ok 4 - --anchored with non-unique line has no effect ok 1 - setup ok 5 - diff still produced with impossible multiple --anchored ok 2 - find the greeting blob ok 3 - setup a tree ok 6 - later algorithm arguments override earlier ones ok 4 - find a tree ok 7 - --anchored works with other commands like "git show" # passed all 7 test(s) 1..7 *** t4066-diff-emit-delay.sh *** ok 5 - setup a submodule ok 6 - find a submodule ok 7 - set up merge tests ok 8 - detect merge which introduces blob ok 1 - set up history with a merge ok 2 - log --cc -p --stat --color-moved # passed all 2 test(s) 1..2 *** t4067-diff-partial-clone.sh *** ok 9 - detect merge which removes blob ok 10 - do not detect merge that does not touch blob # passed all 10 test(s) 1..10 *** t4068-diff-symmetric-merge-base.sh *** ok 1 - git show batches blobs ok 2 - diff batches blobs ok 1 - setup ok 2 - diff with one merge base ok 3 - diff with two merge bases ok 4 - diff with no merge bases ok 5 - diff with too many symmetric differences ok 6 - diff with symmetric difference and extraneous arg ok 7 - diff with two ranges ok 8 - diff with ranges and extra arg ok 9 - diff --merge-base with no commits ok 10 - diff --merge-base with three commits ok 11 - diff-index --merge-base with one commit ok 12 - diff-index --merge-base with annotated tag ok 13 - diff-index --merge-base with one commit and unstaged changes ok 3 - diff skips same-OID blobs ok 14 - diff-index --merge-base with one commit and staged and unstaged changes ok 15 - diff-index --merge-base --cached with one commit and staged and unstaged changes ok 16 - diff-index --merge-base with non-commit ok 17 - diff-index --merge-base with no merge bases and one commit ok 18 - diff-index --merge-base with multiple merge bases and one commit ok 19 - diff --merge-base with one commit ok 20 - diff --merge-base with annotated tag ok 21 - diff --merge-base with one commit and unstaged changes ok 22 - diff --merge-base with one commit and staged and unstaged changes ok 23 - diff --merge-base --cached with one commit and staged and unstaged changes ok 24 - diff --merge-base with non-commit ok 25 - diff --merge-base with no merge bases and one commit ok 26 - diff --merge-base with multiple merge bases and one commit ok 27 - diff-tree --merge-base with two commits ok 28 - diff-tree --merge-base commit and non-commit ok 4 - when fetching missing objects, diff skips GITLINKs ok 29 - diff-tree --merge-base with no merge bases and two commits ok 30 - diff-tree --merge-base with multiple merge bases and two commits ok 31 - diff --merge-base with two commits ok 32 - diff --merge-base commit and non-commit ok 33 - diff --merge-base with no merge bases and two commits ok 34 - diff --merge-base with multiple merge bases and two commits ok 35 - diff-tree --merge-base with one commit ok 36 - diff --merge-base with range # passed all 36 test(s) 1..36 *** t4069-remerge-diff.sh *** ok 5 - diff with rename detection batches blobs ok 6 - diff does not fetch anything if inexact rename detection is not needed ok 7 - diff --break-rewrites fetches only if necessary, and batches blobs if it does # passed all 7 test(s) 1..7 *** t4100-apply-stat.sh *** ok 1 - setup basic merges ok 2 - remerge-diff on a clean merge ok 3 - remerge-diff on a clean merge with a filter ok 4 - remerge-diff with both a resolved conflict and an unrelated change ok 5 - pickaxe still includes additional headers for relevant changes ok 6 - can filter out additional headers with pickaxe ok 7 - remerge-diff also works for git-diff-tree ok 1 - rename ok 2 - rename with recount ok 3 - copy ok 4 - copy with recount ok 5 - rewrite ok 6 - rewrite with recount ok 7 - mode ok 8 - mode with recount ok 9 - non git (1) ok 10 - non git (1) with recount ok 11 - non git (2) ok 12 - non git (2) with recount ok 13 - non git (3) ok 14 - non git (3) with recount ok 15 - incomplete (1) ok 16 - incomplete (1) with recount ok 17 - incomplete (2) ok 18 - incomplete (2) with recount ok 19 - applying a hunk header which overflows fails # passed all 19 test(s) 1..19 *** t4101-apply-nonl.sh *** ok 8 - setup non-content conflicts ok 9 - remerge-diff with non-content conflicts ok 10 - remerge-diff w/ diff-filter=U: all conflict headers, no diff content ok 11 - submodule formatting ignores additional headers ok 12 - remerge-diff w/ diff-filter=R: relevant file + conflict header ok 1 - apply diff between 0 and 1 ok 13 - remerge-diff w/ pathspec: limits to relevant file including conflict header ok 2 - apply diff between 0 and 2 ok 3 - apply diff between 0 and 3 ok 4 - apply diff between 1 and 0 ok 5 - apply diff between 1 and 2 ok 6 - apply diff between 1 and 3 ok 7 - apply diff between 2 and 0 ok 8 - apply diff between 2 and 1 ok 9 - apply diff between 2 and 3 ok 10 - apply diff between 3 and 0 ok 11 - apply diff between 3 and 1 ok 12 - apply diff between 3 and 2 # passed all 12 test(s) 1..12 *** t4102-apply-rename.sh *** ok 14 - setup non-content conflicts ok 15 - remerge-diff turns off history simplification ok 16 - remerge-diff with --reverse # passed all 16 test(s) 1..16 *** t4103-apply-binary.sh *** ok 1 - setup ok 2 - apply ok 3 - validate ok 4 - apply reverse ok 5 - apply copy # passed all 5 test(s) 1..5 *** t4104-apply-boundary.sh *** ok 1 - setup ok 1 - setup ok 2 - apply add-a-patch with context ok 2 - stat binary diff -- should not fail. ok 3 - apply add-z-patch with context ok 3 - stat binary -p0 diff -- should not fail. ok 4 - stat binary diff (copy) -- should not fail. ok 4 - apply insert-a-patch with context ok 5 - check binary diff -- should fail. ok 5 - apply mod-a-patch with context ok 6 - check binary diff (copy) -- should fail. ok 6 - apply mod-z-patch with context ok 7 - check incomplete binary diff with replacement -- should fail. ok 7 - apply del-a-patch with context ok 8 - check incomplete binary diff with replacement (copy) -- should fail. ok 8 - apply del-z-patch with context ok 9 - check binary diff with replacement. ok 10 - check binary diff with replacement (copy). ok 9 - apply add-a-patch without context ok 10 - apply add-z-patch without context ok 11 - apply binary diff -- should fail. ok 11 - apply insert-a-patch without context ok 12 - apply binary diff -- should fail. ok 12 - apply mod-a-patch without context ok 13 - apply mod-z-patch without context ok 13 - apply binary diff (copy) -- should fail. ok 14 - apply del-a-patch without context ok 14 - apply binary diff (copy) -- should fail. ok 15 - apply del-z-patch without context ok 16 - apply non-git add-a-patch without context ok 15 - apply binary diff with full-index ok 17 - apply non-git add-z-patch without context ok 16 - apply binary diff with full-index (copy) ok 18 - apply non-git insert-a-patch without context ok 17 - apply full-index binary diff in new repo ok 19 - apply non-git mod-a-patch without context ok 20 - apply non-git mod-z-patch without context ok 18 - apply binary diff without replacement. ok 21 - apply non-git del-a-patch without context ok 19 - apply binary diff without replacement (copy). ok 22 - apply non-git del-z-patch without context ok 20 - apply binary diff. ok 23 - two lines ok 24 - apply patch with 3 context lines matching at end # passed all 24 test(s) 1..24 ok 21 - apply binary diff (copy). *** t4105-apply-fuzz.sh *** ok 22 - apply binary -p0 diff ok 23 - reject truncated binary diff # passed all 23 test(s) 1..23 *** t4106-apply-stdin.sh *** ok 1 - setup ok 2 - unmodified patch ok 3 - minus offset ok 4 - plus offset ok 5 - big offset ok 6 - fuzz with no offset ok 7 - fuzz with minus offset ok 1 - setup ok 2 - git apply --numstat - < patch ok 8 - fuzz with plus offset ok 3 - git apply --numstat - < patch patch # passed all 3 test(s) 1..3 ok 9 - fuzz with big offset *** t4107-apply-ignore-whitespace.sh *** # passed all 9 test(s) 1..9 *** t4108-apply-threeway.sh *** ok 1 - file creation ok 2 - patch2 fails (retab) ok 3 - patch2 applies with --ignore-whitespace ok 4 - patch2 reverse applies with --ignore-space-change ok 5 - patch2 applies (apply.ignorewhitespace = change) ok 6 - patch3 fails (missing string at EOL) ok 7 - patch4 fails (missing EOL at EOF) ok 8 - patch5 fails (leading whitespace differences matter) ok 9 - re-create file (with --ignore-whitespace) ok 10 - patch5 fails (--no-ignore-whitespace) ok 11 - apply --ignore-space-change --inaccurate-eof # passed all 11 test(s) 1..11 *** t4109-apply-multifrag.sh *** ok 1 - setup ok 2 - apply without --3way ok 1 - git apply (1) ok 3 - apply with --3way ok 2 - git apply (2) ok 3 - git apply (3) # passed all 3 test(s) 1..3 *** t4110-apply-scan.sh *** ok 4 - apply with --3way with merge.conflictStyle = diff3 ok 1 - git apply scan # passed all 1 test(s) 1..1 *** t4111-apply-subdir.sh *** ok 5 - apply with --3way --ours ok 6 - apply with --3way --theirs ok 1 - setup ok 2 - setup: subdir ok 3 - apply from subdir of toplevel ok 7 - apply with --3way --union ok 4 - apply --cached from subdir of toplevel ok 8 - apply with --3way with rerere enabled ok 5 - apply --index from subdir of toplevel ok 6 - apply half-broken patch from subdir of toplevel ok 7 - apply from .git dir ok 9 - apply -3 with add/add conflict setup ok 8 - apply from subdir of .git dir ok 10 - apply -3 with add/add conflict ok 9 - apply --cached from .git dir ok 11 - apply -3 with add/add conflict (dirty working tree) ok 10 - apply --cached from subdir of .git dir # passed all 10 test(s) 1..10 *** t4112-apply-renames.sh *** ok 12 - apply -3 with ambiguous repeating file ok 13 - apply with --3way --cached clean apply ok 1 - check rename/copy patch ok 2 - apply rename/copy patch # passed all 2 test(s) 1..2 *** t4113-apply-ending.sh *** ok 14 - apply with --3way --cached and conflicts ok 15 - apply binary file patch ok 1 - setup ok 2 - apply at the end ok 3 - apply at the beginning ok 16 - apply binary file patch with 3way # passed all 3 test(s) 1..3 *** t4114-apply-typechange.sh *** ok 17 - apply full-index patch with 3way ok 18 - apply delete then new patch with 3way # passed all 18 test(s) 1..18 *** t4115-apply-symlink.sh *** ok 1 - setup repository and commits ok 1 - setup ok 2 - file renamed from foo to foo/baz ok 2 - apply symlink patch ok 3 - file renamed from foo/baz to foo ok 3 - apply --index symlink patch ok 4 - directory becomes file ok 4 - symlink setup ok 5 - file becomes directory ok 6 - file becomes symlink ok 5 - symlink escape when creating new files ok 7 - symlink becomes file ok 6 - symlink escape when modifying file ok 8 - symlink becomes file, in reverse ok 7 - symlink escape when deleting file ok 9 - binary file becomes symlink ok 10 - symlink becomes binary file ok 8 - --reject removes .rej symlink if it exists # passed all 8 test(s) 1..8 ok 11 - symlink becomes directory *** t4116-apply-reverse.sh *** ok 12 - directory becomes symlink # passed all 12 test(s) 1..12 *** t4117-apply-reject.sh *** ok 1 - setup ok 1 - setup ok 2 - apply in forward ok 2 - apply --reject is incompatible with --3way ok 3 - apply in reverse ok 3 - apply without --reject should fail ok 4 - apply without --reject should fail ok 5 - apply with --reject should fail but update the file ok 6 - apply with --reject should fail but update the file ok 7 - the same test with --verbose ok 4 - setup separate repository lacking postimage ok 8 - apply cleanly with --verbose # passed all 8 test(s) 1..8 *** t4118-apply-empty-context.sh *** ok 5 - apply in forward without postimage ok 6 - apply in reverse without postimage ok 7 - reversing a whitespace introduction # passed all 7 test(s) 1..7 *** t4119-apply-config.sh *** ok 1 - setup ok 2 - apply --numstat ok 3 - apply --apply # passed all 3 test(s) 1..3 ok 1 - setup *** t4120-apply-popt.sh *** ok 2 - apply --whitespace=strip ok 3 - apply --whitespace=strip from config ok 4 - apply --whitespace=strip in subdir ok 5 - apply --whitespace=strip from config in subdir ok 6 - same in subdir but with traditional patch input ok 7 - same but with traditional patch input of depth 1 ok 8 - same but with traditional patch input of depth 2 ok 1 - setup ok 2 - apply git diff with -p2 ok 9 - same but with traditional patch input of depth 1 ok 3 - apply with too large -p ok 4 - apply (-p2) traditional diff with funny filenames ok 10 - same but with traditional patch input of depth 2 ok 5 - apply with too large -p and fancy filename ok 6 - apply (-p2) diff, mode change only ok 11 - in subdir with traditional patch input # passed all 11 test(s) 1..11 *** t4121-apply-diffs.sh *** ok 7 - file mode was changed ok 8 - apply (-p2) diff, rename # passed all 8 test(s) 1..8 *** t4122-apply-symlink-inside.sh *** ok 1 - setup ok 2 - check if contextually independent diffs for the same file apply # passed all 2 test(s) 1..2 *** t4123-apply-shrink.sh *** ok 1 - setup ok 2 - apply ok 3 - check result ok 4 - do not read from beyond symbolic link ok 1 - setup ok 2 - apply should fail gracefully # passed all 2 test(s) 1..2 *** t4124-apply-ws-rule.sh *** ok 5 - do not follow symbolic link (setup) ok 6 - do not follow symbolic link (same input) ok 1 - setup ok 2 - whitespace=nowarn, default rule ok 3 - whitespace=warn, default rule ok 7 - do not follow symbolic link (existing) # passed all 7 test(s) 1..7 ok 4 - whitespace=error-all, default rule *** t4125-apply-ws-fuzz.sh *** ok 5 - whitespace=error-all, no rule ok 6 - whitespace=error-all, no rule (attribute) ok 7 - spaces inserted by tab-in-indent ok 8 - rule=-trailing,-space,-indent,-tab ok 9 - rule=-trailing,-space,-indent,-tab,tabwidth=16 ok 10 - rule=-trailing,-space,-indent,-tab (attributes) ok 11 - rule=-trailing,-space,-indent,-tab,tabwidth=16 (attributes) ok 1 - setup ok 2 - nofix ok 12 - rule=-trailing,-space,-indent,tab ok 3 - withfix (forward) ok 4 - withfix (backward) # passed all 4 test(s) 1..4 *** t4126-apply-empty.sh *** ok 13 - rule=-trailing,-space,-indent,tab,tabwidth=16 ok 14 - rule=-trailing,-space,-indent,tab (attributes) ok 15 - rule=-trailing,-space,-indent,tab,tabwidth=16 (attributes) ok 16 - rule=-trailing,-space,indent,-tab ok 17 - rule=-trailing,-space,indent,-tab,tabwidth=16 ok 18 - rule=-trailing,-space,indent,-tab (attributes) ok 1 - setup ok 2 - apply empty ok 19 - rule=-trailing,-space,indent,-tab,tabwidth=16 (attributes) ok 3 - apply empty patch fails ok 4 - apply with --allow-empty succeeds ok 20 - rule=-trailing,space,-indent,-tab ok 5 - apply --index empty ok 21 - rule=-trailing,space,-indent,-tab,tabwidth=16 ok 6 - apply create ok 7 - apply --index create ok 22 - rule=-trailing,space,-indent,-tab (attributes) ok 23 - rule=-trailing,space,-indent,-tab,tabwidth=16 (attributes) ok 8 - apply with no-contents and a funny pathname # passed all 8 test(s) 1..8 *** t4127-apply-same-fn.sh *** ok 24 - rule=-trailing,space,-indent,tab ok 25 - rule=-trailing,space,-indent,tab,tabwidth=16 ok 26 - rule=-trailing,space,-indent,tab (attributes) ok 27 - rule=-trailing,space,-indent,tab,tabwidth=16 (attributes) ok 28 - rule=-trailing,space,indent,-tab ok 1 - setup ok 29 - rule=-trailing,space,indent,-tab,tabwidth=16 ok 2 - apply same filename with independent changes ok 30 - rule=-trailing,space,indent,-tab (attributes) ok 31 - rule=-trailing,space,indent,-tab,tabwidth=16 (attributes) ok 3 - apply same filename with overlapping changes ok 4 - apply same filename with overlapping changes, in reverse ok 32 - rule=trailing,-space,-indent,-tab ok 5 - apply same new filename after rename ok 33 - rule=trailing,-space,-indent,-tab,tabwidth=16 ok 34 - rule=trailing,-space,-indent,-tab (attributes) ok 6 - apply same old filename after rename -- should fail. ok 35 - rule=trailing,-space,-indent,-tab,tabwidth=16 (attributes) ok 36 - rule=trailing,-space,-indent,tab ok 37 - rule=trailing,-space,-indent,tab,tabwidth=16 ok 7 - apply A->B (rename), C->A (rename), A->A -- should pass. # passed all 7 test(s) 1..7 *** t4128-apply-root.sh *** ok 38 - rule=trailing,-space,-indent,tab (attributes) ok 39 - rule=trailing,-space,-indent,tab,tabwidth=16 (attributes) ok 40 - rule=trailing,-space,indent,-tab ok 41 - rule=trailing,-space,indent,-tab,tabwidth=16 ok 1 - setup ok 42 - rule=trailing,-space,indent,-tab (attributes) ok 2 - apply --directory -p (1) ok 43 - rule=trailing,-space,indent,-tab,tabwidth=16 (attributes) ok 3 - apply --directory -p (2) ok 4 - apply --directory (new file) ok 44 - rule=trailing,space,-indent,-tab ok 5 - apply --directory -p (new file) ok 45 - rule=trailing,space,-indent,-tab,tabwidth=16 ok 6 - apply --directory (delete file) ok 46 - rule=trailing,space,-indent,-tab (attributes) ok 7 - apply --directory (quoted filename) # passed all 7 test(s) 1..7 *** t4129-apply-samemode.sh *** ok 47 - rule=trailing,space,-indent,-tab,tabwidth=16 (attributes) ok 48 - rule=trailing,space,-indent,tab ok 49 - rule=trailing,space,-indent,tab,tabwidth=16 ok 50 - rule=trailing,space,-indent,tab (attributes) ok 51 - rule=trailing,space,-indent,tab,tabwidth=16 (attributes) ok 1 - setup ok 2 - same mode (no index) ok 52 - rule=trailing,space,indent,-tab ok 3 - same mode (with index) ok 53 - rule=trailing,space,indent,-tab,tabwidth=16 ok 4 - same mode (index only) ok 5 - mode update (no index) ok 54 - rule=trailing,space,indent,-tab (attributes) ok 6 - mode update (with index) ok 55 - rule=trailing,space,indent,-tab,tabwidth=16 (attributes) ok 56 - trailing whitespace & no newline at the end of file ok 7 - mode update (index only) ok 8 - empty mode is rejected ok 57 - blank at EOF with --whitespace=fix (1) ok 9 - bogus mode is rejected ok 58 - blank at EOF with --whitespace=fix (2) ok 59 - blank at EOF with --whitespace=fix (3) ok 10 - do not use core.sharedRepository for working tree files ok 60 - blank at end of hunk, not at EOF with --whitespace=fix ok 61 - blank at EOF with --whitespace=warn ok 62 - blank at EOF with --whitespace=error ok 11 - git apply respects core.fileMode ok 63 - blank but not empty at EOF ok 12 - patch mode for new file is canonicalized ok 64 - applying beyond EOF requires one non-blank context line ok 65 - tons of blanks at EOF should not apply ok 13 - patch mode for deleted file is canonicalized ok 66 - missing blank line at end with --whitespace=fix ok 14 - patch mode for mode change is canonicalized # passed all 14 test(s) 1..14 *** t4130-apply-criss-cross-rename.sh *** ok 67 - two missing blank lines at end with --whitespace=fix ok 68 - missing blank line at end, insert before end, --whitespace=fix ok 69 - shrink file with tons of missing blanks at end of file ok 70 - missing blanks at EOF must only match blank lines ok 71 - missing blank line should match context line with spaces ok 1 - setup ok 2 - criss-cross rename ok 3 - diff -M -B ok 72 - same, but with the --ignore-space-option ok 4 - apply ok 5 - criss-cross rename ok 73 - same, but with CR-LF line endings && cr-at-eol set ok 6 - diff -M -B ok 7 - apply ok 74 - CR-LF line endings && add line && text=auto # passed all 7 test(s) 1..7 *** t4131-apply-fake-ancestor.sh *** ok 75 - CR-LF line endings && change line && text=auto ok 76 - LF in repo, CRLF in worktree && change line && text=auto ok 77 - whitespace=fix to expand ok 78 - whitespace check skipped for excluded paths # passed all 78 test(s) 1..78 *** t4132-apply-removal.sh *** ok 1 - setup ok 1 - setup ok 2 - test addEast.patch ok 2 - apply --build-fake-ancestor ok 3 - test addGMT.patch ok 4 - test addWest.patch ok 5 - test createEast.patch ok 3 - apply --build-fake-ancestor in a subdirectory # passed all 3 test(s) 1..3 *** t4133-apply-filenames.sh *** ok 6 - test createGMT.patch ok 7 - test createWest.patch ok 8 - test emptyEast.patch ok 9 - test emptyGMT.patch ok 10 - test emptyWest.patch ok 11 - test removeEast.patch ok 12 - test removeGMT.patch ok 13 - test removeWest.patch ok 1 - setup ok 14 - test removeWest2.patch # passed all 14 test(s) 1..14 ok 2 - apply diff with inconsistent filenames in headers *** t4134-apply-submodule.sh *** ok 3 - apply diff with new filename missing from headers ok 4 - apply diff with old filename missing from headers # passed all 4 test(s) 1..4 *** t4135-apply-weird-filenames.sh *** ok 1 - setup ok 2 - removing a submodule also removes all leading subdirectories # passed all 2 test(s) 1..2 *** t4136-apply-check.sh *** ok 1 - setup ok 2 - plain, git-style file creation patch ok 3 - plain, traditional patch ok 4 - plain, traditional file creation patch ok 5 - with spaces, git-style file creation patch ok 6 - with spaces, traditional patch ok 1 - setup ok 2 - apply --check exits non-zero with unrecognized input ok 3 - apply exits non-zero with no-op patch ok 7 - with spaces, traditional file creation patch ok 4 - `apply --recount` allows no-op patch ok 5 - invalid combination: create and copy ok 6 - invalid combination: create and rename # passed all 6 test(s) 1..6 *** t4137-apply-submodule.sh *** ok 8 - with tab, git-style file creation patch ok 9 - with tab, traditional patch ok 10 - with tab, traditional file creation patch ok 11 - with backslash, git-style file creation patch ok 12 - with backslash, traditional patch ok 13 - with backslash, traditional file creation patch ok 14 - with quote, git-style file creation patch not ok 15 - with quote, traditional patch # TODO known breakage ok 16 - with quote, traditional file creation patch ok 17 - whitespace-damaged traditional patch ok 18 - traditional patch with colon in timezone ok 19 - traditional, whitespace-damaged, colon in timezone ok 20 - apply handles a diff generated by Subversion # still have 1 known breakage(s) # passed all remaining 19 test(s) 1..20 *** t4138-apply-ws-expansion.sh *** ok 1 - setup ok 2 - apply with ws expansion (t=$t) ok 3 - apply with ws expansion (t=$t) ok 4 - apply with ws expansion (t=$t) ok 5 - apply with ws expansion (t=$t) # passed all 5 test(s) 1..5 *** t4139-apply-escape.sh *** ok 1 - bump git repo one level down ok 2 - cannot create file containing .. ok 3 - can create file containing .. with --unsafe-paths ok 4 - cannot create file containing .. (index) ok 5 - cannot create file containing .. with --unsafe-paths (index) ok 6 - cannot delete file containing .. ok 7 - can delete file containing .. with --unsafe-paths ok 8 - cannot delete file containing .. (index) ok 9 - symlink escape via .. ok 10 - symlink escape via .. (index) ok 11 - symlink escape via absolute path ok 12 - symlink escape via absolute path (index) # passed all 12 test(s) 1..12 *** t4140-apply-ita.sh *** ok 1 - setup ok 2 - apply creation patch to ita path (--cached) ok 3 - apply creation patch to ita path (--index) ok 4 - apply deletion patch to ita path (--cached) ok 5 - apply deletion patch to ita path (--index) # passed all 5 test(s) 1..5 *** t4141-apply-too-large.sh *** ok 1 # skip git apply rejects patches that are too large (missing EXPENSIVE) # passed all 1 test(s) 1..1 *** t4150-am.sh *** ok 1 - setup: messages ok 2 - setup ok 1 - apply_index: added submodule creates empty directory ok 3 - am applies patch correctly ok 4 - am fails if index is dirty ok 5 - am applies patch e-mail not in a mbox ok 6 - am applies patch e-mail not in a mbox with CRLF ok 7 - am applies patch e-mail with preceding whitespace ok 2 - apply_index: added submodule leaves existing empty directory alone ok 8 - am applies stgit patch ok 9 - am --patch-format=stgit applies stgit patch ok 10 - am applies stgit series ok 11 - am applies hg patch ok 12 - am --patch-format=hg applies hg patch ok 13 - am with applypatch-msg hook ok 3 - apply_index: replace tracked file with submodule creates empty directory ok 14 - am with failing applypatch-msg hook ok 15 - am with failing applypatch-msg hook (no verify) ok 16 - am with pre-applypatch hook ok 17 - am with failing pre-applypatch hook ok 18 - am with failing pre-applypatch hook (no verify) ok 4 - apply_index: replace directory with submodule ok 19 - am with post-applypatch hook ok 20 - am with failing post-applypatch hook ok 21 - am --scissors cuts the message at the scissors line ok 22 - am --no-scissors overrides mailinfo.scissors ok 23 - setup: new author and committer ok 5 - apply_index: removed submodule leaves submodule directory and its contents in place ok 24 - am changes committer and keeps author ok 25 - am --signoff adds Signed-off-by: line ok 26 - am stays in branch ok 27 - am --signoff does not add Signed-off-by: line if already there ok 28 - am --signoff adds Signed-off-by: if another author is preset ok 29 - am --signoff duplicates Signed-off-by: if it is not the last one ok 6 - apply_index: removed submodule leaves submodule containing a .git directory alone ok 30 - am without --keep removes Re: and [PATCH] stuff ok 31 - am --keep really keeps the subject ok 32 - am --keep-non-patch really keeps the non-patch part ok 33 - setup am -3 ok 34 - am -3 falls back to 3-way merge ok 7 - apply_index: replace submodule with a directory must fail ok 35 - am -3 -p0 can read --no-prefix patch ok 36 - am with config am.threeWay falls back to 3-way merge ok 37 - am with config am.threeWay overridden by --no-3way ok 38 - am can rename a file ok 39 - am -3 can rename a file ok 40 - am -3 can rename a file after falling back to 3-way merge ok 8 - apply_index: replace submodule containing a .git directory with a directory must fail ok 41 - am -3 -q is quiet ok 42 - am pauses on conflict ok 43 - am --show-current-patch ok 44 - am --show-current-patch=raw ok 45 - am --show-current-patch=diff ok 46 - am accepts repeated --show-current-patch ok 47 - am detects incompatible --show-current-patch ok 48 - am --skip works ok 49 - am --abort removes a stray directory ok 50 - am refuses patches when paused not ok 9 - apply_index: replace submodule with a file must fail # TODO known breakage ok 51 - am --resolved works ok 52 - am --resolved fails if index has no changes ok 53 - am --resolved fails if index has unmerged entries ok 54 - am takes patches from a Pine mailbox ok 55 - am fails on mail without patch not ok 10 - apply_index: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 56 - am fails on empty patch ok 57 - am works from stdin in subdirectory ok 58 - am works from file (relative path given) in subdirectory ok 59 - am works from file (absolute path given) in subdirectory ok 60 - am --committer-date-is-author-date ok 61 - am without --committer-date-is-author-date ok 62 - am --ignore-date ok 11 - apply_index: modified submodule does not update submodule work tree ok 63 - am into an unborn branch ok 64 - am newline in subject ok 65 - am -q is quiet ok 66 - am empty-file does not infloop ok 67 - am --message-id really adds the message id ok 68 - am.messageid really adds the message id ok 69 - am --message-id -s signs off after the message id ok 12 - apply_index: modified submodule does not update submodule work tree to invalid commit ok 70 - am -3 works with rerere ok 13 - apply_index: modified submodule does not update submodule work tree from invalid commit ok 71 - am -s unexpected trailer block ok 72 - am --patch-format=mboxrd handles mboxrd ok 14 - apply_index: added submodule doesn't remove untracked unignored file with same name ok 73 - am works with multi-line in-body headers ok 74 - am --quit keeps HEAD where it is ok 15 - apply_3way: added submodule creates empty directory ok 75 - am and .gitattibutes ok 16 - apply_3way: added submodule leaves existing empty directory alone ok 76 - apply binary blob in partial clone ok 77 - an empty input file is error regardless of --empty option ok 78 - invalid when passing the --empty option alone ok 79 - a message without a patch is an error (default) ok 80 - a message without a patch is an error where an explicit "--empty=stop" is given ok 81 - a message without a patch will be skipped when "--empty=drop" is given ok 82 - record as an empty commit when meeting e-mail message that lacks a patch ok 83 - skip an empty patch in the middle of an am session ok 84 - record an empty patch as an empty commit in the middle of an am session ok 17 - apply_3way: replace tracked file with submodule creates empty directory ok 85 - create an non-empty commit when the index IS changed though "--allow-empty" is given ok 86 - cannot create empty commits when there is a clean index due to merge conflicts ok 87 - cannot create empty commits when there is unmerged index due to merge conflicts # passed all 87 test(s) 1..87 *** t4151-am-abort.sh *** ok 18 - apply_3way: replace directory with submodule ok 1 - setup ok 2 - am stops at a patch that does not apply ok 3 - am --skip continue after failed am ok 4 - am --abort goes back after failed am ok 19 - apply_3way: removed submodule leaves submodule directory and its contents in place ok 5 - am -3 stops at a patch that does not apply ok 6 - am -3 --skip continue after failed am -3 ok 7 - am --abort goes back after failed am -3 ok 8 - am -3 --skip removes otherfile-4 ok 9 - am -3 --abort removes otherfile-4 ok 10 - am --abort will keep the local commits intact ok 20 - apply_3way: removed submodule leaves submodule containing a .git directory alone ok 11 - am --abort will keep dirty index intact ok 12 - am -3 stops on conflict on unborn branch ok 13 - am -3 --skip clears index on unborn branch ok 14 - am -3 --abort removes otherfile-4 on unborn branch ok 15 - am -3 --abort on unborn branch removes applied commits ok 21 - apply_3way: replace submodule with a directory must fail ok 16 - am --abort on unborn branch will keep local commits intact ok 17 - am --skip leaves index stat info alone ok 18 - am --abort leaves index stat info alone ok 19 - git am --abort return failed exit status when it fails ok 22 - apply_3way: replace submodule containing a .git directory with a directory must fail ok 20 - git am --abort cleans relevant files # passed all 20 test(s) 1..20 *** t4152-am-subjects.sh *** ok 1 - setup baseline commit ok 2 - create patches with short subject not ok 23 - apply_3way: replace submodule with a file must fail # TODO known breakage ok 3 - create patches with long subject ok 4 - create patches with multiline subject ok 5 - short subject preserved (format-patch | am) ok 6 - short subject preserved (format-patch -k | am) ok 7 - short subject preserved (format-patch -k | am -k) ok 8 - long subject preserved (format-patch | am) ok 9 - long subject preserved (format-patch -k | am) not ok 24 - apply_3way: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 10 - long subject preserved (format-patch -k | am -k) ok 11 - multiline subject unwrapped (format-patch | am) ok 12 - multiline subject unwrapped (format-patch -k | am) ok 13 - multiline subject preserved (format-patch -k | am -k) # passed all 13 test(s) 1..13 *** t4153-am-resume-override-opts.sh *** ok 25 - apply_3way: modified submodule does not update submodule work tree ok 1 - setup ok 2 - --retry fails without in-progress operation ok 3 - --3way overrides --no-3way ok 4 - --no-quiet overrides --quiet ok 5 - --signoff overrides --no-signoff ok 6 - --reject overrides --no-reject # passed all 6 test(s) 1..6 *** t4200-rerere.sh *** ok 26 - apply_3way: modified submodule does not update submodule work tree to invalid commit ok 1 - setup ok 2 - nothing recorded without rerere ok 3 - activate rerere, old style (conflicting merge) ok 4 - rerere.enabled works, too ok 5 - set up rr-cache ok 6 - rr-cache looks sane ok 7 - rerere diff ok 8 - rerere status ok 27 - apply_3way: modified submodule does not update submodule work tree from invalid commit ok 9 - first postimage wins ok 10 - rerere updates postimage timestamp ok 11 - rerere clear ok 12 - leftover directory ok 13 - missing preimage ok 28 - apply_3way: added submodule doesn't remove untracked unignored file with same name # still have 4 known breakage(s) # passed all remaining 24 test(s) 1..28 ok 14 - set up for garbage collection tests ok 15 - gc preserves young or recently used records ok 16 - old records rest in peace *** t4201-shortlog.sh *** ok 17 - rerere gc with custom expiry (5, 0) ok 18 - rerere gc with custom expiry (5.days.ago, now) ok 19 - setup: file2 added differently in two branches ok 1 - setup ok 2 - default output format ok 3 - pretty format ok 20 - resolution was recorded properly ok 4 - pretty format (with --date) ok 5 - --abbrev ok 21 - rerere.autoupdate ok 6 - output from user-defined format is re-wrapped ok 7 - shortlog wrapping ok 8 - shortlog from non-git directory ok 22 - merge --rerere-autoupdate ok 9 - shortlog can read --format=raw output ok 10 - shortlog from non-git directory refuses extra arguments ok 11 - shortlog --author from non-git directory does not segfault ok 12 - shortlog should add newline when input line matches wraplen ok 23 - merge --no-rerere-autoupdate ok 13 - shortlog encoding ok 14 - shortlog with revision pseudo options ok 24 - set up an unresolved merge ok 15 - shortlog with --output= ok 25 - explicit rerere ok 16 - shortlog --committer (internal) ok 26 - explicit rerere with autoupdate ok 17 - shortlog --committer (external) ok 18 - --group=committer is the same as --committer ok 19 - shortlog --group=trailer:signed-off-by ok 20 - shortlog --group=format ok 21 - shortlog --group= DWIM ok 22 - shortlog bogus --group ok 27 - explicit rerere --rerere-autoupdate overrides ok 23 - trailer idents are split ok 24 - trailer idents are mailmapped ok 28 - rerere --no-no-rerere-autoupdate ok 29 - rerere -h ok 25 - shortlog de-duplicates trailers in a single commit ok 26 - shortlog de-duplicates trailers in a single commit (folded/unfolded values) ok 27 - shortlog can match multiple groups ok 28 - shortlog can match multiple format groups ok 29 - set up option selection tests ok 30 - --no-group resets group list to author ok 31 - --no-group resets trailer list ok 32 - stdin with multiple groups reports error # passed all 32 test(s) 1..32 *** t4202-log.sh *** ok 30 - multiple identical conflicts ok 1 - setup ok 2 - pretty ok 3 - pretty (tformat) ok 4 - pretty (shortcut) ok 5 - format ok 6 - format %w(11,1,2) ok 7 - format %w(,1,2) ok 31 - rerere with unexpected conflict markers does not crash ok 8 - oneline ok 9 - diff-filter=A ok 10 - diff-filter=M ok 11 - diff-filter=D ok 12 - diff-filter=R ok 13 - multiple --diff-filter bits ok 14 - diff-filter=C ok 15 - git log --follow ok 16 - git config log.follow works like --follow ok 17 - git config log.follow does not die with multiple paths ok 18 - git config log.follow does not die with no paths ok 19 - git log --follow rejects unsupported pathspec magic ok 20 - log.follow disabled with unsupported pathspec magic ok 21 - git config log.follow is overridden by --no-follow ok 22 - git log --no-walk sorts by commit time ok 23 - git log --no-walk=sorted sorts by commit time ok 24 - git log --line-prefix="=== " --no-walk sorts by commit time ok 32 - rerere with inner conflict markers ok 25 - git log --no-walk=unsorted leaves list of commits as given ok 26 - git show leaves list of commits as given ok 27 - setup case sensitivity tests ok 28 - log --grep ok 29 - log --invert-grep without --grep is a NOOP ok 30 - log --all-match without --grep is a NOOP ok 33 - setup simple stage 1 handling ok 34 - test simple stage 1 handling ok 31 - log --invert-grep --grep ok 32 - log --invert-grep --grep -i ok 33 - log --grep option parsing ok 34 - log -i --grep ok 35 - log --grep -i ok 36 - log -F -E --grep= uses ere ok 35 - rerere does not crash with missing preimage ok 37 - log -F -E --perl-regexp --grep= uses PCRE ok 38 - log with grep.patternType configuration ok 39 - log with grep.patternType configuration and command line ok 36 - rerere does not crash with unmatched conflict marker # passed all 36 test(s) 1..36 *** t4203-mailmap.sh *** ok 40 - log with various grep.patternType configurations & command-lines ok 41 - show: understands grep.patternType, like 'log' ok 1 - setup commits and contacts file ok 2 - check-mailmap no arguments ok 3 - check-mailmap arguments ok 42 - whatchanged: understands grep.patternType, like 'log' ok 4 - check-mailmap --stdin ok 5 - check-mailmap --stdin arguments: no mapping ok 6 - check-mailmap --stdin arguments: mapping ok 7 - check-mailmap simple address: mapping ok 8 - check-mailmap --stdin simple address: mapping ok 43 - reflog: understands grep.patternType, like 'log' ok 9 - check-mailmap simple address: no mapping ok 10 - check-mailmap --stdin simple address: no mapping ok 11 - check-mailmap name and address: mapping ok 12 - No mailmap ok 13 - setup default .mailmap ok 14 - test default .mailmap ok 44 - format-patch: understands grep.patternType, like 'log' ok 45 - log --author ok 46 - log --committer ok 47 - log -i --grep with color ok 15 - mailmap.file set ok 48 - -c color.grep.selected log --grep ok 16 - mailmap.file override ok 49 - -c color.grep.matchSelected log --grep ok 17 - mailmap.file non-existent ok 50 - simple log --graph ok 51 - simple log --graph --line-prefix="123 " ok 18 - name entry after email entry ok 19 - name entry after email entry, case-insensitive ok 20 - No mailmap files, but configured ok 52 - set up merge history ok 21 - setup mailmap blob tests ok 53 - log --graph with merge ok 22 - mailmap.blob set ok 54 - log --graph --line-prefix="| | | " with merge ok 23 - mailmap.blob overrides .mailmap ok 24 - mailmap.file overrides mailmap.blob ok 55 - log --graph with merge with log.graphColors ok 56 - log --raw --graph -m with merge ok 57 - diff-tree --graph ok 25 - mailmap.file can be missing ok 26 - mailmap.blob can be missing ok 58 - log --graph with full output ok 27 - mailmap.blob might be the wrong type ok 28 - mailmap.blob defaults to off in non-bare repo ok 29 - mailmap.blob defaults to HEAD:.mailmap in bare repo ok 30 - mailmap.blob can handle blobs without trailing newline ok 31 - single-character name ok 32 - preserve canonical email case ok 33 - gitmailmap(5) example output: setup ok 34 - gitmailmap(5) example output: example #1 ok 35 - gitmailmap(5) example output: example #2 ok 36 - gitmailmap(5) example output: example #3 ok 59 - set up more tangled history ok 60 - log --graph with merge ok 37 - Shortlog output (complex mapping) ok 38 - Log output (complex mapping) ok 39 - Log output (local-part email address) ok 40 - Log output with --use-mailmap ok 41 - Log output with log.mailmap ok 42 - log.mailmap=false disables mailmap ok 43 - --no-use-mailmap disables mailmap ok 44 - Grep author with --use-mailmap ok 45 - Grep author with log.mailmap ok 61 - log.decorate configuration ok 46 - log.mailmap is true by default these days ok 62 - parse log.excludeDecoration with no value ok 47 - Only grep replaced author with --use-mailmap ok 63 - decorate-refs with glob ok 48 - Blame --porcelain output (complex mapping) ok 64 - decorate-refs without globs ok 65 - multiple decorate-refs ok 49 - Blame output (complex mapping) ok 66 - decorate-refs-exclude with glob ok 67 - decorate-refs-exclude without globs ok 50 - commit --author honors mailmap ok 68 - multiple decorate-refs-exclude ok 69 - decorate-refs and decorate-refs-exclude ok 70 - deocrate-refs and log.excludeDecoration ok 71 - decorate-refs-exclude and simplify-by-decoration ok 72 - decorate-refs with implied decorate from format ok 73 - implied decorate does not override option ok 74 - decorate-refs and simplify-by-decoration without output ok 75 - decorate-refs-exclude HEAD ok 51 - comment syntax: setup ok 76 - decorate-refs focus from default ok 77 - --clear-decorations overrides defaults ok 78 - --clear-decorations clears previous exclusions ok 79 - log.decorate config parsing ok 80 # skip log output on a TTY (missing TTY) ok 81 - reflog is expected format ok 82 - whatchanged is expected format ok 52 - whitespace syntax: setup ok 83 - log.abbrevCommit configuration ok 53 - empty syntax: setup ok 84 - --abbrev-commit with core.abbrev=false ok 54 - set up mailmap location tests ok 85 - --abbrev-commit with --no-abbrev ok 55 - bare repo with --work-tree finds mailmap at top-level ok 56 - bare repo does not look in current directory ok 86 - --abbrev-commit with core.abbrev=9000 ok 57 - non-git shortlog respects mailmap in current dir ok 87 - --abbrev-commit with --abbrev=9000 ok 58 - shortlog on stdin respects mailmap from repo ok 59 - find top-level mailmap from subdir ok 60 - set up symlink tests ok 88 - show added path under "--follow -M" ok 61 - symlinks respected in mailmap.file ok 62 - symlinks respected in non-repo shortlog ok 63 - symlinks not respected in-tree ok 64 - prepare for cat-file --mailmap ok 65 - --no-use-mailmap disables mailmap in cat-file ok 66 - --use-mailmap enables mailmap in cat-file ok 67 - --no-mailmap disables mailmap in cat-file for annotated tag objects ok 68 - --mailmap enables mailmap in cat-file for annotated tag objects ok 89 - git log -c --follow ok 69 - git cat-file -s returns correct size with --use-mailmap ok 90 - log --graph with diff and stats ok 91 - log --line-prefix="*** " --graph with diff and stats ok 70 - git cat-file -s returns correct size with --use-mailmap for tag objects ok 92 - log --graph with --name-status ok 93 - log --graph with --name-only ok 71 - git cat-file --batch-check returns correct size with --use-mailmap ok 94 - --no-graph countermands --graph ok 95 - --graph countermands --no-graph ok 72 - git cat-file --batch-command returns correct size with --use-mailmap # passed all 72 test(s) 1..72 ok 96 - --no-graph does not unset --topo-order ok 97 - --no-graph does not unset --parents ok 98 - --reverse and --graph conflict *** t4204-patch-id.sh *** ok 99 - --reverse --graph --no-graph works ok 100 - --show-linear-break and --graph conflict ok 101 - --show-linear-break --graph --no-graph works ok 102 - --no-walk and --graph conflict ok 103 - --no-walk --graph --no-graph works ok 104 - --walk-reflogs and --graph conflict ok 105 - --walk-reflogs --graph --no-graph works ok 106 - dotdot is a parent directory ok 107 # skip setup signed branch (missing GPG) ok 108 # skip setup signed branch with subkey (missing GPG) ok 109 # skip setup signed branch x509 (missing GPGSM) ok 110 # skip setup sshkey signed branch (missing GPGSSH) ok 111 # skip create signed commits with keys having defined lifetimes (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 112 # skip log x509 fingerprint (missing GPGSM) ok 113 # skip log OpenPGP fingerprint (missing GPGSM) ok 114 # skip log ssh key fingerprint (missing GPGSSH) ok 115 # skip log --graph --show-signature (missing GPG) ok 116 # skip log --graph --show-signature x509 (missing GPGSM) ok 117 # skip log --graph --show-signature ssh (missing GPGSSH) ok 118 # skip log shows failure on expired signature key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 119 # skip log shows failure on not yet valid signature key (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 120 # skip log show success with commit date and key validity matching (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 121 # skip log shows failure with commit date outside of key validity (missing GPGSSH_VERIFYTIME,GPGSSH of GPGSSH,GPGSSH_VERIFYTIME) ok 122 # skip log --graph --show-signature for merged tag (missing GPG) ok 123 # skip log --graph --show-signature for merged tag in shallow clone (missing GPG) ok 124 # skip log --graph --show-signature for merged tag with missing key (missing GPG) ok 125 # skip log --graph --show-signature for merged tag with bad signature (missing GPG) ok 126 # skip log --show-signature for merged tag with GPG failure (missing GPG) ok 127 # skip log --graph --show-signature for merged tag x509 (missing GPGSM) ok 128 # skip log --graph --show-signature for merged tag x509 missing key (missing GPGSM) ok 129 # skip log --graph --show-signature for merged tag x509 bad signature (missing GPGSM) ok 130 # skip --no-show-signature overrides --show-signature (missing GPG) ok 131 # skip log.showsignature=true behaves like --show-signature (missing GPG) ok 132 # skip --no-show-signature overrides log.showsignature=true (missing GPG) ok 133 # skip --show-signature overrides log.showsignature=false (missing GPG) ok 134 - log --graph --no-walk is forbidden ok 135 - log on empty repo fails ok 136 - log does not default to HEAD when rev input is given ok 137 - do not default to HEAD with ignored object on cmdline ok 138 - do not default to HEAD with ignored object on stdin ok 1 - setup ok 2 - patch-id output is well-formed ok 3 - patch-id detects equality ok 139 - set up --source tests ok 4 - patch-id detects inequality ok 140 - log --source paints branch names ok 141 - log --source paints tag names ok 5 - patch-id detects equality binary ok 142 - log --source paints symmetric ranges ok 143 - --exclude-promisor-objects does not BUG-crash ok 6 - patch-id detects inequality binary ok 7 - patch-id supports git-format-patch output ok 144 - log --decorate includes all levels of tag annotated tags ok 145 - log --decorate does not include things outside filter ok 8 - whitespace is irrelevant in footer ok 146 - log --end-of-options ok 9 - file order is irrelevant with --stable ok 10 - file order is relevant with --unstable ok 11 - whitespace is relevant with --verbatim ok 12 - whitespace is irrelevant without --verbatim ok 147 - set up commits with different authors ok 13 - default is unstable ok 148 - log --invert-grep --grep --author # passed all 148 test(s) 1..148 ok 14 - patchid.stable = true is stable *** t4205-log-pretty-formats.sh *** ok 15 - patchid.stable = false is unstable ok 16 - patchid.verbatim = true is correct and stable ok 17 - patchid.verbatim = false is unstable ok 1 - set up basic repos ok 2 - alias builtin format ok 3 - alias masking builtin format ok 18 - --unstable overrides patchid.stable = true ok 4 - alias user-defined format ok 19 - --stable overrides patchid.stable = false ok 5 - alias user-defined format is matched case-insensitively ok 6 - alias user-defined tformat with %s (ISO8859-1 encoding) ok 20 - --verbatim overrides patchid.stable = false ok 7 - alias user-defined tformat with %s (utf-8 encoding) ok 8 - alias user-defined tformat ok 21 - patch-id supports git-format-patch MIME output ok 9 - alias non-existent format ok 10 - alias of an alias ok 22 - patch-id respects config from subdir ok 11 - alias masking an alias ok 12 - alias loop ok 23 - patch-id handles no-nl-at-eof markers ok 13 - NUL separation ok 14 - NUL termination ok 24 - patch-id handles diffs with one line of before/after ok 15 - NUL separation with --stat not ok 25 - patch-id computes same ID with different object hashes # TODO known breakage not ok 16 - NUL termination with --stat # TODO known breakage ok 26 - patch-id without repository # still have 1 known breakage(s) # passed all remaining 25 test(s) 1..26 *** t4206-log-follow-harder-copies.sh *** ok 17 - NUL termination with --reflog --pretty=short ok 18 - NUL termination with --reflog --pretty=medium ok 19 - NUL termination with --reflog --pretty=full ok 20 - NUL termination with --reflog --pretty=fuller ok 21 - NUL termination with --reflog --pretty=email ok 22 - NUL termination with --reflog --pretty=raw ok 1 - add a file path0 and commit. ok 23 - NUL termination with --reflog --pretty=oneline ok 2 - Change path0. ok 3 - copy path0 to path1. ok 4 - find the copy path0 -> path1 harder ok 5 - validate the output. # passed all 5 test(s) 1..5 *** t4207-log-decoration-colors.sh *** ok 24 - setup more commits ok 25 - left alignment formatting ok 26 - left alignment formatting. i18n.logOutputEncoding ok 27 - left alignment formatting at the nth column ok 28 - left alignment formatting at the nth column ok 29 - left alignment formatting at the nth column. i18n.logOutputEncoding ok 30 - left alignment formatting with no padding ok 31 - left alignment formatting with no padding. i18n.logOutputEncoding ok 32 - left alignment formatting with trunc ok 33 - left alignment formatting with trunc. i18n.logOutputEncoding ok 34 - left alignment formatting with ltrunc ok 35 - left alignment formatting with ltrunc. i18n.logOutputEncoding ok 36 - left alignment formatting with mtrunc ok 37 - left alignment formatting with mtrunc. i18n.logOutputEncoding ok 38 - right alignment formatting ok 39 - right alignment formatting. i18n.logOutputEncoding ok 40 - right alignment formatting at the nth column ok 41 - right alignment formatting at the nth column ok 42 - right alignment formatting at the nth column. i18n.logOutputEncoding ok 43 - right alignment formatting at the nth column with --graph. i18n.logOutputEncoding ok 44 - right alignment formatting with no padding ok 45 - right alignment formatting with no padding and with --graph ok 46 - right alignment formatting with no padding. i18n.logOutputEncoding ok 47 - center alignment formatting ok 1 - setup ok 48 - center alignment formatting. i18n.logOutputEncoding ok 49 - center alignment formatting at the nth column ok 2 - commit decorations colored correctly ok 50 - center alignment formatting at the nth column ok 51 - center alignment formatting at the nth column. i18n.logOutputEncoding ok 52 - center alignment formatting with no padding ok 53 - center alignment formatting with no padding. i18n.logOutputEncoding ok 54 - left/right alignment formatting with stealing ok 55 - left/right alignment formatting with stealing. i18n.logOutputEncoding ok 56 - strbuf_utf8_replace() not producing NUL ok 3 - test coloring with replace-objects ok 57 - --date=iso-strict %ad%cd is the same as %aI%cI ok 58 - --date=short %ad%cd is the same as %as%cs ok 59 - --date=human %ad%cd is the same as %ah%ch ok 60 - set up log decoration tests ok 4 - test coloring with grafted commit # passed all 4 test(s) 1..4 *** t4208-log-magic-pathspec.sh *** ok 61 - log decoration properly follows tag chain ok 62 - clean log decoration ok 63 - pretty format %decorate ok 64 - set up trailer tests ok 65 - pretty format %(trailers) shows trailers ok 66 - pretty format %(trailers:) enables no options ok 67 - %(trailers:only) shows only "key: value" trailers ok 68 - %(trailers:only=yes) shows only "key: value" trailers ok 69 - %(trailers:only=no) shows all trailers ok 1 - setup ok 2 - "git log :/" should not be ambiguous ok 70 - %(trailers:only=no,only=true) shows only "key: value" trailers ok 3 - "git log :/a" should be ambiguous (applied both rev and worktree) ok 4 - "git log :/a -- " should not be ambiguous ok 71 - %(trailers:unfold) unfolds trailers ok 72 - :only and :unfold work together ok 73 - pretty format %(trailers:key=foo) shows that trailer ok 74 - pretty format %(trailers:key=foo) is case insensitive ok 75 - pretty format %(trailers:key=foo:) trailing colon also works ok 76 - pretty format %(trailers:key=foo) multiple keys ok 77 - %(trailers:key=nonexistent) becomes empty ok 5 - "git log :/detached -- " should find a commit only in HEAD ok 6 - "git log :/detached -- " should not find an orphaned commit ok 78 - %(trailers:key=foo) handles multiple lines even if folded ok 79 - %(trailers:key=foo,unfold) properly unfolds ok 80 - pretty format %(trailers:key=foo,only=no) also includes nontrailer lines ok 81 - %(trailers:key) without value is error ok 82 - %(trailers:keyonly) shows only keys ok 7 - "git log :/detached -- " should find HEAD only of own worktree ok 83 - %(trailers:key=foo,keyonly) shows only key ok 8 - "git log -- :/a" should not be ambiguous ok 9 - "git log :/any/path/" should not segfault ok 84 - %(trailers:key=foo,valueonly) shows only value ok 10 - "git log :/in" should not be ambiguous ok 85 - %(trailers:valueonly) shows only values ok 11 - "git log :" should be ambiguous ok 86 - %(trailers:key=foo,keyonly,valueonly) shows nothing ok 12 - git log -- : ok 87 - pretty format %(trailers:separator) changes separator ok 13 - git log HEAD -- :/ ok 88 - pretty format %(trailers:separator=X,unfold) changes separator ok 14 - "git log :^sub" is not ambiguous ok 89 - pretty format %(trailers:key_value_separator) changes key-value separator ok 15 - "git log :^does-not-exist" does not match anything ok 90 - pretty format %(trailers:key_value_separator,unfold) changes key-value separator ok 16 - "git log :!" behaves the same as :^ ok 91 - pretty format %(trailers:separator,key_value_separator) changes both separators ok 17 - "git log :(exclude)sub" is not ambiguous ok 18 - "git log :(exclude)sub --" must resolve as an object ok 19 - "git log :(unknown-magic) complains of bogus magic ok 92 - pretty format %(trailers) combining separator/key/keyonly/valueonly ok 93 - trailer parsing not fooled by --- line ok 20 - command line pathspec parsing for "git log" ok 94 - set up %S tests ok 95 - log --format=%S paints branch names ok 96 - log --format=%S paints tag names ok 97 - log --format=%S paints symmetric ranges ok 98 - %S in git log --format works with other placeholders (part 1) ok 99 - %S in git log --format works with other placeholders (part 2) ok 100 - setup more commits for %S with --bisect ok 21 - tree_entry_interesting does not match past submodule boundaries # passed all 21 test(s) 1..21 *** t4209-log-pickaxe.sh *** ok 101 - %S with --bisect labels commits with refs/bisect/bad ref ok 102 - log --pretty=reference ok 103 - log --pretty=reference with log.date is overridden by short date ok 104 - log --pretty=reference with explicit date overrides short date ok 105 - log --pretty=reference is never unabbreviated ok 106 - log --pretty=reference is never decorated ok 107 - log --pretty=reference does not output reflog info ok 108 - log --pretty=reference is colored appropriately ok 1 - setup ok 109 - %(describe) vs git describe ok 2 - usage ok 3 - usage: --pickaxe-regex ok 110 - %(describe:match=...) vs git describe --match ... ok 4 - usage: --no-pickaxe-regex ok 5 - usage: -G and -S with empty argument ok 6 - log --grep (match) ok 111 - %(describe:exclude=...) vs git describe --exclude ... ok 7 - log --grep (nomatch) ok 8 - log --grep --regexp-ignore-case (match) ok 9 - log --grep -i (match) ok 10 - log --grep --regexp-ignore-case (nomatch) ok 112 - %(describe:tags) vs git describe --tags ok 11 - log --grep -i (nomatch) ok 12 - log --author (match) ok 13 - log --author (nomatch) ok 14 - log --author --regexp-ignore-case (match) ok 15 - log --author -i (match) ok 16 - log --author --regexp-ignore-case (nomatch) ok 17 - log --author -i (nomatch) ok 18 - log -G (nomatch) ok 19 - log -G (match) ok 20 - log -G --regexp-ignore-case (nomatch) ok 113 - %(describe:abbrev=...) vs git describe --abbrev=... ok 21 - log -G -i (nomatch) ok 114 - log --pretty with space stealing ok 22 - log -G --regexp-ignore-case (match) ok 23 - log -G -i (match) ok 115 - log --pretty with invalid padding format ok 24 - log -G --textconv (missing textconv tool) ok 25 - log -G --no-textconv (missing textconv tool) ok 116 - log --pretty with magical wrapping directives ok 26 - log -S (nomatch) ok 27 - log -S (match) ok 28 - log -S --regexp-ignore-case (match) ok 29 - log -S -i (match) ok 117 - log --pretty with overflowing wrapping directive ok 30 - log -S --regexp-ignore-case (nomatch) ok 31 - log -S -i (nomatch) ok 118 - log --pretty with overflowing padding directive ok 119 - log --pretty with padding and preceding control chars ok 32 - log -S --pickaxe-regex (nomatch) ok 33 - log -S --pickaxe-regex (match) ok 34 - log -S --pickaxe-regex --regexp-ignore-case (match) ok 35 - log -S --pickaxe-regex -i (match) ok 36 - log -S --pickaxe-regex --regexp-ignore-case (nomatch) ok 120 - log --pretty truncation with control chars ok 121 # skip log --pretty with huge commit message (missing EXPENSIVE of EXPENSIVE,SIZE_T_IS_64BIT) ok 37 - log -S --pickaxe-regex -i (nomatch) ok 122 # skip set up huge commit (missing EXPENSIVE of EXPENSIVE,SIZE_T_IS_64BIT) ok 123 # skip log --pretty with huge commit message (missing EXPENSIVE of EXPENSIVE,SIZE_T_IS_64BIT) ok 124 # skip log --pretty with huge commit message does not cause allocation failure (missing EXPENSIVE of EXPENSIVE,SIZE_T_IS_64BIT) ok 38 - log -S --textconv (missing textconv tool) ok 39 - log -S --no-textconv (missing textconv tool) not ok 125 - wide and decomposed characters column counting # TODO known breakage # still have 2 known breakage(s) # passed all remaining 123 test(s) 1..125 *** t4210-log-i18n.sh *** ok 40 - setup log -[GS] plain & regex ok 41 - log -G trims diff new/old [-+] ok 42 - log -S is not a regex, but -S --pickaxe-regex is ok 1 - create commits in different encodings ok 2 - log --grep searches in log output encoding (utf8) ok 3 - log --grep searches in log output encoding (latin1) ok 4 - log --grep does not find non-reencoded values (utf8) ok 5 - log --grep does not find non-reencoded values (latin1) ok 6 - config grep.patternType=fixed ok 43 - setup log -[GS] binary & --text ok 7 # skip log --grep does not find non-reencoded values (latin1 + locale) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,) ok 8 # skip log --grep searches in log output encoding (latin1 + locale) (missing GETTEXT_LOCALE of !MINGW,GETTEXT_LOCALE,) ok 9 # skip log --grep does not die on invalid UTF-8 value (latin1 + locale + invalid needle) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,) ok 44 - log -G ignores binary files ok 10 - config grep.patternType=basic ok 11 # skip log --grep does not find non-reencoded values (latin1 + locale) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,) ok 12 # skip log --grep searches in log output encoding (latin1 + locale) (missing GETTEXT_LOCALE of !MINGW,GETTEXT_LOCALE,) ok 45 - log -G looks into binary files with -a ok 13 # skip log --grep does not die on invalid UTF-8 value (latin1 + locale + invalid needle) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,) ok 14 - config grep.patternType=extended ok 15 # skip log --grep does not find non-reencoded values (latin1 + locale) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,) ok 16 # skip log --grep searches in log output encoding (latin1 + locale) (missing GETTEXT_LOCALE of !MINGW,GETTEXT_LOCALE,) ok 17 # skip log --grep does not die on invalid UTF-8 value (latin1 + locale + invalid needle) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,) ok 18 - config grep.patternType=perl ok 19 # skip log --grep does not find non-reencoded values (latin1 + locale) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,PCRE) ok 46 - log -G looks into binary files with textconv filter ok 20 # skip log --grep searches in log output encoding (latin1 + locale) (missing GETTEXT_LOCALE of !MINGW,GETTEXT_LOCALE,PCRE) ok 21 # skip log --grep does not die on invalid UTF-8 value (latin1 + locale + invalid needle) (missing GETTEXT_LOCALE of GETTEXT_LOCALE,PCRE) # passed all 21 test(s) 1..21 ok 47 - log -S looks into binary files *** t4211-line-log.sh *** ok 48 - log -S --pickaxe-regex looks into binary files # passed all 48 test(s) 1..48 *** t4212-log-corrupt.sh *** ok 1 - setup (import history) ok 1 - setup ok 2 - basic command line parsing ok 3 - -L 4,12:a.c simple ok 2 - fsck notices broken commit ok 4 - -L 4,+9:a.c simple ok 3 - git log with broken author email ok 4 - git log --format with broken author email ok 5 - -L '/long f/,/^}/:a.c' simple ok 5 - --until handles broken email ok 6 - -L :f:a.c simple ok 6 - unparsable dates produce sentinel value ok 7 - -L '/main/,/^}/:a.c' simple ok 8 - -L :main:a.c simple ok 7 - unparsable dates produce sentinel value (%ad) ok 9 - -L 1,+4:a.c simple ok 8 - date parser recognizes integer overflow ok 10 - -L 20:a.c simple ok 11 - -L '/long f/',/^}/:a.c -L /main/,/^}/:a.c simple ok 9 - date parser recognizes time_t overflow ok 12 - -L 24,+1:a.c simple ok 10 - absurdly far-in-future date ok 13 - -M -L '/long f/,/^}/:b.c' move-support ok 14 - -M -L ':f:b.c' parallel-change ok 15 - -L 4,12:a.c -L :main:a.c simple ok 11 - create commits with whitespace committer dates ok 16 - -L 4,18:a.c -L ^:main:a.c simple ok 17 - -L :main:a.c -L 4,18:a.c simple ok 12 - --until treats whitespace date as sentinel ok 18 - -L 4:a.c -L 8,12:a.c simple ok 13 - pretty-printer handles whitespace date # passed all 13 test(s) 1..13 ok 19 - -L 8,12:a.c -L 4:a.c simple *** t4213-log-tabexpand.sh *** ok 20 - invalid args: -L ok 21 - invalid args: -L b.c ok 22 - invalid args: -L 1: ok 23 - invalid args: -L 1:nonexistent ok 24 - invalid args: -L 1:simple ok 25 - invalid args: -L '/foo:b.c' ok 26 - invalid args: -L 1000:b.c ok 27 - invalid args: -L :b.c ok 28 - invalid args: -L :foo:b.c ok 29 - -L X (X == nlines) ok 30 - -L X (X == nlines + 1) ok 31 - -L X (X == nlines + 2) ok 32 - -L ,Y (Y == nlines) ok 33 - -L ,Y (Y == nlines + 1) ok 1 - setup ok 34 - -L ,Y (Y == nlines + 2) ok 35 - -L with --first-parent and a merge ok 36 - -L with --output ok 2 - expand/no-expand ok 37 - range_set_union ok 38 - -s shows only line-log commits ok 39 - -p shows the default patch output ok 40 - --raw is forbidden ok 3 - expand/no-expand for --pretty ok 4 - expand/no-expand for --pretty=short ok 41 - setup for checking fancy rename following ok 42 - fancy rename following #1 ok 5 - expand/no-expand for --pretty=medium ok 43 - fancy rename following #2 ok 6 - expand/no-expand for --pretty=full ok 44 - setup for checking line-log and parent oids ok 45 - parent oids without parent rewriting ok 46 - parent oids with parent rewriting ok 47 - line-log with --before ok 48 - setup tests for zero-width regular expressions ok 49 - zero-width regex $ matches any function name ok 50 - zero-width regex ^ matches any function name ok 51 - zero-width regex .* matches any function name ok 52 - show line-log with graph # passed all 52 test(s) 1..52 *** t4214-log-graph-octopus.sh *** ok 7 - expand/no-expand for --pretty=fuller ok 8 - expand/no-expand for --pretty=raw ok 9 - expand/no-expand for --pretty=email # passed all 9 test(s) 1..9 *** t4215-log-skewed-merges.sh *** ok 1 - set up merge history ok 2 - log --graph with tricky octopus merge, no color ok 3 - log --graph with tricky octopus merge with colors ok 4 - log --graph with normal octopus merge, no color ok 5 - log --graph with normal octopus merge with colors ok 6 - log --graph with normal octopus merge and child, no color ok 7 - log --graph with normal octopus and child merge with colors ok 8 - log --graph with tricky octopus merge and its child, no color ok 9 - log --graph with tricky octopus merge and its child with colors ok 10 - log --graph with crossover in octopus merge, no color ok 11 - log --graph with crossover in octopus merge with colors ok 12 - log --graph with crossover in octopus merge and its child, no color ok 1 - log --graph with merge fusing with its left and right neighbors ok 13 - log --graph with crossover in octopus merge and its child with colors ok 14 - log --graph with unrelated commit and octopus tip, no color ok 15 - log --graph with unrelated commit and octopus tip with colors ok 16 - log --graph with unrelated commit and octopus child, no color ok 17 - log --graph with unrelated commit and octopus child with colors # passed all 17 test(s) 1..17 *** t4216-log-bloom.sh *** ok 2 - log --graph with left-skewed merge ok 1 - setup test - repo, commits, commit graph, log outputs ok 2 - commit-graph write wrote out the bloom chunks ok 3 - log --graph with nested left-skewed merge ok 3 - git log option: for path: A ok 4 - git log option: --all for path: A ok 5 - git log option: --full-history for path: A ok 6 - git log option: --full-history --simplify-merges for path: A ok 7 - git log option: --simplify-merges for path: A ok 4 - log --graph with nested left-skewed merge following normal merge ok 8 - git log option: --simplify-by-decoration for path: A ok 9 - git log option: --follow for path: A ok 10 - git log option: --first-parent for path: A ok 11 - git log option: --topo-order for path: A ok 12 - git log option: --date-order for path: A ok 5 - log --graph with nested right-skewed merge following left-skewed merge ok 13 - git log option: --author-date-order for path: A ok 14 - git log option: --ancestry-path side..main for path: A ok 15 - git log option: for path: A/B ok 16 - git log option: --all for path: A/B ok 6 - log --graph with right-skewed merge following a left-skewed one ok 17 - git log option: --full-history for path: A/B ok 18 - git log option: --full-history --simplify-merges for path: A/B ok 19 - git log option: --simplify-merges for path: A/B ok 20 - git log option: --simplify-by-decoration for path: A/B ok 21 - git log option: --follow for path: A/B ok 22 - git log option: --first-parent for path: A/B ok 23 - git log option: --topo-order for path: A/B ok 7 - log --graph with octopus merge with column joining its penultimate parent ok 24 - git log option: --date-order for path: A/B ok 25 - git log option: --author-date-order for path: A/B ok 26 - git log option: --ancestry-path side..main for path: A/B ok 27 - git log option: for path: A/B/C ok 28 - git log option: --all for path: A/B/C ok 8 - log --graph with multiple tips ok 29 - git log option: --full-history for path: A/B/C ok 9 - log --graph with multiple tips and colors ok 30 - git log option: --full-history --simplify-merges for path: A/B/C ok 31 - git log option: --simplify-merges for path: A/B/C ok 32 - git log option: --simplify-by-decoration for path: A/B/C ok 33 - git log option: --follow for path: A/B/C ok 34 - git log option: --first-parent for path: A/B/C ok 35 - git log option: --topo-order for path: A/B/C ok 36 - git log option: --date-order for path: A/B/C ok 37 - git log option: --author-date-order for path: A/B/C ok 38 - git log option: --ancestry-path side..main for path: A/B/C ok 10 - log --graph with multiple tips # passed all 10 test(s) 1..10 *** t4217-log-limit.sh *** ok 39 - git log option: for path: A/file1 ok 40 - git log option: --all for path: A/file1 ok 41 - git log option: --full-history for path: A/file1 ok 42 - git log option: --full-history --simplify-merges for path: A/file1 ok 1 - setup test ok 2 - git log --since-as-filter=... ok 3 - git log --children --since-as-filter=... # passed all 3 test(s) 1..3 *** t4252-am-options.sh *** ok 43 - git log option: --simplify-merges for path: A/file1 ok 44 - git log option: --simplify-by-decoration for path: A/file1 ok 45 - git log option: --follow for path: A/file1 ok 1 - setup ok 2 - interrupted am --whitespace=fix ok 46 - git log option: --first-parent for path: A/file1 ok 3 - interrupted am -C1 ok 47 - git log option: --topo-order for path: A/file1 ok 4 - interrupted am -p2 ok 48 - git log option: --date-order for path: A/file1 ok 5 - interrupted am -C1 -p2 ok 6 - interrupted am --directory="frotz nitfol" ok 49 - git log option: --author-date-order for path: A/file1 ok 7 - apply to a funny path ok 50 - git log option: --ancestry-path side..main for path: A/file1 ok 8 - am --reject # passed all 8 test(s) 1..8 *** t4253-am-keep-cr-dos.sh *** ok 51 - git log option: for path: A/B/file2 ok 52 - git log option: --all for path: A/B/file2 ok 53 - git log option: --full-history for path: A/B/file2 ok 1 - setup repository with dos files ok 2 - am with dos files without --keep-cr ok 54 - git log option: --full-history --simplify-merges for path: A/B/file2 ok 3 - am with dos files with --keep-cr ok 55 - git log option: --simplify-merges for path: A/B/file2 ok 4 - am with dos files config am.keepcr ok 56 - git log option: --simplify-by-decoration for path: A/B/file2 ok 5 - am with dos files config am.keepcr overridden by --no-keep-cr ok 57 - git log option: --follow for path: A/B/file2 ok 6 - am with dos files with --keep-cr continue ok 58 - git log option: --first-parent for path: A/B/file2 ok 7 - am with unix files config am.keepcr overridden by --no-keep-cr # passed all 7 test(s) 1..7 *** t4254-am-corrupt.sh *** ok 59 - git log option: --topo-order for path: A/B/file2 ok 60 - git log option: --date-order for path: A/B/file2 ok 61 - git log option: --author-date-order for path: A/B/file2 ok 1 - setup ok 2 - try to apply corrupted patch ok 62 - git log option: --ancestry-path side..main for path: A/B/file2 ok 3 - NUL in commit message's body ok 4 - NUL in commit message's header # passed all 4 test(s) 1..4 *** t4255-am-submodule.sh *** ok 63 - git log option: for path: A/B/C/file3 ok 64 - git log option: --all for path: A/B/C/file3 ok 65 - git log option: --full-history for path: A/B/C/file3 ok 66 - git log option: --full-history --simplify-merges for path: A/B/C/file3 ok 67 - git log option: --simplify-merges for path: A/B/C/file3 ok 68 - git log option: --simplify-by-decoration for path: A/B/C/file3 ok 69 - git log option: --follow for path: A/B/C/file3 ok 70 - git log option: --first-parent for path: A/B/C/file3 ok 71 - git log option: --topo-order for path: A/B/C/file3 ok 72 - git log option: --date-order for path: A/B/C/file3 ok 73 - git log option: --author-date-order for path: A/B/C/file3 ok 74 - git log option: --ancestry-path side..main for path: A/B/C/file3 ok 75 - git log option: for path: file4 ok 76 - git log option: --all for path: file4 ok 77 - git log option: --full-history for path: file4 ok 78 - git log option: --full-history --simplify-merges for path: file4 ok 79 - git log option: --simplify-merges for path: file4 ok 80 - git log option: --simplify-by-decoration for path: file4 ok 81 - git log option: --follow for path: file4 ok 82 - git log option: --first-parent for path: file4 ok 83 - git log option: --topo-order for path: file4 ok 84 - git log option: --date-order for path: file4 ok 85 - git log option: --author-date-order for path: file4 ok 86 - git log option: --ancestry-path side..main for path: file4 ok 87 - git log option: for path: file5 ok 88 - git log option: --all for path: file5 ok 89 - git log option: --full-history for path: file5 ok 90 - git log option: --full-history --simplify-merges for path: file5 ok 91 - git log option: --simplify-merges for path: file5 ok 1 - am: added submodule creates empty directory ok 92 - git log option: --simplify-by-decoration for path: file5 ok 93 - git log option: --follow for path: file5 ok 94 - git log option: --first-parent for path: file5 ok 95 - git log option: --topo-order for path: file5 ok 96 - git log option: --date-order for path: file5 ok 97 - git log option: --author-date-order for path: file5 ok 2 - am: added submodule leaves existing empty directory alone ok 98 - git log option: --ancestry-path side..main for path: file5 ok 99 - git log option: for path: file5_renamed ok 100 - git log option: --all for path: file5_renamed ok 101 - git log option: --full-history for path: file5_renamed ok 102 - git log option: --full-history --simplify-merges for path: file5_renamed ok 103 - git log option: --simplify-merges for path: file5_renamed ok 3 - am: replace tracked file with submodule creates empty directory ok 104 - git log option: --simplify-by-decoration for path: file5_renamed ok 105 - git log option: --follow for path: file5_renamed ok 106 - git log option: --first-parent for path: file5_renamed ok 107 - git log option: --topo-order for path: file5_renamed ok 108 - git log option: --date-order for path: file5_renamed ok 4 - am: replace directory with submodule ok 109 - git log option: --author-date-order for path: file5_renamed ok 110 - git log option: --ancestry-path side..main for path: file5_renamed ok 111 - git log option: for path: file_to_be_deleted ok 112 - git log option: --all for path: file_to_be_deleted ok 113 - git log option: --full-history for path: file_to_be_deleted ok 5 - am: removed submodule leaves submodule directory and its contents in place ok 114 - git log option: --full-history --simplify-merges for path: file_to_be_deleted ok 115 - git log option: --simplify-merges for path: file_to_be_deleted ok 116 - git log option: --simplify-by-decoration for path: file_to_be_deleted ok 117 - git log option: --follow for path: file_to_be_deleted ok 118 - git log option: --first-parent for path: file_to_be_deleted ok 119 - git log option: --topo-order for path: file_to_be_deleted ok 6 - am: removed submodule leaves submodule containing a .git directory alone ok 120 - git log option: --date-order for path: file_to_be_deleted ok 121 - git log option: --author-date-order for path: file_to_be_deleted ok 122 - git log option: --ancestry-path side..main for path: file_to_be_deleted ok 123 - git log -- folder works with and without the trailing slash ok 124 - git log for path that does not exist. ok 125 - git log with --walk-reflogs does not use Bloom filters ok 7 - am: replace submodule with a directory must fail ok 126 - git log -- multiple path specs does not use Bloom filters ok 127 - git log -- "." pathspec at root does not use Bloom filters ok 128 - git log with wildcard that resolves to a single path uses Bloom filters ok 129 - git log with wildcard that resolves to a multiple paths does not uses Bloom filters ok 130 - setup - add commit-graph to the chain without Bloom filters ok 131 - use Bloom filters even if the latest graph does not have Bloom filters ok 132 - setup - add commit-graph to the chain with Bloom filters ok 8 - am: replace submodule containing a .git directory with a directory must fail ok 133 - Use Bloom filters if they exist in the latest but not all commit graphs in the chain. ok 134 - persist filter settings not ok 9 - am: replace submodule with a file must fail # TODO known breakage ok 135 - correctly report changes over limit not ok 10 - am: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 136 - correctly report commits with no changed paths ok 137 - Bloom generation is limited by --max-new-filters ok 138 - Bloom generation backfills previously-skipped filters ok 139 - --max-new-filters overrides configuration ok 11 - am: modified submodule does not update submodule work tree ok 140 - Bloom generation backfills empty commits ok 141 - setup for mixed Bloom setting tests ok 142 - ensure Bloom filters with incompatible settings are ignored ok 143 - merge graph layers with incompatible Bloom settings ok 144 - ensure Bloom filter with incompatible versions are ignored ok 145 - set up repo with high bit path, version 1 changed-path ok 146 - setup check value of version 1 changed-path ok 147 - check value of version 1 changed-path ok 148 - setup make another commit ok 12 - am: modified submodule does not update submodule work tree to invalid commit ok 149 - version 1 changed-path used when version 1 requested ok 150 - version 1 changed-path not used when version 2 requested ok 151 - version 1 changed-path used when autodetect requested ok 152 - when writing another commit graph, preserve existing version 1 of changed-path ok 153 - set up repo with high bit path, version 2 changed-path ok 154 - check value of version 2 changed-path ok 155 - setup make another commit ok 156 - version 2 changed-path used when version 2 requested ok 157 - version 2 changed-path not used when version 1 requested ok 158 - version 2 changed-path used when autodetect requested ok 159 - when writing another commit graph, preserve existing version 2 of changed-path ok 13 - am: modified submodule does not update submodule work tree from invalid commit ok 160 - when writing commit graph, do not reuse changed-path of another version ok 14 - am: added submodule doesn't remove untracked unignored file with same name ok 161 - when writing commit graph, reuse changed-path of another version where possible ok 162 - Bloom reader notices too-small data chunk ok 163 - Bloom reader notices out-of-bounds filter offsets ok 164 - Bloom reader notices too-small index chunk ok 165 - Bloom reader notices out-of-order index offsets # passed all 165 test(s) 1..165 *** t4256-am-format-flowed.sh *** ok 15 - am_3way: added submodule creates empty directory ok 1 - setup ok 2 - am with format=flowed # passed all 2 test(s) 1..2 *** t4257-am-interactive.sh *** ok 16 - am_3way: added submodule leaves existing empty directory alone ok 1 - set up patches to apply ok 2 - applying all patches generates conflict ok 3 - interactive am can apply a single patch ok 4 - interactive am can resolve conflict # passed all 4 test(s) 1..4 *** t4258-am-quoted-cr.sh *** ok 17 - am_3way: replace tracked file with submodule creates empty directory ok 1 - setup ok 2 - am warn if quoted-cr is found ok 3 - am --quoted-cr=strip ok 4 - am with config mailinfo.quotedCr=strip # passed all 4 test(s) 1..4 *** t4300-merge-tree.sh *** ok 1 - setup ok 18 - am_3way: replace directory with submodule ok 2 - file add A, !B ok 3 - file add !A, B ok 4 - file add A, B (same) ok 5 - file add A, B (different) ok 6 - file change A, !B ok 19 - am_3way: removed submodule leaves submodule directory and its contents in place ok 7 - file change !A, B ok 8 - 3-way merge with --attr-source ok 9 - file change A, B (same) ok 20 - am_3way: removed submodule leaves submodule containing a .git directory alone ok 10 - file change A, B (different) ok 11 - file change A, B (mixed) ok 12 - file remove A, !B not ok 21 - am_3way: replace submodule with a directory must fail # TODO known breakage ok 13 - file remove !A, B ok 14 - file remove A, B (same) ok 15 - file change A, remove B not ok 22 - am_3way: replace submodule containing a .git directory with a directory must fail # TODO known breakage ok 16 - file remove A, change B ok 17 - tree add A, B (same) ok 18 - tree add A, B (different) ok 19 - tree unchanged A, removed B not ok 23 - am_3way: replace submodule with a file must fail # TODO known breakage ok 20 - turn file to tree ok 21 - turn tree to file not ok 24 - am_3way: replace submodule containing a .git directory with a file must fail # TODO known breakage ok 22 - merge-tree respects core.useReplaceRefs=false # passed all 22 test(s) 1..22 *** t4301-merge-tree-write-tree.sh *** ok 1 - setup ok 25 - am_3way: modified submodule does not update submodule work tree ok 2 - Clean merge ok 3 - Content merge and a few conflicts ok 4 - Auto resolve conflicts by "ours" strategy option ok 5 - Barf on misspelled option, with exit code other than 0 or 1 ok 6 - Barf on too many arguments ok 7 - test conflict notices and such ok 8 - directory rename + content conflict ok 26 - am_3way: modified submodule does not update submodule work tree to invalid commit ok 9 - rename/delete handling ok 10 - rename/add handling ok 27 - am_3way: modified submodule does not update submodule work tree from invalid commit ok 11 - rename/add, where add is a mode conflict ok 28 - am_3way: added submodule doesn't remove untracked unignored file with same name ok 12 - rename/rename + content conflict ok 13 - rename/add/delete conflict ok 14 - rename/rename(2to1)/delete/delete conflict ok 29 - setup diff.submodule ok 15 - mod6: chains of rename/rename(1to2) and add/add via colliding renames ok 30 - diff.submodule unset ok 16 - directory rename + rename/delete + modify/delete + directory/file conflict ok 17 - usage: --trivial-merge is incompatible with --messages ok 18 - usage: --trivial-merge is incompatible with --name-only ok 19 - usage: --trivial-merge is incompatible with --allow-unrelated-histories ok 20 - usage: --trivial-merge is incompatible with --stdin ok 21 - usage: --trivial-merge is incompatible with --merge-base= ok 22 - usage: --trivial-merge is incompatible with --strategy-option= ok 23 - usage: --trivial-merge is incompatible with --no-messages ok 24 - usage: --trivial-merge is incompatible with -- ok 25 - usage: --trivial-merge is incompatible with --no-merge-base ok 26 - usage: --trivial-merge is incompatible with --no-strategy-option ok 31 - diff.submodule unset with extra file ok 27 - Just the conflicted files without the messages ok 28 - Check conflicted oids and modes without messages ok 29 - NUL terminated conflicted file "lines" ok 30 - error out by default for unrelated histories ok 31 - can override merge of unrelated histories ok 32 - diff.submodule=log ok 32 - merge-ort fails gracefully in a read-only repository ok 33 - --stdin with both a successful and a conflicted merge ok 34 - --merge-base is incompatible with --stdin ok 33 - diff.submodule=log with extra file # still have 6 known breakage(s) # passed all remaining 27 test(s) 1..33 *** t5000-tar-tree.sh *** ok 35 - specify merge-base as parent of branch2 ok 1 - setup ok 2 - --list notices extra parameters ok 3 - end-of-options is correctly eaten ok 36 - check the input format when --stdin is passed ok 37 - --merge-base with tree OIDs ok 4 - populate workdir ok 5 - add ignored file ok 38 - error out on missing tree objects ok 6 - add files to repository ok 7 - setup export-subst ok 39 - error out on missing blob objects ok 8 - create bare clone ok 9 - remove ignored file ok 10 - git archive ok 11 - extract tar archive ok 12 # skip interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK) ok 13 - validate filenames ok 40 - error out on missing commits as well # passed all 40 test(s) 1..40 ok 14 - validate file contents ok 15 - validate mtime of a/a ok 16 - git archive --mtime ok 17 - extract tar archive ok 18 # skip interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK) ok 19 - validate filenames ok 20 - validate file contents ok 21 - validate mtime of a/a ok 22 - git archive --prefix=prefix/ *** t5001-archive-attr.sh *** ok 23 - extract tar archive ok 24 # skip interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK) ok 25 - validate filenames ok 26 - validate file contents ok 27 - git-archive --prefix=olde- ok 28 - extract tar archive ok 29 # skip interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK) ok 30 - validate filenames ok 31 - validate file contents ok 32 - git archive --add-file ok 33 - extract tar archive ok 34 # skip interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK) ok 35 - validate filenames ok 36 - validate file contents ok 37 - validate extra file untracked ok 38 - git archive --add-file twice ok 39 - extract tar archive ok 40 # skip interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK) ok 41 - validate filenames ok 42 - validate file contents ok 43 - validate extra file one/untracked ok 44 - validate extra file two/untracked ok 45 - git archive on large files ok 46 - git archive in a bare repo ok 47 - git archive vs. the same in a bare repo ok 1 - setup ok 48 - git archive with --output ok 2 - git archive ok 3 - archive/ignored does not exist ok 4 - archive/ignored-by-tree does not exist ok 5 - archive/ignored-by-tree.d does not exist ok 6 - archive/ignored-by-tree.d/file does not exist ok 7 - archive/ignored-by-worktree exists ok 8 - archive/excluded-by-pathspec.d exists ok 9 - archive/excluded-by-pathspec.d/file exists ok 10 - git archive with pathspec ok 11 - archive-pathspec/ignored does not exist ok 12 - archive-pathspec/ignored-by-tree does not exist ok 13 - archive-pathspec/ignored-by-tree.d does not exist ok 14 - archive-pathspec/ignored-by-tree.d/file does not exist ok 15 - archive-pathspec/ignored-by-worktree exists ok 16 - archive-pathspec/excluded-by-pathspec.d does not exist ok 17 - archive-pathspec/excluded-by-pathspec.d/file does not exist ok 49 - git archive --remote ok 18 - git archive with wildcard pathspec ok 19 - archive-pathspec-wildcard/ignored does not exist ok 20 - archive-pathspec-wildcard/ignored-by-tree does not exist ok 21 - archive-pathspec-wildcard/ignored-by-tree.d does not exist ok 22 - archive-pathspec-wildcard/ignored-by-tree.d/file does not exist ok 23 - archive-pathspec-wildcard/ignored-by-worktree exists ok 24 - archive-pathspec-wildcard/excluded-by-pathspec.d does not exist ok 25 - archive-pathspec-wildcard/excluded-by-pathspec.d/file does not exist ok 26 - git -C subdir archive ok 27 - archive-subdir/included exists ok 28 - archive-subdir/ignored-by-subtree does not exist ok 29 - archive-subdir/ignored-by-tree does not exist ok 50 - git archive --remote with configured remote ok 30 - git archive with worktree attributes ok 31 - worktree/ignored does not exist ok 32 - worktree/ignored-by-tree exists ok 33 - worktree/ignored-by-worktree does not exist ok 51 - git get-tar-commit-id ok 34 - git archive --worktree-attributes option ok 35 - worktree2/ignored does not exist ok 36 - worktree2/ignored-by-tree exists ok 37 - worktree2/ignored-by-worktree does not exist ok 38 - git archive vs. bare ok 52 - git archive with --output, override inferred format ok 39 - git archive with worktree attributes, bare ok 40 - bare-worktree/ignored does not exist ok 41 - bare-worktree/ignored-by-tree does not exist ok 42 - bare-worktree/ignored-by-worktree exists ok 53 # skip git archive with --output and --remote creates .tgz (missing GZIP) ok 43 - export-subst ok 54 - git archive --list outside of a git repo ok 55 - git archive --remote outside of a git repo ok 44 - export-subst expands %(describe) once # passed all 44 test(s) 1..44 *** t5002-archive-attr-pattern.sh *** ok 56 - clients cannot access unreachable commits ok 57 - upload-archive can allow unreachable commits ok 58 - setup tar filters ok 59 - archive --list mentions user filter ok 60 - archive --list shows only enabled remote filters ok 1 - setup ok 2 - git archive ok 3 - archive/ignored does not exist ok 4 - archive/not-ignored-dir/ignored does not exist ok 5 - archive/not-ignored-dir/ignored-only-if-dir exists ok 6 - archive/not-ignored-dir/ exists ok 7 - archive/ignored-only-if-dir/ does not exist ok 8 - archive/ignored-ony-if-dir/ignored-by-ignored-dir does not exist ok 9 - archive/ignored-without-slash/ does not exist ok 10 - archive/ignored-without-slash/foo does not exist ok 11 - archive/wildcard-without-slash/ does not exist ok 12 - archive/wildcard-without-slash/foo does not exist ok 13 - archive/deep/and/slashless/ does not exist ok 14 - archive/deep/and/slashless/foo does not exist ok 15 - archive/deep/with/wildcard/ does not exist ok 16 - archive/deep/with/wildcard/foo does not exist ok 17 - archive/one-level-lower/ does not exist ok 18 - archive/one-level-lower/two-levels-lower/ignored-only-if-dir/ does not exist ok 19 - archive/one-level-lower/two-levels-lower/ignored-ony-if-dir/ignored-by-ignored-dir does not exist # passed all 19 test(s) 1..19 *** t5003-archive-zip.sh *** ok 61 - invoke tar filter by format ok 62 - invoke tar filter by extension ok 63 - default output format remains tar ok 64 - extension matching requires dot ok 1 - populate workdir ok 2 - add symlink ok 65 - only enabled filters are available remotely ok 3 - prepare file list ok 4 - add ignored file ok 66 - invalid filter is reported only once