git@vger.kernel.org mailing list mirror (one of many)
 help / Atom feed
From: Brandon Williams <bmwill@google.com>
To: git@vger.kernel.org
Cc: sbeller@google.com, jrnieder@gmail.com, jacob.keller@gmail.com, Johannes.Schindelin@gmx.de, sandals@crustytoothpaste.net, peartben@gmail.com, pclouds@gmail.com, gitster@pobox.com, peff@peff.net, git@jeffhostetler.com, avarab@gmail.com, jonathantanmy@google.com, Brandon Williams <bmwill@google.com>
Subject: [PATCH 00/31] repository object
Date: Wed, 31 May 2017 14:43:46 -0700
Message-ID: <20170531214417.38857-1-bmwill@google.com> (raw)

Given the vast interest expressed when I sent out my RFC series I decided it
would be worth it to invest more time to making a repository object a reality.

This series is an extension of the last series I sent out (in that ls-files is
converted to working on submodules in-process using repository objects instead
of spawning a child process to do the work).  The big difference from the RFC
series is that I went through and did the work to migrate key repository state
from global variables in 'environment.c' to being stored in a repository object
itself.  I migrated the bits of state that seemed reasonable for this series,
there is still a lot of global state which could be migrated in the future.

I do think that we need to be slightly cautious about moving global state into
the repository object though, I don't want 'struct repo' to simply become a
kitchen sink where everything gets dumped.  But this is just a warning for the
future.

Since this is a v1 I'm fairly certain that it still has a lot of rough edges
(like I think I need to write better commit messages, and we should probably
have more comments documenting object fields/contract) but I want to get the
review process started sooner rather than later since I'm sure people will have
opinions (e.g. should it be called 'struct repo' or 'struct repository'?!).

So here it is!  Thank you so much for taking the time review this, any and all
comments would be appreciated.

- Brandon

Patches [01-14] -> Introducing the Repository object and migrating some state
		   to be stored in 'the_repository'.

Patches [15-31] -> Converting ls-files to use 'struct repo' in order to recurse
		   submodules in-process.

