fetch/hg.py: Fix hg fetcher username/password handling and fix crash
authorRichard Purdie <rpurdie@linux.intel.com>
Tue, 30 Sep 2008 20:05:51 +0000 (20:05 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 30 Sep 2008 20:05:51 +0000 (20:05 +0000)
ChangeLog
lib/bb/fetch/hg.py

index 5b3fe59..b284f30 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -50,6 +50,7 @@ Changes in BitBake 1.8.x:
        - Allow to checkout CVS by Date and Time. Just add HHmm to the SRCDATE.
        - Move prunedir function to utils.py and add explode_dep_versions function
        - Raise an exception if SRCREV == 'INVALID'
+       - Fix hg fetcher username/password handling and fix crash
 
 Changes in BitBake 1.8.10:
        - Psyco is available only for x86 - do not use it on other architectures.
index ee3bd2f..1cd5a8a 100644 (file)
@@ -79,7 +79,10 @@ class Hg(Fetch):
             host = "/"
             ud.host = "localhost"
 
-        hgroot = host + ud.path
+        if ud.user == None:
+            hgroot = host + ud.path
+        else:
+            hgroot = ud.user + "@" + host + ud.path
 
         if command is "info":
             return "%s identify -i %s://%s/%s" % (basecmd, proto, hgroot, ud.module)
@@ -91,7 +94,10 @@ class Hg(Fetch):
         if command is "fetch":
             cmd = "%s clone %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, hgroot, ud.module, ud.module)
         elif command is "pull":
-            cmd = "%s pull %s" % (basecmd, " ".join(options))
+            # do not pass options list; limiting pull to rev causes the local
+            # repo not to contain it and immediately following "update" command
+            # will crash
+            cmd = "%s pull" % (basecmd)
         elif command is "update":
             cmd = "%s update -C %s" % (basecmd, " ".join(options))
         else: