From dae78267596c55251562c1eb7c267eb3990df977 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 6 Aug 2006 08:05:44 +0000 Subject: Fix rsync code to work with a username@ uri for bug #141185. Thanks to David-John Miller for this patch. svn path=/main/trunk/; revision=4179 --- bin/emerge | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/emerge b/bin/emerge index 4d1a3c38e..bc830fac8 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2654,9 +2654,12 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): maxretries=3 #default number of retries retries=0 - hostname, port=re.split("rsync://([^:/]*)(:[0-9]+)?", syncuri)[1:3]; + user_name, hostname, port = re.split( + "rsync://([^:/]+@)?([^:/]*)(:[0-9]+)?", syncuri, maxsplit=3)[1:4] if port is None: port="" + if user_name is None: + user_name="" updatecache_flg=True all_rsync_opts = set(rsync_opts) all_rsync_opts.update( @@ -2688,7 +2691,9 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): if ips: try: - dosyncuri=string.replace(syncuri, "//"+hostname+port+"/", "//"+ips[0]+port+"/", 1) + dosyncuri = syncuri.replace( + "//" + user_name + hostname + port + "/", + "//" + user_name + ips[0] + port + "/", 1) except SystemExit, e: raise # Needed else can't exit except Exception, e: -- cgit v1.2.3-1-g7c22