changeset 11357:7914628b4751

relink: ensure deterministic directory walk in collect
author Martin Geisler <mg@aragost.com>
date Wed, 16 Jun 2010 12:22:14 +0200
parents 511445840148
children 4494fb02d549
files hgext/relink.py tests/test-relink.out
diffstat 2 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/relink.py	Wed Jun 16 15:20:22 2010 +0530
+++ b/hgext/relink.py	Wed Jun 16 12:22:14 2010 +0200
@@ -72,8 +72,9 @@
     ui.status(_("tip has %d files, estimated total number of files: %s\n")
               % (live, total))
     for dirpath, dirnames, filenames in os.walk(src):
+        dirnames.sort()
         relpath = dirpath[len(src) + seplen:]
-        for filename in filenames:
+        for filename in sorted(filenames):
             if not filename[-2:] in ('.d', '.i'):
                 continue
             st = os.stat(os.path.join(dirpath, filename))
--- a/tests/test-relink.out	Wed Jun 16 15:20:22 2010 +0530
+++ b/tests/test-relink.out	Wed Jun 16 12:22:14 2010 +0200
@@ -15,9 +15,9 @@
 tip has 2 files, estimated total number of files: 3
 collecting: 00changelog.i 1/3 files (33.33%)
 collecting: 00manifest.i 2/3 files (66.67%)
-collecting: dummy.i 3/3 files (100.00%)
+collecting: a.i 3/3 files (100.00%)
 collecting: b.i 4/3 files (133.33%)
-collecting: a.i 5/3 files (166.67%)
+collecting: dummy.i 5/3 files (166.67%)
 collected 5 candidate storage files
 not linkable: 00changelog.i
 not linkable: 00manifest.i