git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/6] tree-walk.c: remove the_repo from get_tree_entry()

From
Duy Nguyen <pclouds@gmail.com>
Date
Jun 24, 2019, 14:55 UTC
Message-ID
<CACsJy8CaUHTfUS9tMDTNC+S10Bpqz_-rujR6Jr0689AJHpf=UQ@mail.gmail.com>
In-Reply-To
<0f13008e-bdf1-70cb-c4ff-e4c572cd5703@gmail.com>
On Mon, Jun 24, 2019 at 9:20 PM Derrick Stolee <stolee@gmail.com> wrote:
Show 34 quoted lines
>
> On 6/24/2019 5:55 AM, Nguyễn Thái Ngọc Duy wrote:
> > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> > ---
> >  archive.c              |  4 +++-
> >  blame.c                |  4 ++--
> >  builtin/rm.c           |  2 +-
> >  builtin/update-index.c |  2 +-
> >  line-log.c             |  7 ++++---
> >  match-trees.c          |  6 +++---
> >  merge-recursive.c      |  8 +++++---
> >  notes.c                |  2 +-
> >  sha1-name.c            |  9 +++++----
> >  tree-walk.c            | 18 ++++++++++++------
> >  tree-walk.h            |  2 +-
> >  11 files changed, 38 insertions(+), 26 deletions(-)
> >
> > diff --git a/archive.c b/archive.c
> > index 53141c1f0e..a8da0fcc4f 100644
> > --- a/archive.c
> > +++ b/archive.c
> > @@ -418,7 +418,9 @@ static void parse_treeish_arg(const char **argv,
> >               unsigned short mode;
> >               int err;
> >
> > -             err = get_tree_entry(&tree->object.oid, prefix, &tree_oid,
> > +             err = get_tree_entry(ar_args->repo,
>
> If I'm reading this correctly, this is a place where we previously converted
> to using a custom repository pointer but this function boundary reverted us
> to the_repository anyway. I know we have some tests around the commit-graph
> that ensures it works with an arbitrary repository (and I frequently stumble
> over them when I add new dependencies). How can we add more testing around
> these new conversions?

Right now it's really patchy. There's no guarantee that the_repo is not used somwhere in the callchain (or will not be in the future). My main aim is _not_ break it when used with the_repo. These new conversions hopefully will get more used outside the default the_repo setting (e.g. new developments in git-submodule, or git-worktree). Eventually the_repo should be gone (or referenced in very few places), then the conversion will get more coverage. Really mixing repos though will not be as well tested until actually used (by submodule and friends).

-- 
Duy
Previous: Derrick StoleeNext: Nguyễn Thái Ngọc Duy
Message 11 of 31 in “Kill the_repository in tree-walk.c”
  1. 0/6 Kill the_repository in tree-walk.cNguyễn Thái Ngọc Duy, Jun 24, 2019
  2. 1/6 sha1-file.c: remove the_repo from read_object_with_reference()Nguyễn Thái Ngọc Duy, Jun 24, 2019
  3. Johannes SchindelinJun 27, 2019
  4. Duy NguyenJun 27, 2019
  5. 2/6 tree-walk.c: remove the_repo from fill_tree_descriptor()Nguyễn Thái Ngọc Duy, Jun 24, 2019
  6. Derrick StoleeJun 24, 2019
  7. Junio C HamanoJun 26, 2019
  8. Derrick StoleeJun 26, 2019
  9. 3/6 tree-walk.c: remove the_repo from get_tree_entry()Nguyễn Thái Ngọc Duy, Jun 24, 2019
  10. Derrick StoleeJun 24, 2019
  11. Duy NguyenJun 24, 2019
  12. 4/6 tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()Nguyễn Thái Ngọc Duy, Jun 24, 2019
  13. 5/6 match-trees.c: remove the_repo from shift_tree*()Nguyễn Thái Ngọc Duy, Jun 24, 2019
  14. 6/6 Use the right 'struct repository' instead of the_repositoryNguyễn Thái Ngọc Duy, Jun 24, 2019
  15. Derrick StoleeJun 24, 2019
  16. Duy NguyenJun 24, 2019
  17. Johannes SchindelinJun 27, 2019
  18. Junio C HamanoJun 26, 2019
  19. Johannes SchindelinJun 27, 2019
  20. Derrick StoleeJun 27, 2019
  21. 0/6 Kill the_repository in tree-walk.cNguyễn Thái Ngọc Duy, Jun 27, 2019
  22. 1/6 sha1-file.c: remove the_repo from read_object_with_reference()Nguyễn Thái Ngọc Duy, Jun 27, 2019
  23. Johannes SchindelinJun 28, 2019
  24. 2/6 tree-walk.c: remove the_repo from fill_tree_descriptor()Nguyễn Thái Ngọc Duy, Jun 27, 2019
  25. 3/6 tree-walk.c: remove the_repo from get_tree_entry()Nguyễn Thái Ngọc Duy, Jun 27, 2019
  26. 4/6 tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()Nguyễn Thái Ngọc Duy, Jun 27, 2019
  27. 5/6 match-trees.c: remove the_repo from shift_tree*()Nguyễn Thái Ngọc Duy, Jun 27, 2019
  28. 6/6 Use the right 'struct repository' instead of the_repositoryNguyễn Thái Ngọc Duy, Jun 27, 2019
  29. Junio C HamanoJun 27, 2019
  30. 7/6 t7814: do not generate same commits in different reposNguyễn Thái Ngọc Duy, Jun 28, 2019
  31. Junio C HamanoJun 28, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.