cmdutil: always expose "files_add", "files_del" and "manifest" templater properties
--- a/mercurial/cmdutil.py Tue Nov 20 14:41:47 2007 +0100
+++ b/mercurial/cmdutil.py Sat Nov 24 17:56:15 2007 +0100
@@ -571,26 +571,31 @@
def showcopies(**args):
c = [{'name': x[0], 'source': x[1]} for x in copies]
return showlist('file_copy', c, plural='file_copies', **args)
-
+
+ files = []
+ def getfiles():
+ if not files:
+ files[:] = self.repo.status(
+ log.parents(changenode)[0], changenode)[:3]
+ return files
+ # XXX: "files" means "modified files" in debug, "all changed
+ # files" otherwise. This should be fixed and a "file_mods" be
+ # introduced instead.
if self.ui.debugflag:
- files = self.repo.status(log.parents(changenode)[0], changenode)[:3]
def showfiles(**args):
- return showlist('file', files[0], **args)
- def showadds(**args):
- return showlist('file_add', files[1], **args)
- def showdels(**args):
- return showlist('file_del', files[2], **args)
- def showmanifest(**args):
- args = args.copy()
- args.update(dict(rev=self.repo.manifest.rev(changes[0]),
- node=hex(changes[0])))
- return self.t('manifest', **args)
+ return showlist('file', getfiles()[0], **args)
else:
def showfiles(**args):
return showlist('file', changes[3], **args)
- showadds = ''
- showdels = ''
- showmanifest = ''
+ def showadds(**args):
+ return showlist('file_add', getfiles()[1], **args)
+ def showdels(**args):
+ return showlist('file_del', getfiles()[2], **args)
+ def showmanifest(**args):
+ args = args.copy()
+ args.update(dict(rev=self.repo.manifest.rev(changes[0]),
+ node=hex(changes[0])))
+ return self.t('manifest', **args)
defprops = {
'author': changes[1],
--- a/templates/map-cmdline.default Tue Nov 20 14:41:47 2007 +0100
+++ b/templates/map-cmdline.default Sat Nov 24 17:56:15 2007 +0100
@@ -1,6 +1,6 @@
changeset = 'changeset: {rev}:{node|short}\n{branches}{tags}{parents}user: {author}\ndate: {date|date}\nsummary: {desc|firstline}\n\n'
changeset_quiet = '{rev}:{node|short}\n'
-changeset_verbose = 'changeset: {rev}:{node|short}\n{branches}{tags}{parents}{manifest}user: {author}\ndate: {date|date}\n{files}{file_adds}{file_dels}{file_copies}description:\n{desc|strip}\n\n\n'
+changeset_verbose = 'changeset: {rev}:{node|short}\n{branches}{tags}{parents}user: {author}\ndate: {date|date}\n{files}{file_copies}description:\n{desc|strip}\n\n\n'
changeset_debug = 'changeset: {rev}:{node}\n{branches}{tags}{parents}{manifest}user: {author}\ndate: {date|date}\n{files}{file_adds}{file_dels}{file_copies}{extras}description:\n{desc|strip}\n\n\n'
start_files = 'files: '
file = ' {file}'
--- a/tests/test-command-template.out Tue Nov 20 14:41:47 2007 +0100
+++ b/tests/test-command-template.out Sat Nov 24 17:56:15 2007 +0100
@@ -260,22 +260,22 @@
other 3
desc--debug: line 1
line 2
-file_adds:
-file_adds:
+file_adds: second
file_adds:
-file_adds:
-file_adds:
-file_adds:
+file_adds: d
file_adds:
file_adds:
+file_adds: c
+file_adds: b
+file_adds: a
+file_adds--verbose: second
file_adds--verbose:
-file_adds--verbose:
+file_adds--verbose: d
file_adds--verbose:
file_adds--verbose:
-file_adds--verbose:
-file_adds--verbose:
-file_adds--verbose:
-file_adds--verbose:
+file_adds--verbose: c
+file_adds--verbose: b
+file_adds--verbose: a
file_adds--debug: second
file_adds--debug:
file_adds--debug: d
@@ -332,22 +332,22 @@
files--debug:
files--debug:
files--debug:
-manifest:
-manifest:
-manifest:
-manifest:
-manifest:
-manifest:
-manifest:
-manifest:
-manifest--verbose:
-manifest--verbose:
-manifest--verbose:
-manifest--verbose:
-manifest--verbose:
-manifest--verbose:
-manifest--verbose:
-manifest--verbose:
+manifest: 7:f2dbc354b94e
+manifest: 6:91015e9dbdd7
+manifest: 5:4dc3def4f9b4
+manifest: 4:90ae8dda64e1
+manifest: 3:cb5a1327723b
+manifest: 2:6e0e82995c35
+manifest: 1:4e8d705b1e53
+manifest: 0:a0c8bcbbb45c
+manifest--verbose: 7:f2dbc354b94e
+manifest--verbose: 6:91015e9dbdd7
+manifest--verbose: 5:4dc3def4f9b4
+manifest--verbose: 4:90ae8dda64e1
+manifest--verbose: 3:cb5a1327723b
+manifest--verbose: 2:6e0e82995c35
+manifest--verbose: 1:4e8d705b1e53
+manifest--verbose: 0:a0c8bcbbb45c
manifest--debug: 7:f2dbc354b94e5ec0b4f10680ee0cee816101d0bf
manifest--debug: 6:91015e9dbdd76a6791085d12b0a0ec7fcd22ffbf
manifest--debug: 5:4dc3def4f9b4c6e8de820f6ee74737f91e96a216