diff options
author | Ben Hutchings <ben.hutchings@codethink.co.uk> | 2020-07-29 14:32:11 +0100 |
---|---|---|
committer | Ben Hutchings <ben.hutchings@codethink.co.uk> | 2020-07-29 14:35:32 +0100 |
commit | 396657cb77af947cc82ba792deec7df6b77cf68b (patch) | |
tree | 1e89f852a15548a2fc3665832c1c4f4536463cda /buildstream/plugins/sources | |
parent | 89765b759230c8d47e27fd52527cf3df61be9ae1 (diff) | |
download | buildstream-bwh/fix-git-remote-name-check-1.4.tar.gz |
git source plugin: Fix check for remote existencebwh/fix-git-remote-name-check-1.4
When checking whether a remote exists in the cached git repository, we
currently perform a substring match on the output of 'git remote'.
This fails when there is an existing remote name that contains the
name we're looking for.
This was fixed by the rewrite of git fetching in !1808, but that
change seems unsuitable for the stable 1.4 branch.
Instead, split the command output into a list and check that the
remote name is in the list.
Closes #1372.
Diffstat (limited to 'buildstream/plugins/sources')
-rw-r--r-- | buildstream/plugins/sources/git.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/buildstream/plugins/sources/git.py b/buildstream/plugins/sources/git.py index 495246423..94472bacd 100644 --- a/buildstream/plugins/sources/git.py +++ b/buildstream/plugins/sources/git.py @@ -185,7 +185,7 @@ class GitMirror(SourceFetcher): fail="Failed to retrieve list of remotes in {}".format(self.mirror), cwd=self.mirror ) - if remote_name not in remotes: + if remote_name not in remotes.strip().split(): self.source.call( [self.source.host_git, 'remote', 'add', remote_name, url], fail="Failed to add remote {} with url {}".format(remote_name, url), |