Hi Duy,

On Sat, 6 Apr 2019, Nguyễn Thái Ngọc Duy wrote:

> 10:  68876a150f ! 11:  848456f59c commit.c: add repo_get_commit_tree()
>     @@ -2,6 +2,11 @@
>
>          commit.c: add repo_get_commit_tree()
>
>     +    Remove the implicit dependency on the_repository in this function.
>     +    It will be used in sha1-name.c functions when they are updated to 
> take
>     +    any 'struct repository'. get_commit_tree() remains as a compat 
> wrapper,
>     +    to be slowly replaced later.
>     +
>       diff --git a/commit.c b/commit.c
>       --- a/commit.c
>       +++ b/commit.c
>     @@ -29,6 +34,15 @@
>       --- a/commit.h
>       +++ b/commit.h
>      @@
>     +
>     +         /*
>     +          * If the commit is loaded from the commit-graph file, then this
>     +-         * member may be NULL. Only access it through get_commit_tree()
>     ++         * member may be NULL. Only access it through 
> repo_get_commit_tree()
>     +          * or get_commit_tree_oid().
>     +          */
>     +         struct tree *maybe_tree;
>     +@@
>        */
>       void free_commit_buffer(struct parsed_object_pool *pool, struct commit 
> *);
>
>     @@ -57,3 +71,10 @@
>         ...>}
>
>       @@
>     + expression c;
>     ++expression r;
>     + expression s;
>     + @@
>     +-- get_commit_tree(c) = s
>     ++- repo_get_commit_tree(r, c) = s
>     + + c->maybe_tree = s

I think this is wrong, and admittedly I had the very same version
originally.

When you have an arbitrary `r` in any `repo_get_commit_tree(r, c)` (as
opposed to `the_repository`), the conversion to `c->maybe_tree` is most
likely incorrect.

Therefore, I don't think that we can do that.

Ciao,
Johannes

Reply via email to