| Age | Commit message (Expand) | Author | Files | Lines |
| 2021-07-15 | worktree: teach `add` to accept --reason <string> with --lock | Stephen Manz | 1 | -5/+16 |
| 2021-07-14 | worktree: mark lock strings with `_()` for translation | Stephen Manz | 1 | -2/+2 |
| 2021-05-20 | Merge branch 'en/dir-traversal' | Junio C Hamano | 1 | -3/+1 |
| 2021-05-13 | dir: introduce readdir_skip_dot_and_dotdot() helper | Elijah Newren | 1 | -3/+1 |
| 2021-04-27 | hash: provide per-algorithm null OIDs | brian m. carlson | 1 | -2/+2 |
| 2021-03-14 | worktree: fix leak in dwim_branch() | Andrzej Hunt | 1 | -4/+6 |
| 2021-01-30 | worktree: teach `list` verbose mode | Rafael Silva | 1 | -2/+12 |
| 2021-01-30 | worktree: teach `list` to annotate prunable worktree | Rafael Silva | 1 | -0/+10 |
| 2021-01-30 | worktree: teach `list --porcelain` to annotate locked worktree | Rafael Silva | 1 | -0/+13 |
| 2021-01-30 | worktree: teach worktree_lock_reason() to gently handle main worktree | Rafael Silva | 1 | -1/+1 |
| 2021-01-30 | worktree: libify should_prune_worktree() | Rafael Silva | 1 | -74/+1 |
| 2020-12-21 | worktree: teach `repair` to fix multi-directional breakage | Eric Sunshine | 1 | -1/+1 |
| 2020-11-30 | Merge branch 'mt/worktree-error-message-fix' | Junio C Hamano | 1 | -2/+2 |
| 2020-11-21 | worktree: fix order of arguments in error message | Matheus Tavares | 1 | -2/+2 |
| 2020-10-12 | worktree: teach `list` to annotate locked worktree | Rafael Silva | 1 | -1/+4 |
| 2020-09-18 | Merge branch 'es/wt-add-detach' | Junio C Hamano | 1 | -1/+1 |
| 2020-09-09 | Merge branch 'es/worktree-repair' | Junio C Hamano | 1 | -0/+30 |
| 2020-09-09 | Merge branch 'jk/worktree-check-clean-leakfix' | Junio C Hamano | 1 | -5/+3 |
| 2020-09-06 | worktree: teach `add` to recognize -d as shorthand for --detach | Eric Sunshine | 1 | -1/+1 |
| 2020-08-31 | worktree: teach "repair" to fix outgoing links to worktrees | Eric Sunshine | 1 | -2/+5 |
| 2020-08-31 | worktree: teach "repair" to fix worktree back-links to main worktree | Eric Sunshine | 1 | -0/+12 |
| 2020-08-27 | worktree: add skeleton "repair" command | Eric Sunshine | 1 | -0/+15 |
| 2020-08-27 | worktree: fix leak in check_clean_worktree() | Jeff King | 1 | -5/+3 |
| 2020-07-30 | strvec: rename struct fields | Jeff King | 1 | -3/+3 |
| 2020-07-28 | strvec: fix indentation in renamed calls | Jeff King | 1 | -9/+9 |
| 2020-07-28 | strvec: convert builtin/ callers away from argv_array name | Jeff King | 1 | -21/+21 |
| 2020-07-28 | strvec: rename files from argv-array to strvec | Jeff King | 1 | -1/+1 |
| 2020-07-06 | Merge branch 'es/get-worktrees-unsort' | Junio C Hamano | 1 | -6/+26 |
| 2020-06-22 | Merge branch 'es/worktree-duplicate-paths' | Junio C Hamano | 1 | -35/+93 |
| 2020-06-22 | worktree: drop get_worktrees() unused 'flags' argument | Eric Sunshine | 1 | -6/+6 |
| 2020-06-22 | worktree: drop get_worktrees() special-purpose sorting option | Eric Sunshine | 1 | -1/+21 |
| 2020-06-10 | worktree: make "move" refuse to move atop missing registered worktree | Eric Sunshine | 1 | -2/+1 |
| 2020-06-10 | worktree: generalize candidate worktree path validation | Eric Sunshine | 1 | -13/+16 |
| 2020-06-10 | worktree: prune linked worktree referencing main worktree path | Eric Sunshine | 1 | -0/+15 |
| 2020-06-10 | worktree: prune duplicate entries referencing same worktree path | Eric Sunshine | 1 | -6/+43 |
| 2020-06-10 | worktree: make high-level pruning re-usable | Eric Sunshine | 1 | -6/+9 |
| 2020-06-10 | worktree: give "should be pruned?" function more meaningful name | Eric Sunshine | 1 | -2/+2 |
| 2020-06-08 | worktree: factor out repeated string literal | Eric Sunshine | 1 | -11/+12 |
| 2020-03-10 | real_path: remove unsafe API | Alexandr Miloslavskiy | 1 | -3/+6 |
| 2020-02-24 | worktree: don't allow "add" validation to be fooled by suffix matching | Eric Sunshine | 1 | -8/+1 |
| 2019-12-01 | Merge branch 'pb/no-recursive-reset-hard-in-worktree-add' | Junio C Hamano | 1 | -1/+1 |
| 2019-10-30 | worktree: teach "add" to ignore submodule.recurse config | Philippe Blain | 1 | -1/+1 |
| 2019-10-11 | Merge branch 'rs/dedup-includes' | Junio C Hamano | 1 | -1/+0 |
| 2019-10-11 | Merge branch 'bc/object-id-part17' | Junio C Hamano | 1 | -1/+1 |
| 2019-10-04 | treewide: remove duplicate #include directives | René Scharfe | 1 | -1/+0 |
| 2019-08-19 | builtin/worktree: switch null_sha1 to null_oid | brian m. carlson | 1 | -1/+1 |
| 2019-08-13 | worktree remove: clarify error message on dirty worktree | SZEDER Gábor | 1 | -1/+1 |
| 2019-06-13 | Merge branch 'nd/worktree-name-sanitization' | Junio C Hamano | 1 | -1/+9 |
| 2019-05-15 | worktree add: sanitize worktree names | Nguyễn Thái Ngọc Duy | 1 | -1/+9 |
| 2019-04-10 | Merge branch 'ms/worktree-add-atomic-mkdir' | Junio C Hamano | 1 | -5/+7 |
| 2019-03-12 | worktree: fix worktree add race | Michal Suchanek | 1 | -5/+7 |
| 2019-02-22 | trace2:data: add trace2 hook classification | Jeff Hostetler | 1 | -0/+1 |
| 2019-01-07 | worktree: allow to (re)move worktrees with uninitialized submodules | Nguyễn Thái Ngọc Duy | 1 | -6/+23 |
| 2018-10-31 | worktree: rename is_worktree_locked to worktree_lock_reason | Nickolai Belakovski | 1 | -5/+5 |
| 2018-08-30 | worktree: delete .git/worktrees if empty after 'remove' | Eric Sunshine | 1 | -1/+7 |
| 2018-08-30 | worktree: teach 'remove' to override lock when --force given twice | Eric Sunshine | 1 | -5/+6 |
| 2018-08-30 | worktree: teach 'move' to override lock when --force given twice | Eric Sunshine | 1 | -4/+9 |
| 2018-08-30 | worktree: teach 'add' to respect --force for registered but missing path | Eric Sunshine | 1 | -2/+8 |
| 2018-08-30 | worktree: disallow adding same path multiple times | Eric Sunshine | 1 | -0/+25 |
| 2018-08-30 | worktree: prepare for more checks of whether path can become worktree | Eric Sunshine | 1 | -2/+7 |
| 2018-08-30 | worktree: generalize delete_git_dir() to reduce code duplication | Eric Sunshine | 1 | -16/+9 |
| 2018-08-30 | worktree: move delete_git_dir() earlier in file for upcoming new callers | Eric Sunshine | 1 | -14/+14 |
| 2018-08-17 | worktree: add --quiet option | Elia Pinto | 1 | -3/+13 |
| 2018-06-11 | checkout: pass the "num_matches" up to callers | Ævar Arnfjörð Bjarmason | 1 | -2/+2 |
| 2018-05-23 | Merge branch 'tg/worktree-add-existing-branch' | Junio C Hamano | 1 | -27/+74 |
| 2018-05-08 | Merge branch 'sb/worktree-remove-opt-force' | Junio C Hamano | 1 | -2/+3 |
| 2018-04-30 | worktree: teach "add" to check out existing branches | Thomas Gummerer | 1 | -2/+11 |
| 2018-04-30 | worktree: factor out dwim_branch function | Thomas Gummerer | 1 | -11/+18 |
| 2018-04-30 | worktree: improve message when creating a new worktree | Thomas Gummerer | 1 | -2/+36 |
| 2018-04-30 | worktree: remove extra members from struct add_opts | Thomas Gummerer | 1 | -17/+16 |
| 2018-04-18 | worktree: accept -f as short for --force for removal | Stefan Beller | 1 | -2/+3 |
| 2018-04-10 | Merge branch 'nd/worktree-prune' | Junio C Hamano | 1 | -9/+2 |
| 2018-04-10 | Merge branch 'bc/object-id' | Junio C Hamano | 1 | -2/+2 |
| 2018-03-15 | worktree prune: improve prune logic when worktree is moved | Nguyễn Thái Ngọc Duy | 1 | -1/+2 |
| 2018-03-15 | worktree: delete dead code | Nguyễn Thái Ngọc Duy | 1 | -8/+0 |
| 2018-03-14 | Merge branch 'nd/parseopt-completion' | Junio C Hamano | 1 | -1/+3 |
| 2018-03-14 | Merge branch 'nd/worktree-move' | Junio C Hamano | 1 | -0/+220 |
| 2018-03-14 | Convert find_unique_abbrev* to struct object_id | brian m. carlson | 1 | -2/+2 |
| 2018-02-28 | Merge branch 'es/worktree-add-post-checkout-hook' | Junio C Hamano | 1 | -3/+17 |
| 2018-02-15 | Merge branch 'jc/worktree-add-short-help' | Junio C Hamano | 1 | -1/+1 |
| 2018-02-15 | worktree: add: fix 'post-checkout' not knowing new worktree location | Eric Sunshine | 1 | -3/+17 |
| 2018-02-12 | worktree remove: allow it when $GIT_WORK_TREE is already gone | Nguyễn Thái Ngọc Duy | 1 | -5/+7 |
| 2018-02-12 | worktree remove: new command | Nguyễn Thái Ngọc Duy | 1 | -1/+133 |
| 2018-02-12 | worktree move: refuse to move worktrees with submodules | Nguyễn Thái Ngọc Duy | 1 | -0/+23 |
| 2018-02-12 | worktree move: accept destination as directory | Nguyễn Thái Ngọc Duy | 1 | -1/+10 |
| 2018-02-12 | worktree move: new command | Nguyễn Thái Ngọc Duy | 1 | -0/+53 |
| 2018-02-09 | completion: use __gitcomp_builtin in _git_worktree | Nguyễn Thái Ngọc Duy | 1 | -1/+1 |
| 2018-02-09 | parse-options: let OPT__FORCE take optional flags argument | Nguyễn Thái Ngọc Duy | 1 | -1/+3 |
| 2018-01-17 | worktree: say that "add" takes an arbitrary commit in short-help | Junio C Hamano | 1 | -1/+1 |
| 2017-12-27 | Merge branch 'es/worktree-checkout-hook' | Junio C Hamano | 1 | -6/+16 |
| 2017-12-07 | worktree: invoke post-checkout hook (unless --no-checkout) | Eric Sunshine | 1 | -6/+16 |
| 2017-12-06 | add worktree.guessRemote config option | Thomas Gummerer | 1 | -2/+12 |
| 2017-12-06 | worktree: add --guess-remote flag to add subcommand | Thomas Gummerer | 1 | -0/+10 |
| 2017-11-27 | worktree: make add <path> <branch> dwim | Thomas Gummerer | 1 | -0/+16 |
| 2017-11-27 | worktree: add --[no-]track option to the add subcommand | Thomas Gummerer | 1 | -0/+8 |
| 2017-10-16 | worktree: convert struct worktree to object_id | brian m. carlson | 1 | -3/+3 |
| 2017-09-27 | worktree: check the result of read_in_full() | Jeff King | 1 | -1/+18 |
| 2017-09-27 | worktree: use xsize_t to access file size | Jeff King | 1 | -2/+3 |
| 2017-09-08 | add UNLEAK annotation for reducing leak false positives | Jeff King | 1 | -0/+2 |
| 2017-06-24 | Merge branch 'ab/free-and-null' | Junio C Hamano | 1 | -4/+2 |
| 2017-06-24 | Merge branch 'bw/config-h' | Junio C Hamano | 1 | -0/+1 |
| 2017-06-16 | *.[ch] refactoring: make use of the FREE_AND_NULL() macro | Ævar Arnfjörð Bjarmason | 1 | -4/+2 |
| 2017-06-15 | config: don't include config.h by default | Brandon Williams | 1 | -0/+1 |
| 2017-05-29 | Merge branch 'js/plug-leaks' | Junio C Hamano | 1 | -3/+5 |
| 2017-05-16 | Merge branch 'js/larger-timestamps' | Junio C Hamano | 1 | -2/+2 |
| 2017-05-08 | show_worktree(): plug memory leak | Johannes Schindelin | 1 | -3/+5 |
| 2017-04-27 | timestamp_t: a new data type for timestamps | Johannes Schindelin | 1 | -2/+2 |
| 2017-04-26 | Merge branch 'nd/worktree-add-lock' | Junio C Hamano | 1 | -4/+11 |
| 2017-04-26 | Merge branch 'jk/war-on-git-path' | Junio C Hamano | 1 | -4/+2 |
| 2017-04-20 | replace strbuf_addstr(git_path()) with git_path_buf() | Jeff King | 1 | -4/+2 |
| 2017-04-20 | worktree add: add --lock option | Nguyễn Thái Ngọc Duy | 1 | -4/+11 |
| 2017-03-21 | prefix_filename: return newly allocated string | Jeff King | 1 | -1/+2 |
| 2017-03-21 | prefix_filename: drop length parameter | Jeff King | 1 | -1/+1 |
| 2017-02-10 | Merge branch 'ps/worktree-prune-help-fix' | Junio C Hamano | 1 | -2/+2 |
| 2017-02-06 | worktree: fix option descriptions for `prune` | Patrick Steinhardt | 1 | -2/+2 |
| 2016-11-28 | worktree list: keep the list sorted | Nguyễn Thái Ngọc Duy | 1 | -1/+1 |
| 2016-11-28 | worktree.c: get_worktrees() takes a new flag argument | Nguyễn Thái Ngọc Duy | 1 | -3/+3 |
| 2016-11-28 | get_worktrees() must return main worktree as first item even on error | Nguyễn Thái Ngọc Duy | 1 | -2/+4 |
| 2016-11-28 | worktree: reorder an if statement | Nguyễn Thái Ngọc Duy | 1 | -3/+3 |
| 2016-09-27 | worktree: honor configuration variables | Junio C Hamano | 1 | -0/+2 |
| 2016-08-05 | use CHILD_PROCESS_INIT to initialize automatic variables | René Scharfe | 1 | -4/+2 |
| 2016-07-28 | Merge branch 'nd/worktree-lock' | Junio C Hamano | 1 | -0/+66 |
| 2016-07-08 | worktree: add "unlock" command | Nguyễn Thái Ngọc Duy | 1 | -0/+28 |
| 2016-07-08 | worktree: add "lock" command | Nguyễn Thái Ngọc Duy | 1 | -0/+38 |
| 2016-07-08 | avoid using sha1_to_hex output as printf format | Jeff King | 1 | -1/+1 |
| 2016-07-06 | Merge branch 'nd/worktree-cleanup-post-head-protection' | Junio C Hamano | 1 | -4/+6 |
| 2016-05-31 | worktree: allow "-" short-hand for @{-1} in add command | Jordan DE GEA | 1 | -0/+3 |
| 2016-05-24 | worktree: simplify prefixing paths | Nguyễn Thái Ngọc Duy | 1 | -1/+3 |
| 2016-05-24 | worktree: avoid 0{40}, too many zeroes, hard to read | Nguyễn Thái Ngọc Duy | 1 | -1/+1 |
| 2016-05-24 | worktree.c: use is_dot_or_dotdot() | Nguyễn Thái Ngọc Duy | 1 | -1/+1 |
| 2016-05-24 | git-worktree.txt: keep subcommand listing in alphabetical order | Nguyễn Thái Ngọc Duy | 1 | -1/+1 |
| 2016-05-23 | Merge branch 'nd/worktree-various-heads' | Junio C Hamano | 1 | -2/+2 |
| 2016-05-17 | Merge branch 'nd/error-errno' | Junio C Hamano | 1 | -1/+1 |
| 2016-05-09 | builtin/worktree.c: use error_errno() | Nguyễn Thái Ngọc Duy | 1 | -1/+1 |
| 2016-04-22 | worktree.c: check whether branch is rebased in another worktree | Nguyễn Thái Ngọc Duy | 1 | -2/+2 |
| 2016-03-29 | worktree: add: introduce --checkout option | Ray Zhang | 1 | -11/+18 |
| 2016-02-26 | Merge branch 'jk/tighten-alloc' | Junio C Hamano | 1 | -1/+1 |
| 2016-02-22 | use xmallocz to avoid size arithmetic | Jeff King | 1 | -1/+1 |
| 2016-02-15 | worktree add -B: do the checkout test before update branch | Nguyễn Thái Ngọc Duy | 1 | -1/+10 |
| 2016-02-15 | worktree: fix "add -B" | Nguyễn Thái Ngọc Duy | 1 | -3/+1 |
| 2015-11-20 | Convert struct object to object_id | brian m. carlson | 1 | -1/+1 |
| 2015-10-26 | Merge branch 'es/worktree-add' | Junio C Hamano | 1 | -1/+1 |
| 2015-10-18 | worktree: usage: denote <branch> as optional with 'add' | Sidhant Sharma | 1 | -1/+1 |
| 2015-10-08 | worktree: add 'list' command | Michael Rappazzo | 1 | -0/+88 |
| 2015-08-31 | Merge branch 'jc/am-state-fix' | Junio C Hamano | 1 | -5/+5 |
| 2015-08-25 | write_file(): drop caller-supplied LF from calls to create a one-liner file | Junio C Hamano | 1 | -5/+5 |
| 2015-08-24 | write_file(): drop "fatal" parameter | Junio C Hamano | 1 | -5/+5 |
| 2015-08-12 | Merge branch 'es/worktree-add-cleanup' | Junio C Hamano | 1 | -40/+83 |
| 2015-07-20 | worktree: populate via "git reset --hard" rather than "git checkout" | Eric Sunshine | 1 | -2/+1 |
| 2015-07-20 | worktree: avoid resolving HEAD unnecessarily | Eric Sunshine | 1 | -12/+5 |
| 2015-07-20 | worktree: make setup of new HEAD distinct from worktree population | Eric Sunshine | 1 | -5/+15 |
| 2015-07-20 | worktree: detect branch-name/detached and error conditions locally | Eric Sunshine | 1 | -0/+18 |
| 2015-07-20 | worktree: add_worktree: construct worktree-population command locally | Eric Sunshine | 1 | -11/+8 |
| 2015-07-20 | worktree: elucidate environment variables intended for child processes | Eric Sunshine | 1 | -2/+5 |
| 2015-07-20 | worktree: make branch creation distinct from worktree population | Eric Sunshine | 1 | -3/+14 |
| 2015-07-20 | worktree: add: suppress auto-vivication with --detach and no <branch> | Eric Sunshine | 1 | -1/+1 |
| 2015-07-20 | worktree: make --detach mutually exclusive with -b/-B | Eric Sunshine | 1 | -2/+2 |
| 2015-07-20 | worktree: introduce options container | Eric Sunshine | 1 | -18/+27 |
| 2015-07-20 | worktree: simplify new branch (-b/-B) option checking | Eric Sunshine | 1 | -5/+8 |
| 2015-07-20 | worktree: improve worktree setup message | Eric Sunshine | 1 | -1/+1 |
| 2015-07-13 | Merge branch 'es/worktree-add' | Junio C Hamano | 1 | -0/+199 |
| 2015-07-12 | Revert "checkout: retire --ignore-other-worktrees in favor of --force" | Junio C Hamano | 1 | -1/+1 |
| 2015-07-07 | checkout: retire --ignore-other-worktrees in favor of --force | Eric Sunshine | 1 | -1/+1 |
| 2015-07-07 | worktree: add: auto-vivify new branch when <branch> is omitted | Eric Sunshine | 1 | -2/+6 |
| 2015-07-06 | worktree: add: make -b/-B default to HEAD when <branch> is omitted | Eric Sunshine | 1 | -2/+4 |
| 2015-07-06 | worktree: extract basename computation to new function | Eric Sunshine | 1 | -9/+20 |
| 2015-07-06 | checkout: retire --to option | Eric Sunshine | 1 | -6/+138 |
| 2015-07-06 | worktree: add -b/-B options | Eric Sunshine | 1 | -0/+11 |
| 2015-07-06 | worktree: add --detach option | Eric Sunshine | 1 | -1/+4 |
| 2015-07-06 | worktree: add --force option | Eric Sunshine | 1 | -1/+5 |
| 2015-07-06 | worktree: introduce "add" command | Eric Sunshine | 1 | -0/+31 |
| 2015-06-29 | worktree: new place for "git prune --worktrees" | Nguyễn Thái Ngọc Duy | 1 | -0/+133 |