[PATCH 09 of 15 v2] record: access status fields by name rather than index

Martin von Zweigbergk martinvonz at gmail.com
Sun Oct 5 01:08:06 CDT 2014


# HG changeset patch
# User Martin von Zweigbergk <martinvonz at gmail.com>
# Date 1412358247 25200
#      Fri Oct 03 10:44:07 2014 -0700
# Node ID d23f2da75446b3869ad4e275fc47ebc7810f5baf
# Parent  ddabc57548ae5b11f52a91e03190c90d008e6790
record: access status fields by name rather than index

It is safe to pass the full status to patch.diff() since it does its
own slicing.

diff --git a/hgext/record.py b/hgext/record.py
--- a/hgext/record.py
+++ b/hgext/record.py
@@ -519,12 +519,12 @@
             raise util.Abort(_('cannot partially commit a merge '
                                '(use "hg commit" instead)'))
 
-        changes = repo.status(match=match)[:3]
+        status = repo.status(match=match)
         diffopts = opts.copy()
         diffopts['nodates'] = True
         diffopts['git'] = True
         diffopts = patch.diffopts(ui, opts=diffopts)
-        chunks = patch.diff(repo, changes=changes, opts=diffopts)
+        chunks = patch.diff(repo, changes=status, opts=diffopts)
         fp = cStringIO.StringIO()
         fp.write(''.join(chunks))
         fp.seek(0)
@@ -544,13 +544,13 @@
             except AttributeError:
                 pass
 
-        changed = changes[0] + changes[1] + changes[2]
+        changed = status.modified + status.added + status.removed
         newfiles = [f for f in changed if f in contenders]
         if not newfiles:
             ui.status(_('no changes to record\n'))
             return 0
 
-        modified = set(changes[0])
+        modified = set(status.modified)
 
         # 2. backup changed files, so we can restore them in the end
         if backupall:


More information about the Mercurial-devel mailing list