[PATCH v2 00/10] More on worktree fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series cleans up setup.c and makes git handle worktree better.
The series deprecates my patch "Move worktree setup out of..."

Changes from the last version: Junio's concerns are addressed, tests
are also added.

Main points:

 - get_git_dir() is now always absolute path.

 - setup_git_directory_gently() will no longer do
   any worktree setup. If you want worktree with
   setup_git_directory_gently(), call setup_work_tree().

 - setup_git_directory() will still setup worktree if found. The
   behavior is a bit more consistent as it will setup worktree no
   matter where it comes from. GIT_WORK_TREE, core.worktree or
   autodetection are treated the same.

 - Document setup api along the way.

"make test" was run on each patch. Hopefully the series won't break
anything. Tests will come later, my brain has been overheated.

Remaining problems I'm aware of:

 - prefix when running a command from outside worktree (currently NULL)
 - cmd_update_index() needs setup_work_tree()

Nguyễn Thái Ngọc Duy (10):
      "git read-tree -m" and the like require worktree
      Make sure setup_git_directory is called before accessing repository
      Make get_git_dir() and 'git rev-parse --git-dir' absolute path
      Make setup_work_tree() return new prefix
      http-push: Avoid calling setup_git_directory() twice
      Completely move out worktree setup from setup_git_directory_gently()
      builtin-archive: mark unused prefix "unused_prefix"
      Make setup_git_directory() auto-setup worktree if found
      Documentation: update api-builtin and api-setup
      Additional tests to capture worktree special cases

 Documentation/technical/api-builtin.txt |   10 +++
 Documentation/technical/api-setup.txt   |   91 ++++++++++++++++++++++--
 builtin-apply.c                         |    7 ++-
 builtin-archive.c                       |    6 +-
 builtin-blame.c                         |    4 +-
 builtin-bundle.c                        |    9 +--
 builtin-config.c                        |   15 ++---
 builtin-diff-files.c                    |   13 ++--
 builtin-diff.c                          |   13 ++--
 builtin-ls-files.c                      |   10 ++--
 builtin-read-tree.c                     |    3 +
 builtin-rev-parse.c                     |   23 ++----
 builtin-rm.c                            |    5 +-
 builtin-upload-archive.c                |    4 +-
 cache.h                                 |    4 +-
 environment.c                           |    1 +
 fast-import.c                           |    1 +
 git.c                                   |    8 +--
 hash-object.c                           |   14 +---
 http-push.c                             |    4 +-
 index-pack.c                            |    2 +
 setup.c                                 |  114 +++++++++++-------------------
 t/t1300-repo-config.sh                  |    2 +-
 t/t1400-update-ref.sh                   |    4 +-
 t/t1501-worktree.sh                     |   57 +++++++++++++++-
 t/t9300-fast-import.sh                  |    2 +-
 26 files changed, 261 insertions(+), 165 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux