/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/plugins/propose/launchpad.py

  • Committer: Jelmer Vernooij
  • Date: 2020-02-21 03:58:42 UTC
  • mfrom: (7490.3.4 work)
  • mto: This revision was merged to the branch mainline in revision 7495.
  • Revision ID: jelmer@jelmer.uk-20200221035842-j97r6b74q8cgxb21
merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
258
258
        return "~%s/%s" % (owner, project)
259
259
 
260
260
    def _publish_git(self, local_branch, base_path, name, owner, project=None,
261
 
                     revision_id=None, overwrite=False, allow_lossy=True):
 
261
                     revision_id=None, overwrite=False, allow_lossy=True,
 
262
                     tag_selector=None):
262
263
        to_path = self._get_derived_git_path(base_path, owner, project)
263
264
        to_transport = get_transport("git+ssh://git.launchpad.net/" + to_path)
264
265
        try:
270
271
        if dir_to is None:
271
272
            try:
272
273
                br_to = local_branch.create_clone_on_transport(
273
 
                    to_transport, revision_id=revision_id, name=name)
 
274
                    to_transport, revision_id=revision_id, name=name,
 
275
                    tag_selector=tag_selector)
274
276
            except errors.NoRoundtrippingSupport:
275
277
                br_to = local_branch.create_clone_on_transport(
276
278
                    to_transport, revision_id=revision_id, name=name,
277
 
                    lossy=True)
 
279
                    lossy=True, tag_selector=tag_selector)
278
280
        else:
279
281
            try:
280
282
                dir_to = dir_to.push_branch(
281
 
                    local_branch, revision_id, overwrite=overwrite, name=name)
 
283
                    local_branch, revision_id, overwrite=overwrite, name=name,
 
284
                    tag_selector=tag_selector)
282
285
            except errors.NoRoundtrippingSupport:
283
286
                if not allow_lossy:
284
287
                    raise
285
288
                dir_to = dir_to.push_branch(
286
289
                    local_branch, revision_id, overwrite=overwrite, name=name,
287
 
                    lossy=True)
 
290
                    lossy=True, tag_selector=tag_selector)
288
291
            br_to = dir_to.target_branch
289
292
        return br_to, (
290
293
            "https://git.launchpad.net/%s/+ref/%s" % (to_path, name))
310
313
 
311
314
    def _publish_bzr(self, local_branch, base_branch, name, owner,
312
315
                     project=None, revision_id=None, overwrite=False,
313
 
                     allow_lossy=True):
 
316
                     allow_lossy=True, tag_selector=None):
314
317
        to_path = self._get_derived_bzr_path(base_branch, name, owner, project)
315
318
        to_transport = get_transport("lp:" + to_path)
316
319
        try:
321
324
 
322
325
        if dir_to is None:
323
326
            br_to = local_branch.create_clone_on_transport(
324
 
                to_transport, revision_id=revision_id)
 
327
                to_transport, revision_id=revision_id, tag_selector=tag_selector)
325
328
        else:
326
329
            br_to = dir_to.push_branch(
327
 
                local_branch, revision_id, overwrite=overwrite).target_branch
 
330
                local_branch, revision_id, overwrite=overwrite,
 
331
                tag_selector=tag_selector).target_branch
328
332
        return br_to, ("https://code.launchpad.net/" + to_path)
329
333
 
330
334
    def _split_url(self, url):
341
345
 
342
346
    def publish_derived(self, local_branch, base_branch, name, project=None,
343
347
                        owner=None, revision_id=None, overwrite=False,
344
 
                        allow_lossy=True):
 
348
                        allow_lossy=True, tag_selector=None):
345
349
        """Publish a branch to the site, derived from base_branch.
346
350
 
347
351
        :param base_branch: branch to derive the new branch from
360
364
            return self._publish_bzr(
361
365
                local_branch, base_branch, name, project=project, owner=owner,
362
366
                revision_id=revision_id, overwrite=overwrite,
363
 
                allow_lossy=allow_lossy)
 
367
                allow_lossy=allow_lossy, tag_selector=tag_selector)
364
368
        elif base_vcs == 'git':
365
369
            return self._publish_git(
366
370
                local_branch, base_path, name, project=project, owner=owner,
367
371
                revision_id=revision_id, overwrite=overwrite,
368
 
                allow_lossy=allow_lossy)
 
372
                allow_lossy=allow_lossy, tag_selector=tag_selector)
369
373
        else:
370
374
            raise AssertionError('not a valid Launchpad URL')
371
375