Patchwork [4,of,9,V4] manifest: add manifestlog.add

login
register
mail settings
Submitter Durham Goode
Date Sept. 20, 2016, 11:47 p.m.
Message ID <8cf5f24c100e58ece712.1474415271@dev111.prn1.facebook.com>
Download mbox | patch
Permalink /patch/16699/
State Accepted
Headers show

Comments

Durham Goode - Sept. 20, 2016, 11:47 p.m.
# HG changeset patch
# User Durham Goode <durham@fb.com>
# Date 1474399441 25200
#      Tue Sep 20 12:24:01 2016 -0700
# Node ID 8cf5f24c100e58ece712703d0e4bb0746bc3087e
# Parent  7df972d2d43fe655ffcfdef9e2efedda8a684af8
manifest: add manifestlog.add

This adds a simple add() function to manifestlog. This let's us convert more
uses of repo.manifest to use repo.manifestlog, so we can further break our
dependency on the manifest class.
via Mercurial-devel - Sept. 21, 2016, 5:06 a.m.
I have queued up to here, thanks. The mancache still looks wrong to
me, but maybe I just need to look more closely. I'll do that tomorrow.

On Tue, Sep 20, 2016 at 4:47 PM, Durham Goode <durham@fb.com> wrote:
> # HG changeset patch
> # User Durham Goode <durham@fb.com>
> # Date 1474399441 25200
> #      Tue Sep 20 12:24:01 2016 -0700
> # Node ID 8cf5f24c100e58ece712703d0e4bb0746bc3087e
> # Parent  7df972d2d43fe655ffcfdef9e2efedda8a684af8
> manifest: add manifestlog.add
>
> This adds a simple add() function to manifestlog. This let's us convert more
> uses of repo.manifest to use repo.manifestlog, so we can further break our
> dependency on the manifest class.
>
> diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
> --- a/mercurial/localrepo.py
> +++ b/mercurial/localrepo.py
> @@ -1732,9 +1732,9 @@ class localrepository(object):
>                  drop = [f for f in removed if f in m]
>                  for f in drop:
>                      del m[f]
> -                mn = self.manifest.add(m, trp, linkrev,
> -                                       p1.manifestnode(), p2.manifestnode(),
> -                                       added, drop)
> +                mn = self.manifestlog.add(m, trp, linkrev,
> +                                          p1.manifestnode(), p2.manifestnode(),
> +                                          added, drop)
>                  files = changed + removed
>              else:
>                  mn = p1.manifestnode()
> diff --git a/mercurial/manifest.py b/mercurial/manifest.py
> --- a/mercurial/manifest.py
> +++ b/mercurial/manifest.py
> @@ -1049,6 +1049,9 @@ class manifestlog(object):
>              self._mancache[node] = m
>          return m
>
> +    def add(self, m, transaction, link, p1, p2, added, removed):
> +        return self._revlog.add(m, transaction, link, p1, p2, added, removed)
> +
>  class manifestctx(object):
>      """A class representing a single revision of a manifest, including its
>      contents, its parent revs, and its linkrev.
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1732,9 +1732,9 @@  class localrepository(object):
                 drop = [f for f in removed if f in m]
                 for f in drop:
                     del m[f]
-                mn = self.manifest.add(m, trp, linkrev,
-                                       p1.manifestnode(), p2.manifestnode(),
-                                       added, drop)
+                mn = self.manifestlog.add(m, trp, linkrev,
+                                          p1.manifestnode(), p2.manifestnode(),
+                                          added, drop)
                 files = changed + removed
             else:
                 mn = p1.manifestnode()
diff --git a/mercurial/manifest.py b/mercurial/manifest.py
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -1049,6 +1049,9 @@  class manifestlog(object):
             self._mancache[node] = m
         return m
 
+    def add(self, m, transaction, link, p1, p2, added, removed):
+        return self._revlog.add(m, transaction, link, p1, p2, added, removed)
+
 class manifestctx(object):
     """A class representing a single revision of a manifest, including its
     contents, its parent revs, and its linkrev.