From 22e0395343b2c182eefe3e34625713b6185ccbd5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 10 Sep 2008 16:25:46 +0000 Subject: bitbake hg fetcher: Add fix from Matt Hoosier The Mercurial fetcher right now will fail when used to incrementally fetch an update to a local clone of a repository already fetched at some prior revision. The culprit is the sequence: hg pull -r hg update -C A subtlety in the way that Mercurial stores its tags (in a normally version-controlled file called .hgtags) has the side-effect that a repository fetched at a tag "foo" will not actually contain a new-enough copy of the .hgtags file to be self-aware of the foo tag's existence. The solution is just to get all the changesets in the repository on incremental upgrades, so that the following "hg update" will be able to resolve the tag. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5170 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- bitbake/lib/bb/fetch/hg.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py index c7d2e62c1..1cd5a8aa5 100644 --- a/bitbake/lib/bb/fetch/hg.py +++ b/bitbake/lib/bb/fetch/hg.py @@ -94,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: -- cgit v1.2.3