Merge ~nacc/git-ubuntu:importer-spi-refactoring into git-ubuntu:master

Proposed by Nish Aravamudan
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)
Reviewer Review Type Date Requested Status
Server Team CI bot continuous-integration Approve
Andreas Hasenack Approve
Review via email: mp+343050@code.launchpad.net

Commit message

Make jenkins happy

To post a comment you must log in.
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

FAILED: Continuous integration, rev:66c24d69a2345542a709482ad020980c2addafdb
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/396/
Executed test runs:
    SUCCESS: VM Setup
    SUCCESS: Build
    SUCCESS: Unit Tests
    FAILED: Integration Tests

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/396/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

FAILED: Continuous integration, rev:7ad6b8012ae64baf6e22567ddcf59c1e96d9c66c
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/398/
Executed test runs:
    SUCCESS: VM Setup
    SUCCESS: Build
    SUCCESS: Unit Tests
    FAILED: Integration Tests

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/398/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

PASSED: Continuous integration, rev:299096e07467c87474e1661b32182cfe3f6602a3
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/399/
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://jenkins.ubuntu.com/server/job/git-ubuntu-ci/399/rebuild

review: Approve (continuous-integration)
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

In queue.py:205, there is a repo.commit_tree_hash() call that wasn't modified to include the new fallback parameters, which do not default to None like the previous parameter spi did:
    commit_hash = repo.commit_tree_hash(
        tree_hash=tree_hash,
        parents=parents,
        log_message='Queue import'.encode(),
    )

Similarly, in build.py:833:
            fixup_commit_hash = repo.commit_tree_hash(
                tree_hash=tree_hash,
                parents=[commitish],
                log_message=b'Automatically generated git-ubuntu fixup.',
            )
            logging.info(
"""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""",
                commitish,
                fixup_commit_hash,
                fixup_commit_hash,
            )

review: Needs Fixing
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Other comments inline.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Thanks for the changes, +1

review: Approve
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

FAILED: Continuous integration, rev:df0ed87c6b149a9045676e2ffdb56731119bded8
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/400/
Executed test runs:
    SUCCESS: VM Setup
    FAILED: Build

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/400/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

FAILED: Continuous integration, rev:df0ed87c6b149a9045676e2ffdb56731119bded8
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/401/
Executed test runs:
    SUCCESS: VM Setup
    SUCCESS: Build
    FAILED: Unit Tests

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/401/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

PASSED: Continuous integration, rev:d1a0c2b32e02628274a31fbf8947011d3fce051a
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/402/
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://jenkins.ubuntu.com/server/job/git-ubuntu-ci/402/rebuild

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/gitubuntu/build.py b/gitubuntu/build.py
2index 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
14diff --git a/gitubuntu/git_repository.py b/gitubuntu/git_repository.py
15index 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)
165diff --git a/gitubuntu/importer.py b/gitubuntu/importer.py
166index 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(
485diff --git a/gitubuntu/importlocal.py b/gitubuntu/importlocal.py
486index 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
514diff --git a/gitubuntu/queue.py b/gitubuntu/queue.py
515index 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
528diff --git a/gitubuntu/test_importer.py b/gitubuntu/test_importer.py
529index 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(

Subscribers

People subscribed via source and target branches