What steps will reproduce the problem?
(1) Have 2 CLs, A for manifest, B for manifest-internal, make them depend on each other.
(2) Kick off a tryjob: https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8945160034959922704
What is the expected result?
Tryjob successfully applies these 2 CLs.
What happens instead?
Bootstrap stage fails due to it tries to apply manifest CL A to manifest-internal since B depends on A, but fails.
Error log:
...
14:16:40: INFO: Attempting to apply change xixuan:1077192:bfe65f74:"manifest: upgrade swarming.client to new version."
14:16:40: INFO: Applying via cherry-pick.
Trying simple merge.
Simple merge failed, trying Automatic merge.
Auto-merging full.xml
ERROR: content conflict in full.xml
fatal: merge program failed
error: could not apply bfe65f7... manifest: upgrade swarming.client to new version.
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
14:16:40: INFO: Rewinding transaction: failed changes: xixuan:1077192:bfe65f74:"manifest: upgrade swarming.client to new version.", xixuan:*632550:*e22aa3d1 .
Traceback (most recent call last):
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/patch_series.py", line 941, in _Transaction
yield
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/patch_series.py", line 886, in Apply
self._ApplyChanges(inducing_change, transaction_changes)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/patch_series.py", line 110, in f
return functor(self, parent, *args, **kwargs)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/patch_series.py", line 976, in _ApplyChanges
self.ApplyChange(change)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/patch_series.py", line 306, in f
return functor(self, *args, **kwargs)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/patch_series.py", line 342, in ApplyChange
return change.ApplyAgainstManifest(self.manifest, trivial=False)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/patch.py", line 1295, in ApplyAgainstManifest
trivial=trivial)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/patch.py", line 1190, in Apply
return self._ApplyHelper(git_repo, upstream, trivial, inflight, use_merge)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/patch.py", line 1201, in _ApplyHelper
do_apply(git_repo, trivial=trivial, inflight=inflight)
File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/patch.py", line 1119, in CherryPick
raise ApplyPatchException(self, inflight=inflight, files=conflicts)
DependencyError: CL:*632550 depends on CL:1077192, which conflicted with ToT.
Comment 1 by jclinton@chromium.org
, May 30 2018Status: Available (was: Untriaged)