Mercurial > hg
view tests/generate-working-copy-states.py @ 23441:d289ba74dba3
largefiles: drop the override for 'fetch'
The fetch extension has been calling cmdutil.bailifchanged() since a014fdc97154,
so this is redundant. Add test coverage to prevent regression. It doesn't look
like there is any testing for fetch with largefiles.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 30 Nov 2014 23:30:31 -0500 |
parents | 29977b315be1 |
children | 390a2610eaef |
line wrap: on
line source
# generate proper file state to test working copy behavior import sys import os # build the combination of possible states combination = [] for base in [None, 'content1']: for parent in set([None, 'content2']) | set([base]): for wcc in set([None, 'content3']) | set([base, parent]): for tracked in (False, True): def statestring(content): return content is None and 'missing' or content trackedstring = tracked and 'tracked' or 'untracked' filename = "%s_%s_%s-%s" % (statestring(base), statestring(parent), statestring(wcc), trackedstring) combination.append((filename, base, parent, wcc)) # make sure we have stable output combination.sort() # retrieve the state we must generate target = sys.argv[1] # compute file content content = [] for filename, base, parent, wcc in combination: if target == 'filelist': print filename elif target == 'base': content.append((filename, base)) elif target == 'parent': content.append((filename, parent)) elif target == 'wc': # Make sure there is content so the file gets written and can be # tracked. It will be deleted outside of this script. content.append((filename, wcc or 'TOBEDELETED')) else: print >> sys.stderr, "unknown target:", target sys.exit(1) # write actual content for filename, data in content: if data is not None: f = open(filename, 'w') f.write(data + '\n') f.close() elif os.path.exists(filename): os.remove(filename)