Hi,
We recently started evaluating stash. We are a small company, but very geographically diverse with several different offices on 3 different continents.
With other source control systems, we have always relied on a proxy/replica server at each office with some sort of centralized "master"
How does this fit into the git/stash architecture?
Would we run multiple instances of stash at each site to handle latency issues?
thanks,
Garret
Hi Garret,
TLDR; You can absolutely mirror Git/Stash if you require it, but using Git greatly reduces the need to do so.
As you probably know Git is a DVCS (Distributed Version Control System). Being distributed means that a majority of your operations, like commit/log/blame/checkout/branch, are completely local. Unlike in other source control systems, like SVN/Clearcase/TFS, you're not contacting the server to do every-single-thing. This greatly reduces the need for having to rely on proxy/replica servers.
If latency is still causing you frustrations despite all this, there is no technical reason you couldn't run proxy Stash servers. Being a DVCS, with Git it's a simple matter of pushing all changes from the "master" server to each proxy after it receives some new changes. The part that Stash doesn't (yet) support out-of-the-box is a mirror plugin. It would be a relatively trivial task to either write a plugin that listens for push events, or to manually add a post-receive hook to your Git repositories in Stash, and on either event replicate to the proxies (ie push to each of them in turn). There is an issue you can follow/vote on if you're interested:
https://jira.atlassian.com/browse/STASH-2714
I hope this helps answer your question.
Charles
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.