Good Source Control Hosting For Privacy? - version-control

I'm looking for a very private source control/hosting solution. Short of hosting my own, and seeing as I'm the only collaborator, what is a good service for this?
I'm using Git. The most important aspect is privacy. I don't want anyone to see my code, I'm simply using it for source control/backup. I will be the only developer.

Virtual Private Servers
You haven't mentioned the budget so I'm going to assume that it's not that important for you. We have all of our source code on virtual servers hosted by Slicehost (you could pick any other VPS provider) and we access them over ssh. The big advantages:
(a) Private - you need ssh to access the box
(b) Accessible anywhere there's a network connection
(c) Nightly & weekly Backups are included for free
I'm a fan of Slicehost (been using them for over two years now) but you could set up the same system with any VPS provider. There's and article on setting up git on Slicehost here

Related

advice needed on microserver hardware for small business github and CI services

Me and my friends are setting up a small indie company for gaming. I want to get a server to install github on for our private repos and then also install jenkins for continuous integration testing. When it comes to servers I have no idea about the hardware and wanted to make sure I knew what I was doing before spending money.
I have my eye on this http://www.amazon.co.uk/HP-G1610T-ProLiant-Micro-Server/dp/B00DDIC1DA
Now if I bought 2 WD red 1TB drives and configured them as raid1 could I use the above to install windows 7 on with github and Jenkins to achieve everything I wish to do? We have very little funds and the above is our financial limit.
Thanks for taking the time to read this.
I can't see a reason to run your own server if you're that constrained funding-wise. I'd look into Bitbucket or similar for a private git repo, and there are plenty of free-tier server offerings with Jenkins support (e.g., OpenShift). If it were me, I'd save the money for something else.

pros/cons of running own version control server

I do mostly small projects as a part of my research at the university, and have been using our SVN server, and also played around with Mercurial in connection with SourceForge.
I am wondering if running Mercurial or any other kind of version control on my home server would make sense. The SVN server I use at work is behind the university firewalls, and between the IT-department of the building and our IT-responsible in our department I think it's much of a hassle of starting new projects on the server and coding when I am at home. I have a Drobo FS (NAS) at home which I could imagine using for running a version control server, so that I can easily reach my code wherever I happen to be, without having to put my code on a 3rd party server.
What are the pros/cons of this approach compared to getting an account at a project hosting site with support for private projects? Is it feasible? If so, would it imply a significant maintenance workload?
The pros are that you are in full controll of your server:
you can set it up any way you want it
noone else has access to your source/project
The cons are that you are the only one that is responsible: you have to
ensure the proper setup
do maintenance
perform upgrades
ensure protection against power outages
ensure adequate security measures
ensure reguar back-up
etc.
Of course you should do it as soon as you have projects you don't want to open on servers like github.
Most small private teams have a source server, no reason not to have one. For example gitolite is easy to install and use (I don't know for Mercurial but I think there is an easy to install solution too, probably even easier).
A side effect would be you could use something a little more modern than svn, for example a decentralized vcs you could use at home and synchronize with your server (no need to use a server for every manipulation when using mercurial and git : just set up a local repository and push to your server from time to time).
Whenever you have distributed development (either because of a team across different geographical sites, or because you develop from different sites), a DVCS makes sense.
Don't forget that, on one site, if your team members have access to the git/mercurial repo filesystem (ie the shared path of the repo), you don't even need a server at all. Those DVCS supports filesystem protocol access (albeit without authentication or authorization), aka local protocol.
You can also share your project across sites with an external service like BitBucket (supporting both public and private projects, for Git or Mercurial)
If you have write access to university network (through an USB key for instance), you don't even need to access that external service (BitBucket could be blocked, it wouldn't matter).
A git bundle allows you to export a git repo as one file, from which you can pull from as it was a repo.
So you have various options in order to access/manage a repo from different site, without having to register yourself to a centralize server (like your SVN), which you couldn't access from any site (like from home).

Best source code control for a university environment (low overhead to manage repositories)

