diff mercurial/cmdutil.py @ 28451:c90cfe76e024

serve: accept multiple values for --daemon-postexec The next patch will add another postexec command: chdir, which can be used together with unlink. This patch changes the option type of --daemon-postexec from string to list to accept multiple commands. The error message of invalid --daemon-postexec value is also changed to include the actual invalid value.
author Jun Wu <quark@fb.com>
date Wed, 09 Mar 2016 02:07:40 +0000
parents 3072ce740945
children 0bb01c8754bf
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Sat Feb 27 12:56:26 2016 +0100
+++ b/mercurial/cmdutil.py	Wed Mar 09 02:07:40 2016 +0000
@@ -827,16 +827,17 @@
         writepid(util.getpid())
 
     if opts['daemon_postexec']:
-        inst = opts['daemon_postexec']
         try:
             os.setsid()
         except AttributeError:
             pass
-        if inst.startswith('unlink:'):
-            lockpath = inst[7:]
-            os.unlink(lockpath)
-        elif inst != 'none':
-            raise error.Abort(_('invalid value for --daemon-postexec'))
+        for inst in opts['daemon_postexec']:
+            if inst.startswith('unlink:'):
+                lockpath = inst[7:]
+                os.unlink(lockpath)
+            elif inst != 'none':
+                raise error.Abort(_('invalid value for --daemon-postexec: %s')
+                                  % inst)
         util.hidewindow()
         sys.stdout.flush()
         sys.stderr.flush()