Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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
Community showcase
Published in Sourcetree

Sourcetree for Windows - CVE-2019-11582 - Remote Code Execution vulnerability

A vulnerability has been published today in regards to Sourcetree for Windows.  The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...

5,011 views 0 12
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you