El mejor control de código fuente para un entorno universitario (baja sobrecarga para gestionar repositorys)

¿Alguien sabe de una solución (alojada en la web o de otro tipo) para un sistema de control de código fuente que funcionaría bien en un entorno universitario donde la tecnología de la información es el centro de atención? Nos gustaría ofrecerlo como un "service de control de versiones" en todo el campus, al igual que las universidades lo hacen con un service de correo electrónico. Específicamente, estoy hablando de las siguientes peculiaridades:

  1. Hay una gran cantidad de repositorys nuevos creados / gestionados cada semestre . Cualquier curso de progtwigción o proyecto de investigación podría requerir que los estudiantes usen el control del código fuente, en varios entornos de código fuente (incluidos .NET, Java, C ++, LaTeX).
  2. Los estudiantes deberían ser capaces de crear y administrar los repositorys . Involucrar a un administrador / instructor / etc. no es escalable de lo contrario.
  3. El almacenamiento del repository debe ser seguro (privado) y archivable para respetar la propiedad intelectual (evitando el plagio, protegiendo la PI de la investigación).
  4. Cualquiera o todos los sabores del control de código fuente (por ejemplo, CVS / SVN / GIT) serían aceptables.
  5. El acceso remoto a los repositorys es esencial . Los estudiantes / investigadores tienen la libertad de trabajar en espacios de laboratorio designados o de forma remota. Los instructores que han "verificado" el código en cualquier lugar pueden marcar las asignaciones.
  6. Si existe una licencia académica, debe escalar para> 500 estudiantes .

Muchos productos comerciales / gratuitos (basados ​​en la web u otros) no satisfacen las condiciones n. ° 1 y n. ° 2, ya que requieren que los superusuarios administren counts / repositorys / accesos. Soluciones como Google Code, sourceforge.net, GitHub, etc. no satisfacen la condición n. ° 3, ya que los repositorys siempre son públicos.

Aquí hay uno gratis: http://gitlabhq.com/ Puede agregar repositorys sobre esta herramienta. Para security, usa keys RSA.

Y sugeriría usar Git. SVN y CVS están desactualizados.

GitHub parece satisfacer sus requisitos. Puede configurar su propia instancia en su intranet; https://enterprise.github.com/

Puede usar git en el almacenamiento de files privados de los estudiantes si tienen tal cosa, git no requiere alojamiento más que un lugar para almacenar files.

  • Redmine (SVN, CVS, Git, Mercurial, Bazar y Darcs)
  • UberSVN (SVN)
  • Assembla privado (?) (SVN, Git, Mercurial)

Una solución que uso es crear un repository maestro de GIT en un contenedor encryption de tamaño variable Truecrypt. El contenedor se coloca en una carpeta de Dropbox. El repository se clona en el disco duro local, que se convierte en el directory de trabajo. Todo el trabajo está hecho y registrado en el repository local. Escribí guiones que montan el contenedor encryption, empuja / tira el repository local al repository maestro y desmonta el contenedor encryption. Dropbox detecta los cambios en el contenedor encryption y lo sincroniza con el server de Dropbox. La security se mantiene ya que un file encryption es lo único que se envía al server. La única manera real de garantizar la security es realizando la encriptación usted mismo.

Todo lo que necesita para configurar esto es unas pocas secuencias de commands, Truecrypt instalado y una count de Dropbox. Probablemente podría escribir algún software básico para automatizar algunos de los pasos. Para que sea escalable y de bajo costo, los pasos básicos siguen siendo válidos. Cree un repository principal y local, encripte el repository maestro, trabaje en el repository local y sincronice los cambios al máster, haga una copy de security del repository maestro encriptado en línea o en un server.

    Intereting Posts