| Index: ensure_dependencies.py |
| diff --git a/ensure_dependencies.py b/ensure_dependencies.py |
| index b6557d051f6661645dea95edfde280ea288f7533..6bf7627872759385d4d636b167b9ed5edc16457b 100755 |
| --- a/ensure_dependencies.py |
| +++ b/ensure_dependencies.py |
| @@ -53,7 +53,7 @@ class Mercurial(): |
| result = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0] |
| return result.strip() |
| - def pull(self, repo): |
| + def pull(self, repo, rev): |
| subprocess.check_call(["hg", "pull", "--repository", repo, "--quiet"]) |
| def update(self, repo, rev): |
| @@ -96,8 +96,9 @@ class Git(): |
| command = ["git", "rev-parse", "--revs-only", rev + '^{commit}'] |
| return subprocess.check_output(command, cwd=repo).strip() |
| - def pull(self, repo): |
| + def pull(self, repo, rev): |
| subprocess.check_call(["git", "fetch", "--quiet", "--all", "--tags"], cwd=repo) |
| + subprocess.check_call(["git", "checkout", rev], cwd=repo) |
|
Sebastian Noack
2015/04/30 17:54:34
Wasn't the problem you try to address here, that b
kzar
2015/04/30 19:31:46
So it turns out the remote branches are fetched, t
Sebastian Noack
2015/04/30 20:53:57
Isn't this call redundant with the one in Git.upda
kzar
2015/05/01 09:43:55
As of Git 1.6.6 [1] checking out a local branch wh
Sebastian Noack
2015/05/04 11:44:31
If I understand the issue correctly, this change i
kzar
2015/05/05 13:33:55
Then you do not understand this change properly. W
Sebastian Noack
2015/05/05 15:08:54
Ok, got it. But this still seems like a silly hack
kzar
2015/05/05 15:26:52
The remote branch has already been fetched, we jus
Sebastian Noack
2015/05/05 16:00:54
I think I'd prefer that one. If something went wro
Sebastian Noack
2015/05/05 16:59:02
But either way, this will only work if you specify
Sebastian Noack
2015/05/05 17:35:05
After thinking a little more about the problem and
kzar
2015/05/06 11:04:44
Done.
|
| def update(self, repo, rev): |
| subprocess.check_call(["git", "checkout", "--quiet", rev], cwd=repo) |
| @@ -229,7 +230,7 @@ def update_repo(target, revisions): |
| resolved_revision = repo_types[type].get_revision_id(target, revision) |
| if not resolved_revision: |
| logging.info("Revision %s is unknown, downloading remote changes" % revision) |
| - repo_types[type].pull(target) |
| + repo_types[type].pull(target, revision) |
| resolved_revision = repo_types[type].get_revision_id(target, revision) |
| if not resolved_revision: |
| raise Exception("Failed to resolve revision %s" % revision) |