Deleting a tag from a bound branch

Eli Zaretskii eliz at gnu.org
Sun Nov 13 11:07:54 UTC 2011


> Date: Sun, 13 Nov 2011 10:50:28 +0000
> From: Max Bowsher <_ at maxb.eu>
> 
> Bazaar's tags are not stored in a way that history is tracked - the data
> structure is effectively just a single dictionary/map persisted on disk.
> As a result, the process of merging/updating tags from one branch to
> another is simply "add all present in source not present in destination;
> warn user if source and destination define the same tag differently".
> 
> This basically means that tag additions can propagate via update etc.,
> tag deletions do not propagate (and get undone when seen as an addition
> if bzr push etc. is invoked), and tag changes cause "Conflicting tags"
> warnings, which have to be manually resolved at every step of propagation.

Thanks for the explanations.

But this makes "bzr tag --delete" effectively a no-op, doesn't it?
The only situation where this would work is in a local branch that is
not tracked by anyone else, which is kinda against the raison d'etre
of a dVCS.

Is there _any_ procedure that would remove a tag for good, in a way
that will propagate to downstream branches?  Tags pointing at
non-existent revisions, for example, are serving no purpose except
tripping various commands and plugins (see, for example,
https://bugs.launchpad.net/bugs/857273).



More information about the bazaar mailing list