Brandon Williams (31):
  config: create config.h
  config: don't include config.h by default
  config: don't implicitly use gitdir
  setup: don't perform lazy initialization of repository state
  environment: remove namespace_len variable
  repo: introduce the repository object
  environment: place key repository state in the_repository
  environment: store worktree in the_repository
  setup: add comment indicating a hack
  config: migrate the_configset to the_repository
  repo: add index_state to struct repo
  submodule-config: store the_submodule_cache in the_repository
  repo: add repo_read_gitmodules
  submodule: convert is_submodule_initialized to work on a repository
  convert: convert get_cached_convert_stats_ascii to take an index
  convert: convert crlf_to_git to take an index
  convert: convert convert_to_git_filter_fd to take an index
  convert: convert convert_to_git to take an index
  convert: convert renormalize_buffer to take an index
  tree: convert read_tree to take an index parameter
  ls-files: convert overlay_tree_on_cache to take an index
  ls-files: convert write_eolinfo to take an index
  ls-files: convert show_killed_files to take an index
  ls-files: convert show_other_files to take an index
  ls-files: convert show_ru_info to take an index
  ls-files: convert ce_excluded to take an index
  ls-files: convert prune_cache to take an index
  ls-files: convert show_files to take an index
  ls-files: factor out debug info into a function
  ls-files: factor out tag calculation
  ls-files: use repository object

 Makefile                               |   1 +
 advice.c                               |   1 +
 alias.c                                |   1 +
 apply.c                                |   3 +-
 archive-tar.c                          |   1 +
 archive-zip.c                          |   1 +
 archive.c                              |   1 +
 attr.c                                 |   1 +
 bisect.c                               |   1 +
 branch.c                               |   1 +
 builtin/add.c                          |   1 +
 builtin/am.c                           |   1 +
 builtin/blame.c                        |   3 +-
 builtin/branch.c                       |   1 +
 builtin/cat-file.c                     |   1 +
 builtin/check-attr.c                   |   1 +
 builtin/check-ignore.c                 |   1 +
 builtin/check-mailmap.c                |   1 +
 builtin/checkout-index.c               |   1 +
 builtin/checkout.c                     |   1 +
 builtin/clean.c                        |   1 +
 builtin/clone.c                        |   1 +
 builtin/column.c                       |   1 +
 builtin/commit-tree.c                  |   1 +
 builtin/commit.c                       |   4 +-
 builtin/config.c                       |   3 +
 builtin/count-objects.c                |   1 +
 builtin/describe.c                     |   1 +
 builtin/diff-files.c                   |   1 +
 builtin/diff-index.c                   |   1 +
 builtin/diff-tree.c                    |   1 +
 builtin/diff.c                         |   1 +
 builtin/difftool.c                     |   1 +
 builtin/fast-export.c                  |   1 +
 builtin/fetch.c                        |   1 +
 builtin/fmt-merge-msg.c                |   1 +
 builtin/for-each-ref.c                 |   1 +
 builtin/fsck.c                         |   1 +
 builtin/gc.c                           |   1 +
 builtin/grep.c                         |   4 +-
 builtin/hash-object.c                  |   1 +
 builtin/help.c                         |   1 +
 builtin/index-pack.c                   |   1 +
 builtin/init-db.c                      |   1 +
 builtin/log.c                          |   1 +
 builtin/ls-files.c                     | 343 ++++++++++++++++-----------------
 builtin/ls-tree.c                      |   1 +
 builtin/merge-base.c                   |   1 +
 builtin/merge-file.c                   |   1 +
 builtin/merge.c                        |   1 +
 builtin/mv.c                           |   1 +
 builtin/name-rev.c                     |   1 +
 builtin/notes.c                        |   1 +
 builtin/pack-objects.c                 |   1 +
 builtin/patch-id.c                     |   1 +
 builtin/pull.c                         |   1 +
 builtin/push.c                         |   1 +
 builtin/read-tree.c                    |   1 +
 builtin/rebase--helper.c               |   1 +
 builtin/receive-pack.c                 |   1 +
 builtin/reflog.c                       |   1 +
 builtin/remote.c                       |   1 +
 builtin/repack.c                       |   1 +
 builtin/replace.c                      |   1 +
 builtin/rerere.c                       |   1 +
 builtin/reset.c                        |   1 +
 builtin/rev-list.c                     |   1 +
 builtin/rev-parse.c                    |   1 +
 builtin/revert.c                       |   1 +
 builtin/rm.c                           |   1 +
 builtin/send-pack.c                    |   1 +
 builtin/shortlog.c                     |   1 +
 builtin/show-branch.c                  |   1 +
 builtin/stripspace.c                   |   1 +
 builtin/submodule--helper.c            |  10 +-
 builtin/symbolic-ref.c                 |   1 +
 builtin/tag.c                          |   1 +
 builtin/unpack-file.c                  |   1 +
 builtin/unpack-objects.c               |   1 +
 builtin/update-index.c                 |   1 +
 builtin/update-ref.c                   |   1 +
 builtin/update-server-info.c           |   1 +
 builtin/var.c                          |   1 +
 builtin/verify-commit.c                |   1 +
 builtin/verify-pack.c                  |   1 +
 builtin/verify-tag.c                   |   1 +
 builtin/worktree.c                     |   1 +
 builtin/write-tree.c                   |   1 +
 cache.h                                | 196 +------------------
 color.c                                |   1 +
 column.c                               |   1 +
 combine-diff.c                         |   2 +-
 config.c                               | 186 +++++++++++-------
 config.h                               | 204 ++++++++++++++++++++
 connect.c                              |   1 +
 convert.c                              |  32 +--
 convert.h                              |  19 +-
 credential-cache--daemon.c             |   1 +
 credential.c                           |   1 +
 daemon.c                               |   1 +
 diff.c                                 |   7 +-
 dir.c                                  |   3 +-
 environment.c                          | 101 +++-------
 fast-import.c                          |   1 +
 fetch-pack.c                           |   1 +
 git.c                                  |   3 +-
 gpg-interface.c                        |   1 +
 graph.c                                |   1 +
 grep.c                                 |   1 +
 help.c                                 |   1 +
 http-backend.c                         |   1 +
 http-fetch.c                           |   1 +
 http.c                                 |   1 +
 ident.c                                |   1 +
 imap-send.c                            |   1 +
 ll-merge.c                             |   3 +-
 log-tree.c                             |   1 +
 mailinfo.c                             |   1 +
 merge-recursive.c                      |   5 +-
 notes-utils.c                          |   1 +
 notes.c                                |   1 +
 pager.c                                |   1 +
 parse-options.c                        |   1 +
 path.c                                 |  11 +-
 pathspec.c                             |   1 +
 pretty.c                               |   1 +
 prompt.c                               |   1 +
 read-cache.c                           |   1 +
 refs.c                                 |   1 +
 refs/files-backend.c                   |   1 +
 remote-curl.c                          |   1 +
 remote.c                               |   1 +
 repo.c                                 | 192 ++++++++++++++++++
 repo.h                                 |  45 +++++
 rerere.c                               |   1 +
 send-pack.c                            |   1 +
 sequencer.c                            |   1 +
 setup.c                                |  34 ++++
 sha1_file.c                            |   7 +-
 sha1_name.c                            |   1 +
 submodule-config.c                     |  72 +++++--
 submodule-config.h                     |  10 +
 submodule.c                            |  22 +--
 submodule.h                            |   3 +-
 t/helper/test-config.c                 |   1 +
 t/helper/test-submodule-config.c       |   1 +
 t/t3007-ls-files-recurse-submodules.sh |  39 ++++
 trailer.c                              |   1 +
 transport.c                            |   1 +
 tree.c                                 |  28 ++-
 tree.h                                 |   3 +-
 unpack-trees.c                         |   1 +
 upload-pack.c                          |   1 +
 userdiff.c                             |   1 +
 versioncmp.c                           |   1 +
 wrapper.c                              |   1 +
 xdiff-interface.c                      |   1 +
 157 files changed, 1130 insertions(+), 593 deletions(-)
 create mode 100644 config.h
 create mode 100644 repo.c
 create mode 100644 repo.h

