|
| 1 | +from __future__ import print_function |
| 2 | + |
1 | 3 | import sys |
2 | 4 | from datetime import datetime |
3 | 5 | from subprocess import check_output |
@@ -199,23 +201,23 @@ def __init__(self, repository, provider=None, style=None): |
199 | 201 | base=last_version.previous_version.tag, target=last_version.planned_tag) |
200 | 202 |
|
201 | 203 | def get_remote_url(self): |
202 | | - git_url = str(check_output( |
| 204 | + git_url = check_output( |
203 | 205 | ['git', 'config', '--get', 'remote.origin.url'], |
204 | | - cwd=self.repository))[2:-1].rstrip('\\n') |
| 206 | + cwd=self.repository |
| 207 | + ).decode('utf-8').rstrip('\n') |
205 | 208 | if git_url.startswith('git@'): |
206 | 209 | git_url = git_url.replace(':', '/', 1).replace('git@', 'https://', 1) |
207 | 210 | if git_url.endswith('.git'): |
208 | 211 | git_url = git_url[:-4] |
209 | 212 | return git_url |
210 | 213 |
|
211 | 214 | def get_log(self): |
212 | | - # remove enclosing b-quotes (b'' or b"") |
213 | | - return str(check_output( |
| 215 | + return check_output( |
214 | 216 | ['git', 'log', '--date=unix', '--format=' + self.FORMAT], |
215 | | - cwd=self.repository))[2:-1].replace("\\'", "'") |
| 217 | + cwd=self.repository).decode('utf-8') |
216 | 218 |
|
217 | 219 | def parse_commits(self): |
218 | | - lines = self.raw_log.split('\\n') |
| 220 | + lines = self.raw_log.split('\n') |
219 | 221 | size = len(lines) - 1 # don't count last blank line |
220 | 222 | commits = [] |
221 | 223 | pos = 0 |
@@ -293,7 +295,8 @@ def group_commits_by_version(self, dates): |
293 | 295 | versions_dict[commit.version].sections_list.append(section) |
294 | 296 | versions_dict[commit.version].sections_dict = versions_types_dict[commit.version] |
295 | 297 | versions_types_dict[commit.version][commit.style['type']].commits.append(commit) |
296 | | - next_version.compare_url = self.provider.get_compare_url( |
297 | | - base=versions_list[-1].commits[-1].hash, target=next_version.tag or 'HEAD') |
| 298 | + if next_version is not None: |
| 299 | + next_version.compare_url = self.provider.get_compare_url( |
| 300 | + base=versions_list[-1].commits[-1].hash, target=next_version.tag or 'HEAD') |
298 | 301 | return {'as_list': versions_list, 'as_dict': versions_dict} |
299 | 302 |
|
0 commit comments