Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
OK, so my preferred Code Management System is CMS (it's an OpenVMS layered product, you've probably never heard of it, ten points if you've used it).

In CMS, there is the concept of a Class (not related to OOP, read on). They're a very powerful feature for an enterprise-quality versioning system.

In TFS (TFVC), which I have been using at work for the last few years, there is the concept of a Label -- which is essentially the same thing as a Class in CMS. Yay! So my team and I have been using them extensively.

But, Subversion doesn't have this feature, and as far as I can tell Git doesn't either.

When I ask about this, the standard response is, "that's a Tag, they're the same thing".

But they are not the same thing.

From what I can tell, a Tag (in Git and Subversion) contains a version of all files in the project, and all the versions represent the same point in time.

That is not how Classes (in CMS) and Labels (in TFS) work. A Class or Label contains a subset of the files in the project, and the versions of the files do not have to be from the same point in time.

In my experience, Classes and Labels are very useful, Tags are not.
A Label can be used like a Tag, but a Tag cannot be used like a Label.

Anyway, at work, there is now a push to get everyone using Git, and I am quite certain that it is unusable for our purposes (in fact, I don't see how any project of reasonable size can use it), so I need to know whether or not there is something I'm missing.

Is there a feature in Git which works like TFS' Labels?
Can a Tag, in fact, contain a subset of the files? Of versions which aren't all from the same point in time?

What I have tried:

A bit of online research, but no one on my team has yet turned anything up.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900