summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/git.py
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: fetch2/git: Stop git from triggering fsync() callsRichard Purdie2014-04-271-2/+2
| | | | | | | | | | | | | | | We only ever clone other repositories, if there were a problem such as power failure, we'd blow away data and rebuild. As such we don't need fsync(). With filesystems like ext*, the fsync pushes nearly all the data out to disk which impacts all running processes. We therefore set a configuration parameter to disable the fsync() calls. Also fixup a case where basecmd wasn't being used for no good reason. (Bitbake rev: 0a26abaf3a1e34d556c9375068dd17c879568d0f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch/git: Separate out an ls-remote functionRichard Purdie2014-03-021-4/+12
| | | | | | | | | There is other code which can want to run ls-remote style commands with different parameters so split out the function. (Bitbake rev: 13f1138f5504feee0ee8e8f3a0675d0bea490351) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Dereference unresolved tags with ls-remoteRichard Purdie2014-01-211-1/+1
| | | | | | | | | | | We need to deference tags when trying to map them to commit IDs with ls-remote. If we don't do this, a given commit might not show up later in a specific branch. There appears to be no good reason not to do this. (Bitbake rev: 8ef24f4c834298348172b96ec0b855bf09552b09) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Anchor names when using ls-remoteRichard Purdie2014-01-211-2/+2
| | | | | | | | | | | | | | | | When specifying tags, they're searched for unanchored so foo/bar could match: refs/heads/abc/foo/bar refs/heads/xyz/foo/bar refs/heads/foo/bar This change anchors the expressions so they are based against heads or tags (or any other base level tree that has been created). (Bitbake rev: df2e0972cd1db7abd5ec8b7cb295fb0c42e284a4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: fetch2/git: add description for nobranchZhenhua Luo2014-01-081-0/+5
| | | | | | | (Bitbake rev: b426740b2ae8245c8cf0f314bf4983b6fff7ecb7) Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: fetch2/git: add nobranch option for SRC_URI to skip SHA ↵Zhenhua Luo2014-01-071-2/+9
| | | | | | | | | | | | validating for branch For rebased git tree, some commits doesn't exist in any branch, and such commits are valid in tag, the change is useful for such case. (Bitbake rev: f594cb9f5a18dd0ab2342f96ffc6dba697b35f65) Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: fetcher2: git.py: clean(): remove the .tar.gz.doneRobert Yang2014-01-021-0/+1
| | | | | | | | | | | | | | | | | | | | | There was a problem: $ bitbake xf86-video-omapfb -cfetch && bitbake xf86-video-omapfb -ccleanall The git2_git.pingu.fi.xf86-video-omapfb.tar.gz has been removed from the DL_DIR, but the git2_git.pingu.fi.xf86-video-omapfb.tar.gz.done still exists, this is because the "open(ud.donestamp, 'w').close()" in try_mirror_url() will create the git2_git.xxx.tar.gz.done, but no one removes it (the clean() in fetch2/__init__.py removes the DL_DIR/git2/pkg.done) This only happens on the git fetcher AFAIK. [YOCTO #5688] (Bitbake rev: fb2dc84875eb477661f421b21bc404d4805ce379) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb.fetch2.git: reuse basecmd attributeOlof Johansson2013-12-181-8/+7
| | | | | | | | | | The basecmd is initialized in urldata_init; there's no need redoing that work. (Bitbake rev: f8df6f746fb2e27f029a5449cee6c891b1f36f4f) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Improve handling of unresolved names verses branchesRichard Purdie2013-12-181-3/+5
| | | | | | | | | | | | | Currently the fetcher doesn't distinguish between names that the fetcher needs to resolve verses branch names that the user specified. This meant that if you specify a tag and a branch, the fetcher broke. This separates the two so that the branch name is preserved and can be used in appropriate places. (Bitbake rev: e85f39fe9d1b224414b5da0780da514f75c5df92) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Ensure check is made in the correct directoryRichard Purdie2013-12-061-0/+1
| | | | | | (Bitbake rev: 73ddf1a3d1c516ad3bc785e0413483e616ce07a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Add sanity check to ensure we really did fetch the ↵Richard Purdie2013-12-051-0/+3
| | | | | | | | | | | | | correct revisions The fetcher made the rather bold assumption that if it fetched from the upstream, the revisions were present and correct. These checks are fast and ensure that really is the case. The avoids accidental network accessed and missing branch configuration problems. (Bitbake rev: a9112a102a89049cda597dad449e922c9e957a5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: fetch2: Remove the unused urldata from the git fetcher.Florin Sarbu2013-11-251-1/+1
| | | | | | | (Bitbake rev: e0a2e9699e9f338dd7ade8c9eef0a12c7639ec05) Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Stop passing around the pointless url parameterRichard Purdie2013-11-221-12/+12
| | | | | | | | | | | | | | | There is no good reason to keep passing around the url parameter when its contained within urldata (ud). This is left around due to legacy reasons, some functions take it, some don't and its time to cleanup. This is fetcher internal API, there are a tiny number of external users of the internal API (buildhistory and distrodata) which can be fixed up after this change. (Bitbake rev: 6a48474de9505a3700863f31839a7c53c5e18a8d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git: Use git branch for ancestor checksRichard Purdie2013-11-191-2/+4
| | | | | | | | | | Using git merge-base for checking for ancestors is nice but required git 1.8.0 which is not in many distrbutions yet. We therefore revert to a more ugly check using git branch --contains until such times as we can upgrade. (Bitbake rev: 31467c0afe0346502fcd18bd376f23ea76a27d61) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git: Use merge-base instead of log for testing if a commit is presentRichard Purdie2013-11-181-8/+9
| | | | | | | | | | | | | | | | | | | | | The current use of git log to check if a given revision is present can be a little fragile. For example if revision X was on branch A, and then later added to branch B, the update checks would not notice this since they just check for X being in the repository. We also had some autobuilder corruption where an older packed-refs file was copied over a new repository containing newer pack files. There was no update to the refs file since the revision was present but not accessible in any branch. The correct fix is to check that the required revisions are present on the specific branches. This patch does this using merge-base. (Bitbake rev: 89abfbc1953e3711d6c90aff793ee622c22609b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git: remove symling before updating mirror tarballMartin Jansa2013-05-091-0/+4
| | | | | | | | | | | | | | | | | | * with read-only PREMIRROR (e.g. mounted over NFS or CIFS and referenced as file:///mnt/premirror) we cannot use BB_GENERATE_MIRROR_TARBALLS because all git2_abc.git.tar.gz files later became just symlinks to read-only location in PREMIRROR (it works fine on first build and for new components, because at that time there isn't tarball on PREMIRROR yet). ERROR: Fetcher failure: Fetch command failed with exit code 141, output: tar (child): /build/downloads/git2_abc.git.tar.gz: Cannot open: Read-only file system tar (child): Error is not recoverable: exiting now (Bitbake rev: 3627b02f77c78beedadadd77c619b9e5edaae076) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/fetch: Add git submodules fetcherRichard Purdie2013-03-251-1/+1
| | | | | | | | | | | | | | | | | This adds very basic git submodule support to the fetcher. It can be used by replacing a git:// url prefix with a gitsm:// prefix, otherwise behaviour is the same as the git fetcher. Whilst this code should be functional, its not as efficient as the usual git fetcher due to the need to checkout the tree to fetch/update the submodule information. git doesn't support submodule operations on the bare clones the standard git fetcher uses which is also problematic. This code does however give a starting point to people wanting to use submodules. (Bitbake rev: 25e0b0bc50114f1fbf955de23cc0c96f5f7a41e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: remove localcount and use AUTOINC insteadConstantin Musca2012-12-171-37/+2
| | | | | | | | | | | | | | | | - do not use the BB_URI_LOCALCOUNT database for computing revision incremental numbers anymore - sortable_revision now generates "AUTOINC+${latest_rev}" - use one incrementing value rather than several - PV becomes 0.1+gitAUTOINC+deadbeefdecafbad_decafbaddeadbeef - remove all localcount code and simplify the fetcher - this patch addresses the following proposal: http://lists.linuxtogo.org/pipermail/bitbake-devel/2012-November/003878.html (Bitbake rev: 61cf01c5c236b4218f40cfae7c059c2b86765dbd) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: A bit of tidying up regarding grammar and supported protocols.Robert P. J. Day2012-12-141-5/+5
| | | | | | | | | Doc cleanup, no functional change. (Bitbake rev: 5161a84f5dcfe748382a5073349bf10ed21641f9) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Don't use deprecated API1.3_M5.rc2Richard Purdie2012-09-251-1/+1
| | | | | | (Bitbake rev: 8e650b3307b60cfe8e7439ea6891c3a85f785af9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Add missing mkdirRichard Purdie2012-09-241-0/+1
| | | | | | | | | | bitbake-selftest is failing due to directories not being created. This adds in an appropriate mkdir so the tests can complete. Presumably in general OE use, something else is ensuring the parent directory is created. (Bitbake rev: 1270a07713e2a6c6e6fadcc61b785aebc99ae17b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Work around git confusion between foo.git and foo ↵Richard Purdie2012-08-181-1/+16
| | | | | | | | | | | | | | repositories If you have foo and foo.git in GITDIR, the two can end up being confused by git with some horrible union of the two being cloned. This adds a workaround to avoid this happening until git 1.7.9.2 onwards is common enough for this to be removed. We use a symlink to hide the directories we don't want git to know about. (Bitbake rev: bbf1f6fe594c721a296ca09ee7c583d4a205c591) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git: do not execute 'git remote prune'Enrico Scholz2012-07-041-1/+0
| | | | | | | | | | | | | | | | 'git remote prune' at this location does not make much sense because the following 'git remote rm' will prune stale and non-stale branches. The 'prune' can cause trouble because it will access the network bypassing the no-network code in bitbake. When this operation fails and throws an exception, the next command (--> 'git remote rm') will be skipped. This in turn, will make all the following operations fail, because they assume that the remote does not exist yet. (Bitbake rev: 2ba23df5fad4b94d38a6aed97f7822226d72eb89) Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Ensure star character doesn't end up in mirror tarball namesRichard Purdie2012-06-251-1/+1
| | | | | | | | | | | | If '*' does end up in mirror urls accidently, some strange things can break since supports_checksum() looks for this, ud.localpath can then get ignored and this can lead to empty directories being downloaded "successfully". '*' is a special case for file urls only at this point so remove any entries that accidentlly make it in through url mapping. (Bitbake rev: 1369bec2404d942acc3618a8d005ec6868dcfd41) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: Remove -l option, its not necessaryRichard Purdie2012-06-251-1/+2
| | | | | | | | | | | | | If -l is specified and the source and destination are not on a common filesystem an error occurs. The -l option is however the default for git for local paths which the fetcher already now ensures in the file:// case. We can therefore safely drop the -l option. (Bitbake rev: 3aeb268b2aaab4bb8b1cfff1450e0b76aa8ce855) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git.py: Optimize clone fall back when it is localJason Wessel2012-06-211-1/+3
| | | | | | | | | | A file:// url should use "clone -l" to greatly speed up the clone in the case of a kernel when it is local. (Bitbake rev: 2bab2cc3ffe67ee2a308074a6e4c2c7be5636d2f) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/fetch: Spell out which fetcher backends support and recommend checksumsRichard Purdie2012-05-201-0/+3
| | | | | | | | | | | | | | There were some hardcoded behaviours in the system for which backends support checksums verses which backends recommend them verses which don't recommend them. This moves the functionality into specific fetchers and then makes the general code generic. This cleans up the codebase and fixes some corner cases such as trying to checksum directories returned by the git fetcher. (Bitbake rev: ef6d268f7b8527541a7fb044cf95a973be4097f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/fetch2/git: Set a default for the GITDIR variableRichard Purdie2012-05-131-2/+3
| | | | | | (Bitbake rev: 1a0cdc65812f1f12bf4bbea6540a3aaf0f81b4f7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/fetch2/git: Don't set the branch name to None, that makes no senseRichard Purdie2012-05-131-1/+2
| | | | | | | | | | With floating revisions and no specified branch, the fetcher could fail with some obtuse errors. This was due to the branch name being set to None which makes no sense. This patch reworks some conditions to avoid this. (Bitbake rev: 740c58d43cfb1445dd126e4827bb70ce988ca107) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: Allow file:// URLs without checking for network accessJeff Polk2012-05-041-3/+6
| | | | | | | | | | Don't check for network access before grabbing the the current head, cloning, or updating a clone when the protocol is 'file'. (Bitbake rev: d5847bc5254b9d2f28a6b574f6157d1286add27c) Signed-off-by: Jeff Polk <jeff.polk@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/fetch2: Ensure mirror tarballs have .done stamps so we don't ↵Richard Purdie2012-03-231-0/+1
| | | | | | | | | | redownload and corrupt them [YOCTO #2154] (Bitbake rev: 521d6b14151d3bf934b9597557f7ae46e50a3d7a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: create bareclone optionBruce Ashfield2012-02-241-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | For similar reasons as the nocheckout option, packages that need enhanced control over the checkout and branch creation on a repository may want a complete mirror/bareclone created of the repository when performing the unpack. This is useful/required when a local respository is being used, but local tracking branches have not been created for all branches that a given recipe needs to manipulate. The standard git clone operations will create remote branches for the branches that are local to the source repository, but branches that are remote do not translate to the destination repository. Doing a mirror/bare clone of the source, makes all branches available to the repository. This is a particular use case, but the ability to do a bare clone creates great flexibility in recipe space, with no impact to recipes that don't need this functionality. To implement this, a new option 'bareclone' is craeted which creates a mirror copy of the repository and leaves it bare in the unpacking phase. A recipe that uses this option must both checkout and debare the repository itself. (Bitbake rev: 82482aae6f311c994275fb0b6b32d954bbfc78c3) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: Add workaround for clone using alternates problemRichard Purdie2012-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To quote my report of this to the git mailing list: """ I have a problem with git clone commands using alternates failing by mixing up different repositories. I have a situation where I could end up with both: /srv/mirrors/repo /srv/mirrors/repo.git as bare clones. I then try cloning "repo" with alternates with the command: $ git clone -s -n /srv/mirrors/repo /tmp/foo Cloning into /tmp/foo... done. $ cat /tmp/foo/.git/objects/info/alternates /srv/mirrors/repo.git/objects Note how I'm now referencing repo.git, not repo. This doesn't work as expected giving some very bizarre results when actually using the repository. I appreciate this is a rather bizarre corner case but its one that is breaking the build system I work with. Ideally people would use a consistent URL for the same repository but we have an example where they haven't and this really shouldn't break like this. Looking at the code, the cause seems to be clone.c:get_repo_path(): static char *suffix[] = { "/.git", ".git", "" }; since its looking in order for: repo/.git (fails) repo.git (suceeds, incorrect) repo (never looked at) I'm not sure what would break if that order were to change, swapping the last two options. I can "force" the issue by running: git clone -s -n /srv/mirrors/repo/ /tmp/foo but this results in the slightly odd looking: $ cat /tmp/foo/.git/objects/info/alternates /srv/mirrors/repo//objects which does at least work. """ This patch adds the trailing slash to ensure the correct repository is referenced at the expense of some ugliness in the alternates file. (Bitbake rev: d978e7b35550e3785c7c567ffe4c40a3c3947450) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: change colon to dot in ud.hostJuraj Hercek2012-01-041-1/+1
| | | | | | | | | | | | | | | | | | | Local cloning of git repositories from DL_DIR into WORKDIR fails when using ssh URL with port specification e.g. "ssh://user@host:port/path/to/repo.git". Git fetcher clones such remote repository into "${DL_DIR}/git2/host:port.path.to.repo.git". However, when clonging from ${DL_DIR}/git2/host:port.path.to.repo.git into ${WORKDIR}, git fetcher fails with "ssh: Could not resolve hostname ${DLDIR}/git2/host: Name or service not known". A solution is to replace ":" by "." in host component, similarly as it is done when replacing "/" with "." in path component, so that local clone directory in DL_DIR looks like this: "host.port.path.to.repo.git". (Bitbake rev: 1f2867b79f1cd2bfbdc849ba5677a39db6fa3396) Signed-off-by: Juraj Hercek <juraj.hercek@jhksoftware.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Update users of getVar/setVar to use the data store functions directlyRichard Purdie2011-11-271-2/+2
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: Make git fetch run with -f so rebased branches don't failMatthew McClintock2011-10-041-1/+1
| | | | | | | | | | | | | | git fetches can fail (or at least return failed) when trying to fetch and prune rebased branches. This patch simply adds a -f to the git fetch command so these failure are ignore Generally, if some SHA was rebased away it's not coming back so there is no point in not doing this force (Bitbake rev: a7b75e4db52445b30ec0fc0053dcf454f5f7d2db) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: fix subpath destination directoryPaul Eggleton2011-09-201-1/+3
| | | | | | | | | | | | | | Make the git fetcher's subpath (path within the git repo to fetch) option set the destsuffix (destination directory) option by default. This reverts the behaviour of subpath to the same as when it was introduced. Based on a patch by Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> (Bitbake rev: 3e7f8afeacf7c8c8de3e87778a3907e33d4a06b3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: be more carefull in _contains_ref when checking git log outputMartin Jansa2011-09-201-1/+4
| | | | | | | | | | | * in some cases there could be output like this ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored. before wc -l output and returned 'output.split()[0] != 0' is always True (Bitbake rev: 3a54dcc09a12406ec6cf22b4b1a2cc4fc203822c) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: fix logger.debugMartin Jansa2011-09-201-1/+1
| | | | | | | | | | * logging/logger typo was fixed in 38a598731b49c8a0ba0ede570adc33eb1e848235 but debug level is still missing (Bitbake rev: 9de432fe2348cdbc93037bb49abb508d1fd38336) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* git.py: Fix logging vs logger typoRichard Purdie2011-09-171-1/+1
| | | | | | (Bitbake rev: 1043bbcd095314e717b372ed69ea6ee5b8a06573) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: Allow to specify the name of the checkout directoryHolger Hans Peter Freyther2011-09-021-1/+2
| | | | | | | (Bitbake rev: 639db8c766cada7180f9447f51303f9b30d7e817) Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/fetch2/git: Ensure .gitconfig file is ignoredRichard Purdie2011-08-311-5/+6
| | | | | | | | | | | | | | | If a user has a ~/.gitconfig file, git fetch --all will reference it. To avoid this we should run git fetch with an explicit url telling it to fetch all references (which includes tags). I'm assured this means git won't reference the file, see the discussion on the git mailing list (subject Overriding ~/.gitconfig using GIT_CONFIG). [YOCTO #1134] (Bitbake rev: 8540c09d4e509e3277940464c71174d8a0aca6ab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bb/fetch2/git: add checkstatus commandJoshua Lock2011-08-241-0/+8
| | | | | | | | | Use git ls-remote to implement checkstatus command for the git fetcher. (Bitbake rev: 0ed281feb6d244d3700da484f4e83394ae394f93) Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: Add rsync as a valid git protocolRichard Purdie2011-08-231-1/+1
| | | | | | (Bitbake rev: 4cc4e318fd6907a4742f327177f321d140385c9e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: Tweak git fetcher to handling repo updates correctlyRichard Purdie2011-07-081-2/+2
| | | | | | | | | | | | | | | | | | Currently the git fetcher can malfunction when branches change in remote repositories since whilst the update code updates the "origin" remote, this isn't linked to the local heads. By passing the --mirror option to 'git clone' and 'git remote add', linkage between the local heads and remote heads is created with a 1:1 mapping, hence all the appropriate heads are then updated correctly. This fixes some issues which have been seen with the Yocto autobuilder mirrors. (Bitbake rev: 3725602ec53df116dc108b3197a426b86ca43d5f) Signed-off-by: Richard Purdie <richard.purdie@linux-foundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git.py: improve error reporting when an invalid protocol is usedScott Garman2011-06-221-0/+3
| | | | | | | | | | | | | | | | | | | | When an invalid 'protocol' parameter is used in a git SRC_URI, the error reported was not helpful: ERROR: Function 'Fetcher failure for URL: 'None'. <environment dump> fatal: Could not make temporary directory: No such file or directory So instead check that ud.proto is set to something valid, and if not raise a meaningful ParameterError which explains that the protocol type is the source of the problem. This fixes bug [YOCTO #1142] (Bitbake rev: a2a29b72275ab03a263f4479a590b92111a0d6a8) Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: ensure network check log matches actual commandDarren Hart2011-05-271-6/+10
| | | | | | | | | | The git command string logged via check_network_access() does not match the actual command executed in a few places. Ensure that it does. (Bitbake rev: 10f3ca52dc274cd8b240987cfd7cd003aeda7ab1) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: use logging.debug() and clarify messagesDarren Hart2011-05-271-2/+5
| | | | | | | | | | Replace a call to print() with logging.debug() and flesh out the message to clarify the state being reported. (Bitbake rev: 9a28f7744e2f4224e7c097b8c4c1d49731b9a47e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: enhance the unpack by using "git checkout"Yu Ke2011-05-271-2/+5
| | | | | | | | | | | | | | | current git fetcher unpack method only checkout index and working tree, but did not did not update the git branch in ref/heads, so user may not get right info in ${S} by using git. this patch enhance the unpack by using git checkout to fix this issue. Fix bug [YOCTO #1089] (Bitbake rev: c0eb89054aef4957966f98b44e7f3cce14fb337a) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fetch2/git: add document for git fetcher supported optionsYu Ke2011-05-271-3/+35
| | | | | | | (Bitbake rev: d424ecd751f80a7aecec26e1a0cbd2a1b38e076b) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>