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>
Wed, 27 Oct 2010 14:37:05 +0000 (07:37 -0700)
Use 'exec' to avoid unnecessary redundant processes. Update the checkout
code to use spawn_bash() like update does.

pym/_emerge/actions.py

index 71701d813a6eb99055dffdaaacfb40263f9edbdf..0908c2ca2eb8e28d875fa0ec898cb0aa55484d97 100644 (file)
@@ -2386,7 +2386,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)
@@ -2394,7 +2396,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)