| 165 | pass |
| 166 | |
| 167 | def check_merge_conflict(self, branch1, branch2): |
| 168 | git_root = self.repo.git.rev_parse("--show-toplevel") |
| 169 | repo_name = os.path.basename(self.repo.working_dir) |
| 170 | new_dir = os.path.join(tempfile.gettempdir(), "git_sim", repo_name) |
| 171 | |
| 172 | orig_repo = self.repo |
| 173 | orig_remotes = self.repo.remotes |
| 174 | self.repo = git.Repo.clone_from(git_root, new_dir, no_hardlinks=True) |
| 175 | self.repo.git.checkout(branch2) |
| 176 | self.repo.git.checkout(branch1) |
| 177 | |
| 178 | try: |
| 179 | self.repo.git.merge(branch2) |
| 180 | except git.GitCommandError as e: |
| 181 | if "CONFLICT" in e.stdout: |
| 182 | self.conflicted_files = [] |
| 183 | self.n = 5 |
| 184 | for entry in self.repo.index.entries: |
| 185 | if len(entry) == 2 and entry[1] > 0: |
| 186 | self.conflicted_files.append(entry[0]) |
| 187 | return 1, new_dir |
| 188 | self.repo = orig_repo |
| 189 | return 0, new_dir |
| 190 | |
| 191 | # Override to display conflicted filenames |
| 192 | def populate_zones( |