confusing ui about conflicts on updated tags

Bug #856597 reported by Glenn Morris
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Medium
Unassigned
Breezy
Triaged
Medium
Unassigned

Bug Description

Hello,

This might well be a duplicate (sorry) of an existing bug (#138802? #609197?), but I could not see that any of them explicitly mention this case. Using bzr 2.4.1:

mkdir 1
cd 1
bzr init
touch 1
bzr add 1
bzr commit -m "c1"
bzr tag tag1

cd ../

bzr branch 1 2

cd 1
touch 2
bzr add 2
bzr commit -m "c2"
bzr tag --force tag1

cd ../2
bzr pull

-> exits with non-zero status, prints "Conflicting tags: tag1"

This seems a bit weird, since tag1 has never been modified in branch 2, so why is there a conflict, why isn't it
just overwritten?

I know that I can use pull --overwrite (if no local changes in branch 2), but if there are local changes I have to use a more
complex method (as explained at http://doc.bazaar.canonical.com/latest/en/user-reference/conflict-types-help.html).
--overwrite-tags (#681792) would make it easier.

Anyway, this caused some confusion at Emacs recently:
http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00446.html

Because tags were re-used, everyone following the branch has to take non-standard steps to
update their local copies.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

When you ran "bzr tag --force tag1" you modified the tag with name "tag1" in branch 2.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Sorry, I misread the log. Please disregard my last comment.

Tags aren't versioned in Bazaar (like in Git, but unlike mercurial and Subversion which do version tags) so when pulling from another branch it is not possible for Bazaar to see which branch was modified later, just that they are different. If there is disagreement over what revision a tag points at, the local tag isn't changed and a tag conflict warning is printed.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

bug 681792 doesn't look too hard, I've pushed a branch with some initial work on it.

Revision history for this message
Glenn Morris (rgm+lp) wrote :

OK, thanks for the explanation.

Revision history for this message
Martin Pool (mbp) wrote :

So, what should we do with this bug? Just change it into "conflicting tags ui is unclear?"

Changed in bzr:
status: New → Incomplete
Revision history for this message
Glenn Morris (rgm+lp) wrote :

Personally I would be happy with a brief note (eg in the "Conflict Types" page) that says something similar to comment#2: that because bzr tags are not versioned, if you have a branch which you never modify, just
update from a parent branch, a tag conflict will occur if a tag is re-used in the parent.

Martin Pool (mbp)
Changed in bzr:
status: Incomplete → Confirmed
importance: Undecided → Medium
summary: - reusing tags creates conflict on pulling into unmodified branch
+ confusing ui about conflicts on updated tags
tags: added: confusing-ui tags
Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
Jelmer Vernooij (jelmer)
tags: removed: check-for-breezy
Jelmer Vernooij (jelmer)
Changed in brz:
status: New → Triaged
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.