<span style="font-family:Prelude, Verdana, san-serif;">The + should be conditional on dirty().  I'll resend this after the other 2 are taken<br><br></span><span style="color:navy; font-family:Prelude, Verdana, san-serif; "><hr align="left" style="width:75%">On Jun 16, 2015 11:39 PM, Matt Harbison <mharbison72@gmail.com> wrote: <br></span># HG changeset patch <br># User Matt Harbison <matt_harbison@yahoo.com> <br># Date 1434510885 14400 <br>#      Tue Jun 16 23:14:45 2015 -0400 <br># Node ID 2416bc426b151ae7f505e469af9d1c6da007b4b9 <br># Parent  39f2759a274226581b309c215629643d01fccf7a <br>archive: report the node as "{p1node}+" when archiving wdir() <br> <br>This is more useful than reporting all 'f's, allowing the archive to be diffed <br>against a specific revision to see what changed. <br> <br>diff --git a/mercurial/archival.py b/mercurial/archival.py <br>--- a/mercurial/archival.py <br>+++ b/mercurial/archival.py <br>@@ -67,8 +67,11 @@ <br> def buildmetadata(ctx): <br>     '''build content of .hg_archival.txt''' <br>     repo = ctx.repo() <br>+    hex = ctx.hex() <br>+    if ctx.rev() is None: <br>+        hex = ctx.p1().hex() + '+' <br>     base = 'repo: %s\nnode: %s\nbranch: %s\n' % ( <br>-        _rootctx(repo).hex(), ctx.hex(), encoding.fromlocal(ctx.branch())) <br>+        _rootctx(repo).hex(), hex, encoding.fromlocal(ctx.branch())) <br>  <br>     tags = ''.join('tag: %s\n' % t for t in ctx.tags() <br>                    if repo.tagtype(t) == 'global') <br>diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t <br>--- a/tests/test-subrepo-deep-nested-change.t <br>+++ b/tests/test-subrepo-deep-nested-change.t <br>@@ -187,6 +187,14 @@ <br>   ../wdir/sub1/sub2/folder/test.txt <br>   ../wdir/sub1/sub2/sub2 <br>  <br>+  $ cat ../wdir/.hg_archival.txt <br>+  repo: 7f491f53a367861f47ee64a80eb997d1f341b77a <br>+  node: 9bb10eebee29dc0f1201dcf5977b811a540255fd+ <br>+  branch: default <br>+  latesttag: null <br>+  latesttagdistance: 4 <br>+  changessincelatesttag: 3 <br>+ <br> Attempting to archive 'wdir()' with a missing file is handled gracefully <br>   $ rm sub1/sub1 <br>   $ rm -r ../wdir <br>