-- 
2.13.0.506.g27d5fe0cd-goog


             reply index

Thread overview: 214+ messages in thread (expand / mbox.gz / Atom feed / [top])
2017-05-31 21:43 Brandon Williams [this message]
2017-05-31 21:43 ` [PATCH 01/31] config: create config.h Brandon Williams
2017-05-31 21:43 ` [PATCH 02/31] config: don't include config.h by default Brandon Williams
2017-05-31 21:43 ` [PATCH 03/31] config: don't implicitly use gitdir Brandon Williams
2017-06-08 10:41   ` Johannes Schindelin
2017-06-08 16:37     ` Brandon Williams
2017-06-08 18:58       ` Johannes Schindelin
2017-06-08 19:19         ` Brandon Williams
2017-05-31 21:43 ` [PATCH 04/31] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-01 19:23   ` Stefan Beller
2017-06-02 18:39     ` Jeff King
2017-06-05 17:43       ` Brandon Williams
2017-06-05 18:20         ` Jeff King
2017-06-05 18:44           ` Brandon Williams
2017-05-31 21:43 ` [PATCH 05/31] environment: remove namespace_len variable Brandon Williams
2017-06-01 19:28   ` Stefan Beller
2017-06-01 21:09     ` Brandon Williams
2017-05-31 21:43 ` [PATCH 06/31] repo: introduce the repository object Brandon Williams
2017-06-01 19:53   ` Stefan Beller
2017-06-05 17:53     ` Brandon Williams
2017-06-05 18:31       ` Stefan Beller
2017-05-31 21:43 ` [PATCH 07/31] environment: place key repository state in the_repository Brandon Williams
2017-05-31 21:43 ` [PATCH 08/31] environment: store worktree " Brandon Williams
2017-05-31 21:43 ` [PATCH 09/31] setup: add comment indicating a hack Brandon Williams
2017-05-31 21:43 ` [PATCH 10/31] config: migrate the_configset to the_repository Brandon Williams
2017-05-31 21:43 ` [PATCH 11/31] repo: add index_state to struct repo Brandon Williams
2017-05-31 21:43 ` [PATCH 12/31] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-05-31 21:43 ` [PATCH 13/31] repo: add repo_read_gitmodules Brandon Williams
2017-05-31 21:44 ` [PATCH 14/31] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-05-31 21:44 ` [PATCH 15/31] convert: convert get_cached_convert_stats_ascii to take an index Brandon Williams
2017-05-31 21:44 ` [PATCH 16/31] convert: convert crlf_to_git " Brandon Williams
2017-05-31 21:44 ` [PATCH 17/31] convert: convert convert_to_git_filter_fd " Brandon Williams
2017-05-31 21:44 ` [PATCH 18/31] convert: convert convert_to_git " Brandon Williams
2017-05-31 21:44 ` [PATCH 19/31] convert: convert renormalize_buffer " Brandon Williams
2017-05-31 21:44 ` [PATCH 20/31] tree: convert read_tree to take an index parameter Brandon Williams
2017-05-31 21:44 ` [PATCH 21/31] ls-files: convert overlay_tree_on_cache to take an index Brandon Williams
2017-05-31 21:44 ` [PATCH 22/31] ls-files: convert write_eolinfo " Brandon Williams
2017-05-31 21:44 ` [PATCH 23/31] ls-files: convert show_killed_files " Brandon Williams
2017-05-31 21:44 ` [PATCH 24/31] ls-files: convert show_other_files " Brandon Williams
2017-05-31 21:44 ` [PATCH 25/31] ls-files: convert show_ru_info " Brandon Williams
2017-05-31 21:44 ` [PATCH 26/31] ls-files: convert ce_excluded " Brandon Williams
2017-05-31 21:44 ` [PATCH 27/31] ls-files: convert prune_cache " Brandon Williams
2017-05-31 21:44 ` [PATCH 28/31] ls-files: convert show_files " Brandon Williams
2017-05-31 21:44 ` [PATCH 29/31] ls-files: factor out debug info into a function Brandon Williams
2017-05-31 21:44 ` [PATCH 30/31] ls-files: factor out tag calculation Brandon Williams
2017-05-31 21:44 ` [PATCH 31/31] ls-files: use repository object Brandon Williams
2017-06-01 20:36   ` Stefan Beller
2017-06-05 17:46     ` Brandon Williams
2017-05-31 22:56 ` [PATCH 00/31] " Stefan Beller
2017-05-31 23:01   ` Brandon Williams
2017-06-01 18:10 ` Brandon Williams
2017-06-01 18:28   ` Stefan Beller
2017-06-01 20:03     ` Jacob Keller
2017-06-08 23:40 ` [PATCH v2 00/32] " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 01/32] config: create config.h Brandon Williams
2017-06-08 23:40   ` [PATCH v2 02/32] config: remove git_config_iter Brandon Williams
2017-06-08 23:40   ` [PATCH v2 03/32] config: don't include config.h by default Brandon Williams
2017-06-08 23:40   ` [PATCH v2 04/32] config: don't implicitly use gitdir Brandon Williams
2017-06-12 19:57     ` Brandon Williams
2017-06-08 23:40   ` [PATCH v2 05/32] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-08 23:40   ` [PATCH v2 06/32] environment: remove namespace_len variable Brandon Williams
2017-06-08 23:40   ` [PATCH v2 07/32] repository: introduce the repository object Brandon Williams
2017-06-09  8:53     ` [PATCH 0/2] Add a freez() wrapper Ævar Arnfjörð Bjarmason
2017-06-09 14:53       ` Brandon Williams
2017-06-09 22:04       ` [PATCH v2 0/2] Add a FREEZ() wrapper macro Ævar Arnfjörð Bjarmason
2017-06-09 22:04       ` [PATCH v2 1/2] git-compat-util: add a FREEZ() wrapper around free(ptr); ptr = NULL Ævar Arnfjörð Bjarmason
2017-06-09 22:27         ` Jonathan Nieder
2017-06-09 23:37           ` Eric Wong
2017-06-10  1:40             ` Junio C Hamano
2017-06-10  3:21               ` Eric Wong
2017-06-10  7:25                 ` Jeff King
2017-06-15 16:48                   ` Junio C Hamano
2017-06-15 17:13                     ` Ævar Arnfjörð Bjarmason
2017-06-15 21:06                       ` [PATCH v3 0/2] Add a FREE_AND_NULL() wrapper macro Ævar Arnfjörð Bjarmason
2017-06-15 22:00                         ` Junio C Hamano
2017-06-15 23:15                           ` [PATCH v4 0/6] " Ævar Arnfjörð Bjarmason
2017-06-15 23:15                           ` [PATCH v4 1/6] git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL Ævar Arnfjörð Bjarmason
2017-06-15 23:15                           ` [PATCH v4 2/6] coccinelle: add a rule to make "type" code use FREE_AND_NULL() Ævar Arnfjörð Bjarmason
2017-06-15 23:15                           ` [PATCH v4 3/6] coccinelle: make use of the "type" FREE_AND_NULL() rule Ævar Arnfjörð Bjarmason
2017-06-15 23:15                           ` [PATCH v4 4/6] coccinelle: add a rule to make "expression" code use FREE_AND_NULL() Ævar Arnfjörð Bjarmason
2017-06-16 19:43                             ` Junio C Hamano
2017-06-25  8:01                               ` René Scharfe
2017-06-28 21:39                                 ` Ævar Arnfjörð Bjarmason
2017-06-28 22:00                                   ` Junio C Hamano
2017-06-28 22:17                                     ` Ævar Arnfjörð Bjarmason
2017-06-28 22:21                                   ` René Scharfe
2017-06-28 22:30                                     ` Ævar Arnfjörð Bjarmason
2017-06-28 23:15                                       ` Junio C Hamano
2017-06-28 22:30                                     ` René Scharfe
2017-06-28 22:35                                       ` Ævar Arnfjörð Bjarmason
2017-06-28 22:44                                     ` René Scharfe
2017-06-15 23:15                           ` [PATCH v4 5/6] coccinelle: make use of the "expression" FREE_AND_NULL() rule Ævar Arnfjörð Bjarmason
2017-06-15 23:15                           ` [PATCH v4 6/6] *.[ch] refactoring: make use of the FREE_AND_NULL() macro Ævar Arnfjörð Bjarmason
2017-06-15 21:06                       ` [PATCH v3 1/2] git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL Ævar Arnfjörð Bjarmason
2017-06-15 21:07                       ` [PATCH v3 2/2] *.[ch] refactoring: make use of the FREE_AND_NULL() macro Ævar Arnfjörð Bjarmason
2017-06-10  6:55           ` [PATCH v2 1/2] git-compat-util: add a FREEZ() wrapper around free(ptr); ptr = NULL Andreas Schwab
2017-06-09 22:04       ` [PATCH v2 2/2] *.[ch] refactoring: make use of the FREEZ() macro Ævar Arnfjörð Bjarmason
2017-06-09  8:53     ` [PATCH 1/2] git-compat-util: add a freez() wrapper around free(x); x = NULL Ævar Arnfjörð Bjarmason
2017-06-09 12:04       ` Christian Couder
2017-06-09  8:53     ` [PATCH 2/2] *.[ch] refactoring: make use of the freez() wrapper Ævar Arnfjörð Bjarmason
2017-06-09 10:12       ` Martin Ågren
2017-06-09 10:58         ` Ævar Arnfjörð Bjarmason
2017-06-09 14:48           ` Brandon Williams
2017-06-08 23:40   ` [PATCH v2 08/32] environment: place key repository state in the_repository Brandon Williams
2017-06-08 23:40   ` [PATCH v2 09/32] environment: store worktree " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 10/32] setup: add comment indicating a hack Brandon Williams
2017-06-08 23:40   ` [PATCH v2 11/32] config: read config from a repository object Brandon Williams
2017-06-08 23:40   ` [PATCH v2 12/32] repository: add index_state to struct repo Brandon Williams
2017-06-08 23:40   ` [PATCH v2 13/32] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-06-08 23:40   ` [PATCH v2 14/32] submodule: add repo_read_gitmodules Brandon Williams
2017-06-08 23:40   ` [PATCH v2 15/32] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-06-08 23:40   ` [PATCH v2 16/32] convert: convert get_cached_convert_stats_ascii to take an index Brandon Williams
2017-06-08 23:40   ` [PATCH v2 17/32] convert: convert crlf_to_git " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 18/32] convert: convert convert_to_git_filter_fd " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 19/32] convert: convert convert_to_git " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 20/32] convert: convert renormalize_buffer " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 21/32] tree: convert read_tree to take an index parameter Brandon Williams
2017-06-08 23:40   ` [PATCH v2 22/32] ls-files: convert overlay_tree_on_cache to take an index Brandon Williams
2017-06-08 23:40   ` [PATCH v2 23/32] ls-files: convert write_eolinfo " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 24/32] ls-files: convert show_killed_files " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 25/32] ls-files: convert show_other_files " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 26/32] ls-files: convert show_ru_info " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 27/32] ls-files: convert ce_excluded " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 28/32] ls-files: convert prune_cache " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 29/32] ls-files: convert show_files " Brandon Williams
2017-06-08 23:40   ` [PATCH v2 30/32] ls-files: factor out debug info into a function Brandon Williams
2017-06-08 23:40   ` [PATCH v2 31/32] ls-files: factor out tag calculation Brandon Williams
2017-06-08 23:41   ` [PATCH v2 32/32] ls-files: use repository object Brandon Williams
2017-06-09  0:08     ` Brandon Williams
2017-06-10  5:59       ` Junio C Hamano
2017-06-12 21:24         ` Brandon Williams
2017-06-10  0:40   ` [PATCH v2 00/32] " Jonathan Tan
2017-06-10  6:07     ` Jeff King
2017-06-10  6:13       ` Jeff King
2017-06-11  0:43         ` Brandon Williams
2017-06-12 19:10           ` Jonathan Tan
2017-06-11  0:35       ` Brandon Williams
2017-06-12  5:24       ` Stefan Beller
2017-06-12 21:23         ` Jeff King
2017-06-12 19:01       ` Jonathan Tan
2017-06-12 19:11         ` Brandon Williams
2017-06-12 20:04           ` Jonathan Tan
2017-06-12 21:28             ` Jeff King
2017-06-20 19:19   ` [PATCH v3 00/20] " Brandon Williams
2017-06-20 19:19     ` [PATCH v3 01/20] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-20 19:19     ` [PATCH v3 02/20] setup: add comment indicating a hack Brandon Williams
2017-06-20 19:19     ` [PATCH v3 03/20] environment: remove namespace_len variable Brandon Williams
2017-06-20 19:19     ` [PATCH v3 04/20] repository: introduce the repository object Brandon Williams
2017-06-20 19:57       ` Stefan Beller
2017-06-21 21:27         ` Brandon Williams
2017-06-21 21:31           ` Stefan Beller
2017-06-20 21:31       ` Jonathan Tan
2017-06-20 21:56         ` Brandon Williams
2017-06-20 19:19     ` [PATCH v3 05/20] environment: place key repository state in the_repository Brandon Williams
2017-06-20 21:59       ` Jonathan Tan
2017-06-20 19:19     ` [PATCH v3 06/20] environment: store worktree " Brandon Williams
2017-06-20 19:19     ` [PATCH v3 07/20] path: create path.h Brandon Williams
2017-06-20 19:19     ` [PATCH v3 08/20] path: always pass in commondir to update_common_dir Brandon Williams
2017-06-20 19:19     ` [PATCH v3 09/20] path: convert strbuf_git_common_path to take a 'struct repository' Brandon Williams
2017-06-20 19:19     ` [PATCH v3 10/20] path: convert do_git_path " Brandon Williams
2017-06-20 22:23       ` Jonathan Tan
2017-06-21 21:20         ` Brandon Williams
2017-06-20 19:19     ` [PATCH v3 11/20] path: construct correct path to a worktree's index Brandon Williams
2017-06-20 21:10       ` Stefan Beller
2017-06-20 23:02       ` Jonathan Nieder
2017-06-21  0:39         ` Brandon Williams
2017-06-21  2:10       ` Jonathan Nieder
2017-06-21  2:30         ` Jonathan Nieder
2017-06-21 15:43         ` Brandon Williams
2017-06-21 17:57           ` Jonathan Nieder
2017-06-21 18:48             ` Junio C Hamano
2017-06-20 19:19     ` [PATCH v3 12/20] path: add repo_git_path and strbuf_repo_git_path Brandon Williams
2017-06-20 19:19     ` [PATCH v3 13/20] path: add repo_worktree_path and strbuf_repo_worktree_path Brandon Williams
2017-06-20 19:19     ` [PATCH v3 14/20] config: read config from a repository object Brandon Williams
2017-06-20 19:19     ` [PATCH v3 15/20] repository: add index_state to struct repo Brandon Williams
2017-06-21 22:50       ` Jonathan Tan
2017-06-21 22:54         ` Brandon Williams
2017-06-21 23:00           ` Stefan Beller
2017-06-20 19:19     ` [PATCH v3 16/20] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-06-20 19:19     ` [PATCH v3 17/20] submodule: add repo_read_gitmodules Brandon Williams
2017-06-20 19:19     ` [PATCH v3 18/20] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-06-20 19:19     ` [PATCH v3 19/20] repository: enable initialization of submodules Brandon Williams
2017-06-21 23:00       ` Jonathan Tan
2017-06-21 23:09         ` Brandon Williams
2017-06-20 19:19     ` [PATCH v3 20/20] ls-files: use repository object Brandon Williams
2017-06-21 22:48       ` Jonathan Tan
2017-06-20 19:23     ` [PATCH v3 00/20] " Stefan Beller
2017-06-22 18:43     ` [PATCH v4 " Brandon Williams
2017-06-22 18:43       ` [PATCH v4 01/20] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-22 18:43       ` [PATCH v4 02/20] setup: add comment indicating a hack Brandon Williams
2017-06-22 18:43       ` [PATCH v4 03/20] environment: remove namespace_len variable Brandon Williams
2017-06-22 18:43       ` [PATCH v4 04/20] repository: introduce the repository object Brandon Williams
2017-06-22 18:43       ` [PATCH v4 05/20] environment: place key repository state in the_repository Brandon Williams
2017-06-22 18:43       ` [PATCH v4 06/20] environment: store worktree " Brandon Williams
2017-06-22 18:43       ` [PATCH v4 07/20] path: create path.h Brandon Williams
2017-06-22 18:43       ` [PATCH v4 08/20] path: always pass in commondir to update_common_dir Brandon Williams
2017-06-22 18:43       ` [PATCH v4 09/20] path: convert strbuf_git_common_path to take a 'struct repository' Brandon Williams
2017-06-22 18:43       ` [PATCH v4 10/20] path: convert do_git_path " Brandon Williams
2017-06-22 18:43       ` [PATCH v4 11/20] path: worktree_git_path() should not use file relocation Brandon Williams
2017-06-22 18:43       ` [PATCH v4 12/20] path: add repo_git_path and strbuf_repo_git_path Brandon Williams
2017-06-22 18:43       ` [PATCH v4 13/20] path: add repo_worktree_path and strbuf_repo_worktree_path Brandon Williams
2017-06-22 18:43       ` [PATCH v4 14/20] config: read config from a repository object Brandon Williams
2017-06-22 18:43       ` [PATCH v4 15/20] repository: add index_state to struct repo Brandon Williams
2017-06-22 20:16         ` Junio C Hamano
2017-06-22 20:35           ` Brandon Williams
2017-06-22 22:10             ` Junio C Hamano
2017-06-22 18:43       ` [PATCH v4 16/20] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-06-22 18:43       ` [PATCH v4 17/20] submodule: add repo_read_gitmodules Brandon Williams
2017-06-22 18:43       ` [PATCH v4 18/20] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-06-22 18:43       ` [PATCH v4 19/20] repository: enable initialization of submodules Brandon Williams
2017-06-22 18:43       ` [PATCH v4 20/20] ls-files: use repository object Brandon Williams
2017-06-22 19:42       ` [PATCH v4 00/20] " Stefan Beller
2017-06-23 16:44       ` Jeff Hostetler
2017-06-23 17:38         ` Junio C Hamano

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply to all the recipients using the --to, --cc,
  and --in-reply-to switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170531214417.38857-1-bmwill@google.com \
    --to=bmwill@google.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=avarab@gmail.com \
    --cc=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jacob.keller@gmail.com \
    --cc=jonathantanmy@google.com \
    --cc=jrnieder@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=peartben@gmail.com \
    --cc=peff@peff.net \
    --cc=sandals@crustytoothpaste.net \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

git@vger.kernel.org mailing list mirror (one of many)

Archives are clonable:
	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.org/gmane.comp.version-control.git

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox