Mercurial > public > mercurial-scm > hg
view tests/generate-working-copy-states.py @ 23445:390a2610eaef
generate-working-copy-states: make 'tracked' a string
The only places the 'tracked' variable is only used is where it's
converted to a string, so let's simplify by using the string value
directly.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sat, 29 Nov 2014 14:39:33 -0800 |
parents | 29977b315be1 |
children | e51027c85dcd |
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 ('untracked', 'tracked'): def statestring(content): return content is None and 'missing' or content filename = "%s_%s_%s-%s" % (statestring(base), statestring(parent), statestring(wcc), tracked) 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)