diff options
Diffstat (limited to 'meta/lib/patchtest')
-rw-r--r-- | meta/lib/patchtest/repo.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/meta/lib/patchtest/repo.py b/meta/lib/patchtest/repo.py index 2cdd6736e4..6a7d7d2d3b 100644 --- a/meta/lib/patchtest/repo.py +++ b/meta/lib/patchtest/repo.py | |||
@@ -21,7 +21,12 @@ class PatchTestRepo(object): | |||
21 | self.repodir = repodir | 21 | self.repodir = repodir |
22 | self.repo = git.Repo.init(repodir) | 22 | self.repo = git.Repo.init(repodir) |
23 | self.patch = mbox.PatchSeries(patch) | 23 | self.patch = mbox.PatchSeries(patch) |
24 | self.current_branch = self.repo.active_branch.name | 24 | |
25 | if self.repo.head.is_detached: | ||
26 | self.current_commit = self.repo.head.commit.hexsha | ||
27 | self.current_branch = None | ||
28 | else: | ||
29 | self.current_branch = self.repo.active_branch.name | ||
25 | 30 | ||
26 | # targeted branch defined on the patch may be invalid, so make sure there | 31 | # targeted branch defined on the patch may be invalid, so make sure there |
27 | # is a corresponding remote branch | 32 | # is a corresponding remote branch |
@@ -80,6 +85,6 @@ class PatchTestRepo(object): | |||
80 | self._patchmerged = True | 85 | self._patchmerged = True |
81 | 86 | ||
82 | def clean(self): | 87 | def clean(self): |
83 | self.repo.git.execute(['git', 'checkout', self.current_branch]) | 88 | self.repo.git.execute(['git', 'checkout', self.current_branch if self.current_branch else self.current_commit]) |
84 | self.repo.git.execute(['git', 'branch', '-D', self._workingbranch]) | 89 | self.repo.git.execute(['git', 'branch', '-D', self._workingbranch]) |
85 | self._patchmerged = False | 90 | self._patchmerged = False |