Merge ~nacc/git-ubuntu:importer-spi-refactoring into git-ubuntu:master
- Git
- lp:~nacc/git-ubuntu
- importer-spi-refactoring
- Merge into master
Status: | Merged |
---|---|
Merged at revision: | d1a0c2b32e02628274a31fbf8947011d3fce051a |
Proposed branch: | ~nacc/git-ubuntu:importer-spi-refactoring |
Merge into: | git-ubuntu:master |
Prerequisite: | ~nacc/git-ubuntu:importer-remove-import_patches_unapplied_tree |
Diff against target: |
570 lines (+177/-82) 6 files modified
gitubuntu/build.py (+2/-0) gitubuntu/git_repository.py (+72/-25) gitubuntu/importer.py (+81/-33) gitubuntu/importlocal.py (+9/-2) gitubuntu/queue.py (+3/-0) gitubuntu/test_importer.py (+10/-22) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Server Team CI bot | continuous-integration | Approve | |
Andreas Hasenack | Approve | ||
Review via email:
|
Commit message
Make jenkins happy
Description of the change
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Server Team CI bot (server-team-bot) wrote : | # |
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:7ad6b8012ae
https:/
Executed test runs:
SUCCESS: VM Setup
SUCCESS: Build
SUCCESS: Unit Tests
FAILED: Integration Tests
Click here to trigger a rebuild:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:299096e0746
https:/
Executed test runs:
SUCCESS: VM Setup
SUCCESS: Build
SUCCESS: Unit Tests
SUCCESS: Integration Tests
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Andreas Hasenack (ahasenack) wrote : | # |
In queue.py:205, there is a repo.commit_
commit_hash = repo.commit_
)
Similarly, in build.py:833:
)
"""We automatically generated fixup changes relative to
%s as commit %s.
If you would like to create a branch at that commit, run:
\tgit checkout -b <branch name> %s""",
)
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Andreas Hasenack (ahasenack) wrote : | # |
Other comments inline.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Andreas Hasenack (ahasenack) wrote : | # |
Thanks for the changes, +1
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:df0ed87c6b1
https:/
Executed test runs:
SUCCESS: VM Setup
FAILED: Build
Click here to trigger a rebuild:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:df0ed87c6b1
https:/
Executed test runs:
SUCCESS: VM Setup
SUCCESS: Build
FAILED: Unit Tests
Click here to trigger a rebuild:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:d1a0c2b32e0
https:/
Executed test runs:
SUCCESS: VM Setup
SUCCESS: Build
SUCCESS: Unit Tests
SUCCESS: Integration Tests
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild:
https:/
Preview Diff
1 | diff --git a/gitubuntu/build.py b/gitubuntu/build.py |
2 | index 5e73794..b7ea657 100644 |
3 | --- a/gitubuntu/build.py |
4 | +++ b/gitubuntu/build.py |
5 | @@ -834,6 +834,8 @@ def do_build( |
6 | tree_hash=tree_hash, |
7 | parents=[commitish], |
8 | log_message=b'Automatically generated git-ubuntu fixup.', |
9 | + fallback_author=None, |
10 | + fallback_date=None, |
11 | ) |
12 | logging.info( |
13 | """We automatically generated fixup changes relative to |
14 | diff --git a/gitubuntu/git_repository.py b/gitubuntu/git_repository.py |
15 | index 9f1fdea..0634e2e 100644 |
16 | --- a/gitubuntu/git_repository.py |
17 | +++ b/gitubuntu/git_repository.py |
18 | @@ -1778,8 +1778,23 @@ class GitUbuntuRepository: |
19 | _, _, pretty_name = tag.name.partition('refs/tags/') |
20 | return pretty_name |
21 | |
22 | - def get_commit_authorship(self, ref, spi): |
23 | - """Extract last debian/changelog entry's maintainer and date""" |
24 | + def get_commit_authorship( |
25 | + self, |
26 | + ref, |
27 | + fallback_author, |
28 | + fallback_date, |
29 | + ): |
30 | + """Extract last debian/changelog entry's maintainer and date |
31 | + |
32 | + :param ref str Reference name to lookup the changelog of |
33 | + :param fallback_author str Name to use as commit author if |
34 | + @ref's debian/changelog fails to parse |
35 | + :param fallback_date str Date to use as commit date if @ref's |
36 | + debian/changelog fails to parse |
37 | + |
38 | + :rtype tuple(str, str, str) |
39 | + :returns Tuple of name, email and date |
40 | + """ |
41 | try: |
42 | changelog = self.get_changelog_from_treeish(ref) |
43 | author = changelog.maintainer |
44 | @@ -1800,8 +1815,8 @@ class GitUbuntuRepository: |
45 | |
46 | # fallback to Launchpad's information for the name |
47 | # cannot do this for the email, as it require you are logged in |
48 | - if len(name) == 0 and spi: |
49 | - name = spi.spphr.package_creator.display_name |
50 | + if len(name) == 0 and fallback_author: |
51 | + name = fallback_author |
52 | |
53 | if len(name) == 0 or len(email) == 0: |
54 | logging.error('Cannot get commit authorship for %s' % ref) |
55 | @@ -1813,8 +1828,8 @@ class GitUbuntuRepository: |
56 | except ValueError: |
57 | try: |
58 | # date_published can be None |
59 | - if spi and spi.date_published: |
60 | - date = str(spi.date_published) |
61 | + if fallback_date: |
62 | + date = fallback_date |
63 | except: |
64 | logging.error('No LP source package publishing date ' |
65 | 'available. Unable to proceed.' |
66 | @@ -1823,29 +1838,41 @@ class GitUbuntuRepository: |
67 | |
68 | return (name, email, date) |
69 | |
70 | - def get_commit_environment(self, ref, spi): |
71 | - """Return a hash suitable for passing as the environment to |
72 | - subprocess.* containing GIT_* variables that will force a commit |
73 | - to match values from debian/changelog. |
74 | + def get_commit_environment(self, ref, fallback_author, fallback_date): |
75 | + """Get a suitable environment hash to force Git commits to match debian/changelog |
76 | + |
77 | + :param ref str Reference name to lookup the changelog of |
78 | + :param fallback_author str Name to use as the commit author if |
79 | + @ref's debian/changelog fails to parse |
80 | + :param fallback_date str Date to use as the commit date if |
81 | + @ref's debian/changelog fails to parse |
82 | + |
83 | + :rtype dict |
84 | + :returns A hash suitable for passing as the environment to |
85 | + subprocess.* containing GIT_* variables that will force a |
86 | + commit to match values from debian/changelog. |
87 | """ |
88 | author_name, author_email, author_date = self.get_commit_authorship( |
89 | - ref, |
90 | - spi |
91 | - ) |
92 | + ref, |
93 | + fallback_author, |
94 | + fallback_date, |
95 | + ) |
96 | # committer date is the published date if present |
97 | # if it is not, fall back to the authorship date |
98 | - if spi and spi.date_published: |
99 | - committer_date = str(spi.date_published) |
100 | + if fallback_date: |
101 | + committer_date = fallback_date |
102 | else: |
103 | # XXX: is this a good fallback? |
104 | committer_date = author_date |
105 | |
106 | - return {'GIT_AUTHOR_NAME':author_name, |
107 | - 'GIT_AUTHOR_EMAIL':author_email, |
108 | - 'GIT_AUTHOR_DATE':author_date, |
109 | - 'GIT_COMMITTER_NAME':'usd-importer', |
110 | - 'GIT_COMMITTER_EMAIL':'ubuntu-server@lists.ubuntu.com', |
111 | - 'GIT_COMMITTER_DATE':committer_date} |
112 | + return { |
113 | + 'GIT_AUTHOR_NAME': author_name, |
114 | + 'GIT_AUTHOR_EMAIL': author_email, |
115 | + 'GIT_AUTHOR_DATE': author_date, |
116 | + 'GIT_COMMITTER_NAME': 'usd-importer', |
117 | + 'GIT_COMMITTER_EMAIL': 'ubuntu-server@lists.ubuntu.com', |
118 | + 'GIT_COMMITTER_DATE': committer_date, |
119 | + } |
120 | |
121 | def create_tracking_branch(self, branch_name, upstream_name, force=False): |
122 | return self.raw_repo.create_branch( |
123 | @@ -1922,17 +1949,37 @@ class GitUbuntuRepository: |
124 | ) |
125 | raise |
126 | |
127 | - def commit_tree_hash(self, tree_hash, parents, log_message, |
128 | - environment_spi=None): |
129 | + def commit_tree_hash( |
130 | + self, |
131 | + tree_hash, |
132 | + parents, |
133 | + log_message, |
134 | + fallback_author, |
135 | + fallback_date, |
136 | + ): |
137 | + """Commit a Git tree with appropriate parents and message |
138 | + |
139 | + :param tree_hash str Git tree hash |
140 | + :param parents list(str) Git commit hashes of parents |
141 | + :param log_message bytes Commit message |
142 | + :param fallback_author str Git commit author to use if |
143 | + @tree_hash's debian/changelog does not parse |
144 | + :param fallback_date str Git commit date to use if |
145 | + @tree_hash's debian/changelog does not parse |
146 | + """ |
147 | commit_tree = ['git', 'commit-tree', '--no-gpg-sign', tree_hash] |
148 | |
149 | for parent in parents: |
150 | commit_tree.extend(['-p', parent]) |
151 | |
152 | commit_env = dict(self.env) # take a copy for modification |
153 | - if environment_spi: |
154 | + if fallback_author or fallback_date: |
155 | commit_env.update( |
156 | - self.get_commit_environment(tree_hash, environment_spi) |
157 | + self.get_commit_environment( |
158 | + tree_hash, |
159 | + fallback_author, |
160 | + fallback_date, |
161 | + ) |
162 | ) |
163 | with tempfile.NamedTemporaryFile() as fp: |
164 | fp.write(log_message) |
165 | diff --git a/gitubuntu/importer.py b/gitubuntu/importer.py |
166 | index 9e4ab81..32b74c8 100644 |
167 | --- a/gitubuntu/importer.py |
168 | +++ b/gitubuntu/importer.py |
169 | @@ -471,7 +471,8 @@ def get_changelog_for_commit( |
170 | |
171 | def get_import_commit_msg( |
172 | repo, |
173 | - spi, |
174 | + version, |
175 | + target_head_name, |
176 | namespace, |
177 | tree_hash, |
178 | changelog_parent_commit, |
179 | @@ -480,10 +481,8 @@ def get_import_commit_msg( |
180 | ): |
181 | if unapplied_parent_commit: |
182 | import_type = 'patches-applied' |
183 | - target_head_name = spi.applied_head_name(namespace) |
184 | else: |
185 | import_type = 'patches-unapplied' |
186 | - target_head_name = spi.head_name(namespace) |
187 | |
188 | # Do not show importer/ namespace to user |
189 | _, _, pretty_head_name = target_head_name.partition('%s/' % namespace) |
190 | @@ -496,7 +495,7 @@ def get_import_commit_msg( |
191 | msg = ( |
192 | b'Import %s version %b to %b\n\nImported using git-ubuntu import.' % ( |
193 | import_type.encode(), |
194 | - spi.version.encode(), |
195 | + version.encode(), |
196 | pretty_head_name.encode(), |
197 | ) |
198 | ) |
199 | @@ -517,12 +516,15 @@ def get_import_commit_msg( |
200 | |
201 | def _commit_import( |
202 | repo, |
203 | - spi, |
204 | + version, |
205 | + target_head_name, |
206 | tree_hash, |
207 | namespace, |
208 | changelog_parent_commit, |
209 | upload_parent_commit, |
210 | unapplied_parent_commit, |
211 | + fallback_author, |
212 | + fallback_date, |
213 | ): |
214 | """Commit a tree object into the repository with the specified |
215 | parents |
216 | @@ -543,16 +545,14 @@ def _commit_import( |
217 | |
218 | if unapplied_parent_commit: |
219 | import_type = 'patches-applied' |
220 | - target_head_name = spi.applied_head_name(namespace) |
221 | - if repo.get_applied_tag(spi.version, namespace) is None: |
222 | + if repo.get_applied_tag(version, namespace) is None: |
223 | # Not imported before |
224 | - tag = applied_tag(spi.version, namespace) |
225 | + tag = applied_tag(version, namespace) |
226 | else: |
227 | import_type = 'patches-unapplied' |
228 | - target_head_name = spi.head_name(namespace) |
229 | - if repo.get_import_tag(spi.version, namespace) is None: |
230 | + if repo.get_import_tag(version, namespace) is None: |
231 | # Not imported before |
232 | - tag = import_tag(spi.version, namespace) |
233 | + tag = import_tag(version, namespace) |
234 | |
235 | # Do not show importer/ namespace to user |
236 | _, _, pretty_head_name = target_head_name.partition('%s/' % namespace) |
237 | @@ -570,7 +570,7 @@ def _commit_import( |
238 | unapplied_parent_commit is None and \ |
239 | target_head_name in repo.local_branch_names: |
240 | # No parents and not creating a new branch |
241 | - tag = orphan_tag(spi.version, namespace) |
242 | + tag = orphan_tag(version, namespace) |
243 | |
244 | if changelog_parent_commit is not None: |
245 | parents.append(changelog_parent_commit) |
246 | @@ -584,20 +584,22 @@ def _commit_import( |
247 | parents, |
248 | get_import_commit_msg( |
249 | repo=repo, |
250 | - spi=spi, |
251 | + version=version, |
252 | + target_head_name=target_head_name, |
253 | namespace=namespace, |
254 | tree_hash=tree_hash, |
255 | changelog_parent_commit=changelog_parent_commit, |
256 | upload_parent_commit=upload_parent_commit, |
257 | unapplied_parent_commit=unapplied_parent_commit, |
258 | ), |
259 | - environment_spi=spi, |
260 | + fallback_author, |
261 | + fallback_date, |
262 | ) |
263 | |
264 | repo.update_head_to_commit(target_head_name, commit_hash) |
265 | |
266 | logging.debug('Committed %s import of %s as %s in %s', |
267 | - import_type, spi.version, commit_hash, pretty_head_name |
268 | + import_type, version, commit_hash, pretty_head_name |
269 | ) |
270 | |
271 | if tag is not None: |
272 | @@ -610,34 +612,44 @@ def _commit_import( |
273 | |
274 | def commit_unapplied_patches_import( |
275 | repo, |
276 | - spi, |
277 | + version, |
278 | + head_name, |
279 | import_tree_hash, |
280 | namespace, |
281 | changelog_parent_commit, |
282 | upload_parent_commit, |
283 | + fallback_author, |
284 | + fallback_date, |
285 | ): |
286 | _commit_import( |
287 | repo, |
288 | - spi, |
289 | + version, |
290 | + head_name, |
291 | import_tree_hash, |
292 | namespace, |
293 | changelog_parent_commit, |
294 | upload_parent_commit, |
295 | # unapplied trees do not have a distinct unapplied parent |
296 | None, |
297 | + fallback_author, |
298 | + fallback_date, |
299 | ) |
300 | |
301 | def commit_applied_patches_import( |
302 | repo, |
303 | - spi, |
304 | + version, |
305 | + head_name, |
306 | import_tree_hash, |
307 | namespace, |
308 | changelog_parent_commit, |
309 | - unapplied_parent_commit |
310 | + unapplied_parent_commit, |
311 | + fallback_author, |
312 | + fallback_date, |
313 | ): |
314 | _commit_import( |
315 | repo, |
316 | - spi, |
317 | + version, |
318 | + head_name, |
319 | import_tree_hash, |
320 | namespace, |
321 | changelog_parent_commit, |
322 | @@ -645,6 +657,8 @@ def commit_applied_patches_import( |
323 | # can not have them as direct parents |
324 | None, |
325 | unapplied_parent_commit, |
326 | + fallback_author, |
327 | + fallback_date, |
328 | ) |
329 | |
330 | def import_dsc(repo, dsc, namespace, version, dist): |
331 | @@ -968,7 +982,7 @@ def get_existing_applied_tags(repo, version, namespace): |
332 | return [] |
333 | |
334 | |
335 | -def override_parents(parent_overrides, repo, spi, namespace): |
336 | +def override_parents(parent_overrides, repo, version, namespace): |
337 | """ |
338 | returns: (unapplied, applied) where both elements of the tuple are commit |
339 | hash strings of the changelog parent to use, incorporating any defined |
340 | @@ -979,11 +993,11 @@ def override_parents(parent_overrides, repo, spi, namespace): |
341 | applied_changelog_parent_commit = None |
342 | |
343 | unapplied_changelog_parent_tag = repo.get_import_tag( |
344 | - parent_overrides[spi.version]['changelog_parent'], |
345 | + parent_overrides[version]['changelog_parent'], |
346 | namespace |
347 | ) |
348 | applied_changelog_parent_tag = repo.get_applied_tag( |
349 | - parent_overrides[spi.version]['changelog_parent'], |
350 | + parent_overrides[version]['changelog_parent'], |
351 | namespace |
352 | ) |
353 | if unapplied_changelog_parent_tag is not None: |
354 | @@ -992,13 +1006,13 @@ def override_parents(parent_overrides, repo, spi, namespace): |
355 | parent_changelog_version, _ = repo.get_changelog_versions_from_treeish( |
356 | str(unapplied_changelog_parent_tag.peel().id), |
357 | ) |
358 | - if parent_changelog_version != parent_overrides[spi.version]['changelog_parent']: |
359 | + if parent_changelog_version != parent_overrides[version]['changelog_parent']: |
360 | logging.error('Found a tag corresponding to ' |
361 | 'changelog parent override ' |
362 | 'version %s, but d/changelog ' |
363 | 'version (%s) differs. Will ' |
364 | 'orphan commit.' % ( |
365 | - parent_overrides[spi.version]['changelog_parent'], |
366 | + parent_overrides[version]['changelog_parent'], |
367 | parent_changelog_version |
368 | ) |
369 | ) |
370 | @@ -1010,7 +1024,7 @@ def override_parents(parent_overrides, repo, spi, namespace): |
371 | repo.tag_to_pretty_name(unapplied_changelog_parent_tag) |
372 | ) |
373 | else: |
374 | - if parent_overrides[spi.version]['changelog_parent'] == '-': |
375 | + if parent_overrides[version]['changelog_parent'] == '-': |
376 | logging.debug('Not setting changelog parent as specified ' |
377 | 'in override file.' |
378 | ) |
379 | @@ -1018,8 +1032,8 @@ def override_parents(parent_overrides, repo, spi, namespace): |
380 | raise ParentOverrideError( |
381 | "Specified changelog parent override (%s) for version " |
382 | "(%s) not found in tags. Unable to proceed." % ( |
383 | - parent_overrides[spi.version]['changelog_parent'], |
384 | - spi.version, |
385 | + parent_overrides[version]['changelog_parent'], |
386 | + version, |
387 | ) |
388 | ) |
389 | return ( |
390 | @@ -1349,7 +1363,12 @@ def import_unapplied_spi( |
391 | ( |
392 | unapplied_changelog_parent_commit, |
393 | _ |
394 | - ) = override_parents(parent_overrides, repo, spi, namespace) |
395 | + ) = override_parents( |
396 | + parent_overrides, |
397 | + repo, |
398 | + str(spi.version), |
399 | + namespace, |
400 | + ) |
401 | except ParentOverrideError as e: |
402 | logging.error("%s" % e) |
403 | return |
404 | @@ -1462,13 +1481,23 @@ def import_unapplied_spi( |
405 | if e.returncode != 1: |
406 | raise |
407 | |
408 | + fallback_author = None |
409 | + if spi.spphr.package_creator.display_name: |
410 | + fallback_author = str(spi.spphr.package_creator.display_name) |
411 | + fallback_date = None |
412 | + if spi.date_published: |
413 | + fallback_date = str(spi.date_published) |
414 | + |
415 | commit_unapplied_patches_import( |
416 | repo, |
417 | - spi, |
418 | + str(spi.version), |
419 | + spi.head_name(namespace), |
420 | unapplied_import_tree_hash, |
421 | namespace, |
422 | unapplied_changelog_parent_commit, |
423 | upload_parent_commit, |
424 | + fallback_author, |
425 | + fallback_date, |
426 | ) |
427 | |
428 | def import_applied_spi( |
429 | @@ -1534,7 +1563,7 @@ def import_applied_spi( |
430 | ) = override_parents( |
431 | parent_overrides, |
432 | repo, |
433 | - spi, |
434 | + str(spi.version), |
435 | namespace, |
436 | ) |
437 | else: |
438 | @@ -1617,11 +1646,20 @@ def import_applied_spi( |
439 | patch_desc.encode(), |
440 | patch_name.encode() |
441 | ) |
442 | + |
443 | + fallback_author = None |
444 | + if spi.spphr.package_creator.display_name: |
445 | + fallback_author = str(spi.spphr.package_creator.display_name) |
446 | + fallback_date = None |
447 | + if spi.date_published: |
448 | + fallback_date = str(spi.date_published) |
449 | + |
450 | unapplied_parent_commit = repo.commit_tree_hash( |
451 | applied_import_tree_hash, |
452 | [unapplied_parent_commit], |
453 | msg, |
454 | - spi |
455 | + fallback_author, |
456 | + fallback_date, |
457 | ) |
458 | |
459 | logging.debug( |
460 | @@ -1633,13 +1671,23 @@ def import_applied_spi( |
461 | return |
462 | raise |
463 | |
464 | + fallback_author = None |
465 | + if spi.spphr.package_creator.display_name: |
466 | + fallback_author = str(spi.spphr.package_creator.display_name) |
467 | + fallback_date = None |
468 | + if spi.date_published: |
469 | + fallback_date = str(spi.date_published) |
470 | + |
471 | commit_applied_patches_import( |
472 | repo, |
473 | - spi, |
474 | + str(spi.version), |
475 | + spi.applied_head_name(namespace), |
476 | applied_import_tree_hash, |
477 | namespace, |
478 | applied_changelog_parent_commit, |
479 | unapplied_parent_commit, |
480 | + fallback_author, |
481 | + fallback_date, |
482 | ) |
483 | |
484 | def import_publishes( |
485 | diff --git a/gitubuntu/importlocal.py b/gitubuntu/importlocal.py |
486 | index 3c881a8..8a409fe 100644 |
487 | --- a/gitubuntu/importlocal.py |
488 | +++ b/gitubuntu/importlocal.py |
489 | @@ -212,7 +212,11 @@ def main( |
490 | |
491 | msg += b'%b' % changelog_entry |
492 | unapplied_parent_commit = repo.commit_tree_hash( |
493 | - unapplied_import_tree_hash, parents, msg |
494 | + unapplied_import_tree_hash, |
495 | + parents, |
496 | + msg, |
497 | + fallback_author=None, |
498 | + fallback_date=None, |
499 | ) |
500 | if tag is None: |
501 | logging.info('Committed unapplied import of %s as %s', |
502 | @@ -244,7 +248,10 @@ def main( |
503 | unapplied_parent_commit = repo.commit_tree_hash( |
504 | applied_import_tree_hash, |
505 | [unapplied_parent_commit], |
506 | - msg) |
507 | + msg, |
508 | + fallback_author=None, |
509 | + fallback_date=None, |
510 | + ) |
511 | |
512 | logging.debug('Committed patch-application of %s as %s', |
513 | patch_name, unapplied_parent_commit |
514 | diff --git a/gitubuntu/queue.py b/gitubuntu/queue.py |
515 | index 8ea4690..19f61fb 100644 |
516 | --- a/gitubuntu/queue.py |
517 | +++ b/gitubuntu/queue.py |
518 | @@ -206,6 +206,9 @@ def _commit_upload(repo, upload, parent_commit): |
519 | tree_hash=tree_hash, |
520 | parents=parents, |
521 | log_message='Queue import'.encode(), |
522 | + fallback_author=None, |
523 | + fallback_date=None, |
524 | + |
525 | ) |
526 | |
527 | return commit_hash |
528 | diff --git a/gitubuntu/test_importer.py b/gitubuntu/test_importer.py |
529 | index a4e94d1..87db425 100644 |
530 | --- a/gitubuntu/test_importer.py |
531 | +++ b/gitubuntu/test_importer.py |
532 | @@ -126,28 +126,16 @@ def test_get_import_commit_msg( |
533 | repo.raw_repo.get(publish_oid).peel(pygit2.Tree).id |
534 | ) |
535 | |
536 | - with publish_source as dsc_path: |
537 | - spi = Mock() |
538 | - spi.dsc_pathname = dsc_path |
539 | - spi.distribution.name = 'Ubuntu' |
540 | - spi.version = publish_spec.version |
541 | - # avoid automatic parenting for head_name to make the assertion later |
542 | - # easier |
543 | - head_name = Mock(name='head_name') |
544 | - head_name.return_value = head_name_value |
545 | - spi.head_name = head_name |
546 | - spi.applied_head_name = head_name |
547 | - spi.date_published = '1970-01-01T00:00:00Z' |
548 | - |
549 | - assert target.get_import_commit_msg( |
550 | - repo, |
551 | - spi, |
552 | - 'importer', |
553 | - publish_tree_hash, |
554 | - changelog_parent_commit, |
555 | - upload_parent_commit, |
556 | - unapplied_parent_commit, |
557 | - ) == expected |
558 | + assert target.get_import_commit_msg( |
559 | + repo, |
560 | + publish_spec.version, |
561 | + head_name_value, |
562 | + 'importer', |
563 | + publish_tree_hash, |
564 | + changelog_parent_commit, |
565 | + upload_parent_commit, |
566 | + unapplied_parent_commit, |
567 | + ) == expected |
568 | |
569 | |
570 | @pytest.mark.parametrize( |
FAILED: Continuous integration, rev:66c24d69a23 45542a709482ad0 20980c2addafdb /jenkins. ubuntu. com/server/ job/git- ubuntu- ci/396/
https:/
Executed test runs:
SUCCESS: VM Setup
SUCCESS: Build
SUCCESS: Unit Tests
FAILED: Integration Tests
Click here to trigger a rebuild: /jenkins. ubuntu. com/server/ job/git- ubuntu- ci/396/ rebuild
https:/