diff options
| author | Skyler Kaufman <skyler@google.com> | 2011-03-08 12:14:41 -0800 |
|---|---|---|
| committer | Skyler Kaufman <skyler@google.com> | 2011-03-08 13:48:24 -0800 |
| commit | 835cd6888f16ff30a3428adfa3a775efad918880 (patch) | |
| tree | 8570e971b5e44a0d75341f8eb467ab19e0a09529 | |
| parent | 8ced8641c88d37891a46d42ac1805e380ef6c377 (diff) | |
| download | git-repo-835cd6888f16ff30a3428adfa3a775efad918880.tar.gz | |
Post-nonexistent-revision crash sidestepped
Fix for the bug that leaves a fractional .git directory after attempting to
perform an initial sync to a nonexistent revision. Moved the initialization of
the working directory to after the revision ID has already been checked. Now,
no project/.git directory gets created at all if the revision ID is bad.
Change-Id: I0c9b2a59573410f1d11de7661591bf02e4ce326b
| -rw-r--r-- | project.py | 4 |
1 files changed, 2 insertions, 2 deletions
| @@ -691,11 +691,11 @@ class Project(object): | |||
| 691 | """Perform only the local IO portion of the sync process. | 691 | """Perform only the local IO portion of the sync process. |
| 692 | Network access is not required. | 692 | Network access is not required. |
| 693 | """ | 693 | """ |
| 694 | self._InitWorkTree() | ||
| 695 | all = self.bare_ref.all | 694 | all = self.bare_ref.all |
| 696 | self.CleanPublishedCache(all) | 695 | self.CleanPublishedCache(all) |
| 697 | |||
| 698 | revid = self.GetRevisionId(all) | 696 | revid = self.GetRevisionId(all) |
| 697 | |||
| 698 | self._InitWorkTree() | ||
| 699 | head = self.work_git.GetHead() | 699 | head = self.work_git.GetHead() |
| 700 | if head.startswith(R_HEADS): | 700 | if head.startswith(R_HEADS): |
| 701 | branch = head[len(R_HEADS):] | 701 | branch = head[len(R_HEADS):] |
