Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,369,236
Community Members
 
Community Events
168
Community Groups

How do I port the labels on my SourceSafe database to sourcetree/git tags?

I have SourceSafe databases where I have labeled various revisions. How do I port those labels over as tags when converting SourceSafe to Sourcetree/git?

1 answer

0 votes
Mikael Sandberg Community Leader Feb 12, 2019

Hi Burt,

Welcome to the Atlassian Community.

Tags in Git are different then labels that you are used to in SourceSafe. A tag in Git is associated with a commit, so it is applied to the repository as a whole, not like in SourceSafe where you can attach the label to just specific files. So it depends on how you are using labels in SourceSafe. When I did a migration from ClearCase to Git we looked into migrating multiple versions, but decided against it, and one of the reasons were the way we applied labels, and because Git does not version control directories.

If you apply a label in SourceSafe to the whole repository it would be a simple copy/paste into Git, if you are using multiple labels in SourceTree for a particular to represent a version, you would need to combine those into one in Git.

I did a quick search and found this blog post that talks about migrating from SourceSafe to Git

Hi Mike,

I read the blog post on SourceSafe to Git but I didn't understand much of the blog as the newness and unfamiliarity of the terminology stifled me.

I have used SourceSafe for many years, using it for archiving all sorts of files including circuit board designs and FPGA source files. In building FPGA code over the years, I have applied labels for different released (and unreleased) versions so I can go back to see what changed between different versions. I can also retrieve the sources which built specific versions and mix and match files from different versions if necessary.

I don't understand your examples of using labels so I can't tell which applies to me. I'm looking for the tool which converts from SourceSafe to Git to also bring along the labels automatically because I have hundreds of labels.

Thanks for any help in understanding.

Mikael Sandberg Community Leader Feb 12, 2019

So the blog mentioned a tool that will bring your SourceSafe repository over to Git, VSS2Git, but from what I could gather from the documentation it is not clear if it can bring over your labels, which would make sense since tags in Git is totally different from labels in SourceSafe.

Hopefully this will make it clearer of what I meant regarding the differences between labels in SourceSafe and tags in Git.

Lets say you have the following structure in SourceSafe:

myapp
  |____src
           |____file1.cpp
           |____file2.cpp
  |____test
           |____test1.sh

In SourceSafe you could apply a label on only test and test1.sh, since it allows you to put down a label on individual directories and files within the repository.  In Git that is not possible. A tag in Git can only applied on the repository as a whole.  So if you need to label src and test separately you would have to brake them out into their own repositories in Git.

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events