Patchwork [2,of,2,V3] files: split reusable implementation into cmdutil for subrepo support

login
register
mail settings
Submitter Matt Harbison
Date March 11, 2015, 1:09 a.m.
Message ID <601021a8837a8b95b54f.1426036188@Envy>
Download mbox | patch
Permalink /patch/7988/
State Accepted
Commit e1cb460a35245edfa3d3b216352923ffe1be8566
Headers show

Comments

Matt Harbison - March 11, 2015, 1:09 a.m.
# HG changeset patch
# User Matt Harbison <matt_harbison@yahoo.com>
# Date 1425847857 14400
#      Sun Mar 08 16:50:57 2015 -0400
# Node ID 601021a8837a8b95b54fbb708b243a39f5d526a3
# Parent  a8a49154503c2e7ca4c2ab796a76da42712f780b
files: split reusable implementation into cmdutil for subrepo support
Pierre-Yves David - March 11, 2015, 3:29 a.m.
On 03/10/2015 06:09 PM, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbison@yahoo.com>
> # Date 1425847857 14400
> #      Sun Mar 08 16:50:57 2015 -0400
> # Node ID 601021a8837a8b95b54fbb708b243a39f5d526a3
> # Parent  a8a49154503c2e7ca4c2ab796a76da42712f780b
> files: split reusable implementation into cmdutil for subrepo support

And… this is pushed to the clowncopter. Thanks.

Patch

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -2047,6 +2047,24 @@ 
     forgot.extend(f for f in forget if f not in rejected)
     return bad, forgot
 
+def files(ui, ctx, m, fm, fmt):
+    rev = ctx.rev()
+    ret = 1
+    ds = ctx._repo.dirstate
+
+    for f in ctx.matches(m):
+        if rev is None and ds[f] == 'r':
+            continue
+        fm.startitem()
+        if ui.verbose:
+            fc = ctx[f]
+            fm.write('size flags', '% 10d % 1s ', fc.size(), fc.flags())
+        fm.data(abspath=f)
+        fm.write('path', fmt, m.rel(f))
+        ret = 0
+
+    return ret
+
 def remove(ui, repo, m, prefix, after, force, subrepos):
     join = lambda f: os.path.join(prefix, f)
     ret = 0
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -3258,8 +3258,6 @@ 
 
     """
     ctx = scmutil.revsingle(repo, opts.get('rev'), None)
-    rev = ctx.rev()
-    ret = 1
 
     end = '\n'
     if opts.get('print0'):
@@ -3268,17 +3266,7 @@ 
     fmt = '%s' + end
 
     m = scmutil.match(ctx, pats, opts)
-    ds = ctx._repo.dirstate
-    for f in ctx.matches(m):
-        if rev is None and ds[f] == 'r':
-            continue
-        fm.startitem()
-        if ui.verbose:
-            fc = ctx[f]
-            fm.write('size flags', '% 10d % 1s ', fc.size(), fc.flags())
-        fm.data(abspath=f)
-        fm.write('path', fmt, m.rel(f))
-        ret = 0
+    ret = cmdutil.files(ui, ctx, m, fm, fmt)
 
     fm.end()