record: access status fields by name rather than index
authorMartin von Zweigbergk <martinvonz@gmail.com>
Fri, 03 Oct 2014 10:44:07 -0700
changeset 22921 75e7d4a0f135
parent 22920 e049338d1a7b
child 22922 ebef5fcf7bd0
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.
hgext/record.py
--- a/hgext/record.py	Fri Oct 03 10:38:43 2014 -0700
+++ b/hgext/record.py	Fri Oct 03 10:44:07 2014 -0700
@@ -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: