Page MenuHomePhabricator

Add Mercurial tag/bookmark support to Diffusion
Open, WishlistPublic

Description

We do not currently support showing tags and bookmarks in Mercurial remotes in Diffusion.

Revisions and Commits

Event Timeline

epriestley changed file(s), attached 0: ; detached 0: .Apr 17 2012, 5:33 PM
epriestley triaged this task as Normal priority.Apr 17 2012, 5:34 PM
epriestley changed file(s), attached 0: ; detached 0: .Apr 18 2012, 4:55 PM
epriestley changed file(s), attached 0: ; detached 0: .Apr 20 2012, 7:21 PM
epriestley changed file(s), attached 0: ; detached 0: .Apr 24 2012, 3:08 PM
epriestley changed file(s), attached 0: ; detached 0: .Apr 25 2012, 4:15 PM
epriestley renamed this task from Add tag support to Diffusion to Add Mercurial tag support to Diffusion.Apr 30 2012, 10:51 PM
epriestley lowered the priority of this task from Normal to Low.

Repri since I think we have full Git support now.

epriestley lowered the priority of this task from Low to Wishlist.Jan 3 2014, 5:19 PM

Repri to "basically never" now that I have learned more about Mercurial tags.

Repri to "basically never" now that I have learned more about Mercurial tags.

Just curious, what about Mercurial tags resulted in the priority drop?

They're a function of an individual commit instead of being a function of the repository as a whole, so we'd have to do a lot more work to support them (it's not meaningful to, say, "list all tags in the repository", as it is with Git), and I suspect they're not used much in the wild because of how they work. I'm not sure if this is true or not.

At least Python and Mercurial itself use tags extensively, and there are many more projects that do.

Listing all tags is straightforward at tip (hg tags), but, as you indicated correctly, they can be altered freely since they reside in the .hgtags file.

However, since the browse view (to my knowledge) displays the repository at tip, listing the tags at that revision would be feasible. I'm not at all sure how this would work in Phabricator.

Our projects make use of mercurial tags, specifically for marking versions and for managing some repository dependencies (preventing commits being pushed upstream to repo A unless they already exist upstream in repo B).

Having the ability to see tags available at the tip repo would be nice but in our case I don't think there's any specific need to be able to see them in Phabricator.

Thanks

chad changed the visibility from "All Users" to "Public (No Login Required)".Jul 3 2015, 5:19 AM

Our projects make heavy use of mercurial tags too, for version tagging and it would be great to see them in Phabricator to easily compare files between versions (they're way more easy to remember than changeset hashes).

They're a function of an individual commit instead of being a function of the repository as a whole, so we'd have to do a lot more work to support them (it's not meaningful to, say, "list all tags in the repository", as it is with Git), ...

This is not the case. Effective tags in Mercurial are considered to be the combination of the tags in all heads (though there is potential for some conflict). The hg tags command lists such tags. With this definition, tags are indeed a function of the repository, not each commit. It's a pretty essential definition, so that if you update to an old tag, you can still see later tags in the list and update to them, and to be able to see and update to tags in other branches.

This is explained on the tag page on the Mercurial wiki.

So implementation should be fairly (though not exactly) comparable in complexity to the Git case. It would be good to have support for them in Phabricator/Diffusion.

Ah, you're right, thanks! I misread that page -- that does make Mercurial tags a lot easier to deal with.

epriestley renamed this task from Add Mercurial tag support to Diffusion to Add Mercurial tag/bookmark support to Diffusion.Mar 12 2016, 1:02 PM
epriestley removed epriestley as the assignee of this task.
epriestley updated the task description. (Show Details)