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

TFS with git repository and Stash integration - is it possible?

With TFS 2013 Microsoft supports git repository. I was wondering is it possible to have Stash and TFS on the same "central" repository?

My goal is to have the same repository that is hosted in TFS (all devs are pushing and pulling to it) also to be served by Stash? Stash have a lot of features that I would like to see in addition to the existing TFS ones.

1 answer

1 accepted

0 votes
Answer accepted

Hi Nikolay,

The answer is "it depends". Being a distributed version control it's easy to host the same Git repository in multiple places (eg TFS and Stash). By that I mean you can have a copy of the repository in Stash and TFS, but you will still need a way of manually keeping them in sync. For example you might set up a CI build that periodically pulls from TFS and pushes back to Stash.

Where things get tricky is when you want to push or update both of them at different times. At that point you have to deal with the possibility that the same branch will be modified (differently) in both places and then you will need someone to manually dealing with the "conflict", at a minimum you will need to merge the two branches and push back to both of them. Basically it's easier if you don't allow it at all. :)

If you just want to have Stash as a read-only copy and use it for browsing and such then that should work fine. You can even create pull requests for reviews, although I wouldn't recommend you actually do the merge directly in Stash. You may even want to add branch permissions to restrict everyone (but the CI build) from accidentally pushing to the wrong place.

Does that make sense?


If the goal was to have them somehow working - yep that will do the job, but I do not see realy the value of doing that in my situation. I will kinda loose the "live" view of the code and etc.

I would of be realy happy if the internal directory for given repository in Stash is configurable.

For example if TFS creates the central project repo under "c:\Program Files\TFS\Repos\Project1"

I would of just set that path in Stash cofing for ex:"Stash Project1 Options - server repo path" and Shash would picked up and do its magic :)

Do you expose configuration like that?

Hi Nikolay,

I'm afraid it's not quite as simple as making the two share a single filesystem. Stash needs to be notified when changes occur so we can update our various indexes. If you're not pushing to Stash directly then it will stop functioning as expected. The same would almost certainly be true for TFS or any non-trivial Git hosting solution. In any case we don't expose that configuration and I highly recommend that you don't do it.

Depending on how frequent you run a sync builds, which would only take a few seconds, or better yet have them trigger off a webhook (ie when someone pushes), the view would extremely close to "live".



Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bitbucket

Atlassian supported Jenkins integration for Bitbucket Server

We’ve been building a plugin to integrate Bitbucket Server and Jenkins CI, and I’m excited to announce that our alpha is ready to download and install. It lets you seamlessly configure a Jenkins job ...

986 views 1 17
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