if retval != os.EX_OK:
sys.exit(retval)
dosyncuri = syncuri
+ elif syncuri[:11]=="svn+http://":
+ if not os.path.exists(portage_const.EPREFIX+"/usr/bin/svn"):
+ print "!!! svn does not exist, so SVN support is disabled."
+ print "!!! Type \"emerge dev-util/subversion\" to enable SVN support."
+ sys.exit(1)
+ svndir=os.path.dirname(myportdir)
+ if not os.path.exists(myportdir+"/.svn"):
+ #initial checkout
+ print ">>> Starting initial svn checkout with "+syncuri+"..."
+ if os.path.exists(svndir+"/prefix"):
+ print "!!! existing",svndir+"/prefix directory; exiting."
+ sys.exit(1)
+ try:
+ os.rmdir(myportdir)
+ except OSError, e:
+ if e.errno != errno.ENOENT:
+ sys.stderr.write(
+ "!!! existing '%s' directory; exiting.\n" % myportdir)
+ sys.exit(1)
+ del e
+ if portage.spawn("cd "+svndir+"; svn checkout "+syncuri,settings,free=1):
+ print "!!! svn checkout error; exiting."
+ sys.exit(1)
+ os.rename(os.path.join(svndir, "prefix"), myportdir)
+ else:
+ #svn update
+ print ">>> Starting svn update..."
+ retval = portage.spawn("cd '%s'; svn update" % myportdir, \
+ settings, free=1)
+ if retval != os.EX_OK:
+ sys.exit(retval)
+ dosyncuri = syncuri
else:
print "!!! rsync setting: ",syncuri,"not recognized; exiting."
sys.exit(1)