# HG changeset patch # User TK Soh # Date 1125132581 25200 # Node ID 6f94688b81b63aa647db53eb17eace540671c829 # Parent 069b4311a81b41eae1f9ff9f29ef17315e1e6d26 status: added option -p and -0 to assist xargs The -p option strips the status prefix of each file, while -0 ends each file with a NUL character, instead of a newline. Together, selected group of files can be passed to 'xargs -0' for further processing. diff -r 069b4311a81b -r 6f94688b81b6 mercurial/commands.py --- a/mercurial/commands.py Sat Aug 27 01:49:35 2005 -0700 +++ b/mercurial/commands.py Sat Aug 27 01:49:41 2005 -0700 @@ -1347,10 +1347,17 @@ ('removed', 'R', d), ('unknown', '?', u)] + end = opts['print0'] and '\0' or '\n' + for opt, char, changes in ([ct for ct in changetypes if opts[ct[0]]] or changetypes): + if opts['strip']: + format = "%%s%s" % end + else: + format = "%s %%s%s" % (char, end); + for f in changes: - ui.write("%s %s\n" % (char, f)) + ui.write(format % f) def tag(ui, repo, name, rev=None, **opts): """add a tag for the current tip or a given revision""" @@ -1628,6 +1635,8 @@ ('a', 'added', None, 'show only added files'), ('r', 'removed', None, 'show only removed files'), ('u', 'unknown', None, 'show only unknown (not tracked) files'), + ('p', 'strip', None, 'strip status prefix'), + ('0', 'print0', None, 'end records with NUL'), ('I', 'include', [], 'include path in search'), ('X', 'exclude', [], 'exclude path from search')], "hg status [OPTION]... [FILE]..."),