Cleanup CVS calls in 'sync' action.
authorMichał Górny <mgorny@gentoo.org>
Sun, 24 Oct 2010 08:18:23 +0000 (10:18 +0200)
committerZac Medico <zmedico@gentoo.org>
Sun, 24 Oct 2010 18:34:12 +0000 (11:34 -0700)
Use 'exec' to avoid unnecessary redundant processes. Update the checkout
code to use spawn_bash() like update does.

pym/_emerge/actions.py

index 5ac676d91c689634d744ff0cccda25edd86e3bba..0ab3bda6a1b61592d939aaad3e09a3bf9b82feb5 100644 (file)
@@ -2396,7 +2396,9 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
                                                "!!! existing '%s' directory; exiting.\n" % myportdir)
                                        sys.exit(1)
                                del e
-                       if portage.spawn("cd "+cvsdir+"; cvs -z0 -d "+cvsroot+" co -P gentoo-x86",settings,free=1):
+                       if portage.spawn_bash("cd %s; exec cvs -z0 -d %s co -P gentoo-x86" % \
+                                       (portage._shell_quote(cvsdir), portage._shell_quote(cvsroot)),
+                                       settings, free=1):
                                print("!!! cvs checkout error; exiting.")
                                sys.exit(1)
                        os.rename(os.path.join(cvsdir, "gentoo-x86"), myportdir)
@@ -2404,7 +2406,7 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
                        #cvs update
                        print(">>> Starting cvs update with "+syncuri+"...")
                        retval = portage.process.spawn_bash(
-                               "cd %s; cvs -z0 -q update -dP" % \
+                               "cd %s; exec cvs -z0 -q update -dP" % \
                                (portage._shell_quote(myportdir),), **spawn_kwargs)
                        if retval != os.EX_OK:
                                sys.exit(retval)