Platinum Partner
agile,subversion,version control,tips and tricks,git

Protect Your Private Git Repos From the NSA

Thinking about shielding your private code repositories from the NSA's prying eyes may seem like an overly paranoid thought, but with the scope of major web companies' involvement I can't say I would blame anyone for bringing their repos in-house.  

While there is zero evidence that sites like GitHub or Bitbucket are sharing, or would share, private repos with the NSA, it might be interesting to consider what options a Git user has if some day they did want to self-host their repos.  Certainly, some developers don't care if the NSA finds the code to their new dating software or their movie recommendation engine (unless it's for terrorist movies! *gasp*).  But here are a few options for your perusal, should you ever need hide your code from Big Brother™.

GitHub Enterprise- If you're using github already, it might be easiest to just get the same software for your servers.  But it does have to connect to GitHub in order to verify the license, so that maybe defeats the purpose of shielding your code from the NSA.  I just wanted to keep them in the mix for those of you who aren't worried about the whole PRISM thing.

GitLab - They say they're the most installed git management app in the world.  They're built on RoR and licensed under MIT.

Gitorious - Looks like this one has a few project management-focused features like Wikis.  They are also free.

Atlassian Stash - Simple Git repository management behind the firewall and it integrates with JIRA of course.

CollabNet CloudForge (Enterprise Edition) - CollabNet will also do a Subversion repository if that's your current flavor of version control.

Girocco - Here's another free option but as you might expect, it's more of a raw experience.

UPDATE:

GitBlit (courtesy of John Crygier's comment) - A pure java git solution, built on top of JGit.  See John's comment for his review.

Did I miss any?  Anybody have any good suggestions for self-hosting options that aren't Git-specific?  Subversion or Mercurial for example?

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}