diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-11-05 15:47:26 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-11-05 17:05:48 +0000 |
commit | a2b8f6722c7e784ba009d34bf1af62d047e2f928 (patch) | |
tree | cfd89cf8b7a44e8378a923ea910c64171788a439 /morphlib | |
parent | 163f9dc6e5424122ee218c4ef6009274831210ca (diff) | |
download | morph-a2b8f6722c7e784ba009d34bf1af62d047e2f928.tar.gz |
Process systems for merging in a fixed order
The test tests.merging/rename-stratum could potentially trigger two
different errors in Morph, based on the order that the systems in the
root repo were processed.
This meant that the test would sometimes spuriously fail if TMPDIR
was manually set, because of differences in the way file systems work.
To fix the root cause requires proper 3-way merging, really.
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/plugins/branch_and_merge_plugin.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/morphlib/plugins/branch_and_merge_plugin.py b/morphlib/plugins/branch_and_merge_plugin.py index f0cbea81..332cdfe9 100644 --- a/morphlib/plugins/branch_and_merge_plugin.py +++ b/morphlib/plugins/branch_and_merge_plugin.py @@ -739,7 +739,7 @@ class BranchAndMergePlugin(cliapp.Plugin): # We must first get the full set of strata. One same stratum may be # in multiple systems and each system may use a different ref. strata = {} - for f in glob.glob(os.path.join(root_repo_dir, '*.morph')): + for f in sorted(glob.iglob(os.path.join(root_repo_dir, '*.morph'))): name = os.path.basename(f)[:-len('.morph')] morphology = self.load_morphology(root_repo_dir, name) if morphology['kind'] != 'system': |