Does anyone know of a solution (web hosted or otherwise) for a source code control system that would work well in a university environment where information technology is the focus? We'd like to offer it as a campus-wide "version-control service", much like universities do with an email service. Specifically, I'm talking about the following peculiarities:
There are a large number of new repositories created/managed each semester. Any programming course or research project could require students to use source code control, in various source code environments (including .NET, Java, C++, LaTeX).
Students should be able to create and manage themselves the repositories. Involving an administrator/instructor/etc. is not scalable otherwise.
Repository storage should be secure (private), and archivable for respecting intellectual property (preventing plagiarism, protecting research IP).
Any or all of the flavors of source code control (e.g., CVS/SVN/GIT) would be acceptable.
Remote access to repositories is essential. Student/researchers have freedom to work either in designated lab spaces or remotely. Marking of assignments can be done by instructors who've "checked out" the code anywhere.
If an academic license exists, it must scale for >500 students.
Many commercial/free products (web-based or otherwise) don't satisfy conditions #1 and #2, as they require superusers to administer accounts/repositories/accesses. Solutions such as Google Code, sourceforge.net, GitHub, etc. don't satisfy condition #3, as the repositories are always public.
Here's free one: http://gitlabhq.com/
You can add repositories over this tool.
For security you use RSA Keys.
And I would suggest to use Git. SVN and CVS are outdated.
GitHub would appear to satisfy your requirements. You can set up your own instance in your intranet; https://enterprise.github.com/
You could use git in the students private file storage if they have such a thing, git doesn't require hosting other than a place to store files.
Redmine (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
UberSVN (SVN)
Private Assembla (?) (SVN, Git, Mercurial)
One solution I use is to create a master GIT repository in a Truecrypt variable size encrypted container. The container is placed in a Dropbox folder. The repository is cloned to the local hard drive which becomes the working directory. All the work is done and checked in on the local repository. I wrote scripts that mount the encrypted container, pushes/pulls the local repo to the master repo and dismounts the encrypted container. Dropbox detects the changes in the encrypted container and syncs it to the Dropbox server. Security is maintained as an encrypted file is the only thing sent to the server. Only real way to ensure security is doing the encryption yourself.
All you need to set this up is a few scripts, truecrypt installed and a Dropbox account. Could probably write some basic software to automate some of the steps. To make it scaleable and low cost, the basic steps are still valid. Create a master and local repository, encrypt the master repo, work on the local repo and sync changes to the master, back up the encrypted master repo online or on a server.

How do I setup a version control repository on a web hosting account?

I'd like to work on my own projects on different computers...on the road on a laptop, or at home on the desktop, or even at work. I'd like to keep the data relatively private, and I don't want to pay for private repositories on github.
Ideally, I'd host a git or svn repository on my web host, or something like that. Can I do that? Or is there a web services-based version control system out there that accomplishes the same thing?
I use beanstalk for my development (svn). You could also try github (git obviously).
I use beanstalk as well for about 2 months now, I'm very happy with it, it also has integration to lighthouse so I can close bugs/issues with commit to SVN.
I also have a local VPS server hosted and I installed the VisualSvn Server on it, it works great but it's a bit on the expensive side.
My hosting provider, Dreamhost, provides Subversion repositories (along with Trac). However, if you can install a repository depends mostly on your hosting provider and what features they allow. Some make it easy, others won't allow you to install what you need to even set one up.

online private source control system

I am looking for a private online source control system. Basically what I want is a private version of Google Code or SourceForge. Private in the sense that only me and the person I invite can view the source code. The source code in the source control should not be exposed to search engines or other people without the proper viewing rights.
I prefer to hold the source code on other servers, not on my machine. I don't want to handle all the database maintenance and backup and things like that. In exchange for this I don't mind to pay a monthly access fee for this.
Any ideas?
Atlassian's BitBucket just announced Git repositories last week. Bit bucket allows unlimited private repositories for free. You need to pay if you want more than 5 users.
A vote here for Unfuddle
The free offering has 200mb and unlimited (numbers of) git/svn repositories within that 200mb.
Assembla - for Subversion - www.assembla.com. Free Subversion / Trac
A friend of mine recently told me about bitbucket by ATLASSIAN
This is a great one, including their free plan version.
GitHub can do that (with a paid-for account).
I know this question has been posted a while ago. But, how about this:
If you're developing from a Windows machine, download the Google Drive client and sync your Google Driver folders on your local machine. Within those synced folders, create one called repository or something.
Then using git, you create a bare repository in that folder. Or in Bazaar, a repository with no-trees. This will create a repository that will not contain the actual working files, but just keep the revision history. This has the advantage of saving disk space as well as letting you pull and push from/to it like a centralized repo.
And since it is within your Google Drive synchronized folders, it will be backed up on Google drive and synced. And you can allow access to your folders using email addresses.
For Subversion I use DevjaVu.