问题
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.
回答1:
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.
回答2:
GitHub would appear to satisfy your requirements. You can set up your own instance in your intranet; https://enterprise.github.com/
回答3:
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.
回答4:
- Redmine (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
- UberSVN (SVN)
- Private Assembla (?) (SVN, Git, Mercurial)
回答5:
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.
来源:https://stackoverflow.com/questions/9693202/best-source-code-control-for-a-university-environment-low-overhead-to-manage-re