Patchwork [4,of,5] git: properly visit child tree objects when resolving a path

login
register
mail settings
Submitter Josef 'Jeff' Sipek
Date June 1, 2020, 3:32 p.m.
Message ID <c8ee7f58b11b835918e1.1591025568@meili>
Download mbox | patch
Permalink /patch/46452/
State Accepted
Headers show

Comments

Josef 'Jeff' Sipek - June 1, 2020, 3:32 p.m.
# HG changeset patch
# User Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
# Date 1591019387 14400
#      Mon Jun 01 09:49:47 2020 -0400
# Node ID c8ee7f58b11b835918e1e83b89741999f8809866
# Parent  e05b94be1ba0cd6e2ccd9c1688a82ff3a8103a7e
git: properly visit child tree objects when resolving a path
Augie Fackler - June 3, 2020, 1:50 a.m.
On Mon, Jun 01, 2020 at 11:32:48AM -0400, Josef 'Jeff' Sipek wrote:
> # HG changeset patch
> # User Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
> # Date 1591019387 14400
> #      Mon Jun 01 09:49:47 2020 -0400
> # Node ID c8ee7f58b11b835918e1e83b89741999f8809866
> # Parent  e05b94be1ba0cd6e2ccd9c1688a82ff3a8103a7e
> git: properly visit child tree objects when resolving a path

queued 1-4, thanks

>
> diff --git a/hgext/git/manifest.py b/hgext/git/manifest.py
> --- a/hgext/git/manifest.py
> +++ b/hgext/git/manifest.py
> @@ -56,8 +56,9 @@ class gittreemanifest(object):
>              return val
>          t = self._tree
>          comps = upath.split('/')
> +        te = self._tree
>          for comp in comps[:-1]:
> -            te = self._tree[comp]
> +            te = te[comp]
>              t = self._git_repo[te.id]
>          ent = t[comps[-1]]
>          if ent.filemode == pygit2.GIT_FILEMODE_BLOB:
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/hgext/git/manifest.py b/hgext/git/manifest.py
--- a/hgext/git/manifest.py
+++ b/hgext/git/manifest.py
@@ -56,8 +56,9 @@  class gittreemanifest(object):
             return val
         t = self._tree
         comps = upath.split('/')
+        te = self._tree
         for comp in comps[:-1]:
-            te = self._tree[comp]
+            te = te[comp]
             t = self._git_repo[te.id]
         ent = t[comps[-1]]
         if ent.filemode == pygit2.GIT_FILEMODE_BLOB: