tagger tag windows version-control usb-drive

windows - tagger - tag folders



Control de versiones en una unidad USB de 2GB (14)

Para mi trabajo escolar, cambio muchas computadoras (de laboratorios a mi laptop a la biblioteca). Me gustaría poner este código bajo algún tipo de control de versión. Por supuesto, el problema es que no siempre puedo instalar software adicional en las computadoras que uso. ¿Hay algún tipo de sistema de control de versiones que pueda mantener en una memoria USB? Tengo un disco de 2GB para poner esto, pero puedo obtener uno más grande si es necesario.

Los proyectos que estoy haciendo no son especialmente grandes para su información.

EDITAR: Esto debe funcionar en Windows.

EDIT II: Bazar terminó siendo lo que elegí. Es incluso mejor si vas con TortoiseBzr.


Bitnami stack subversion es fácil de instalar. Puede intentar instalar también xampp con portableapps.com y subversion.


Estoy usando GIT de acuerdo con la respuesta de Milan Babuškov:

(1) crear repositorio y confirmar (en la PC de la oficina)

mkdir / home / yoda / project && cd / home / yoda / project

git init

git add.

git commit -m "Hecho"

(2) inserte una memoria USB y haga una copia del repositorio

cat / proc / particiones

mount -t ext3 / dev / sdc1 / mnt / usb

git clone --bare / home / yoda / project / mnt / usb / project

(3) lleva el dispositivo USB a casa y crea un clon del repositorio en casa

cat / proc / particiones

mount -t ext3 / dev / sdc1 / mnt / usb

git clone / mnt / usb / project / home / yoda / project

(4) push commits desde la PC de casa a la memoria USB

mount -t ext3 / dev / sdc1 / mnt / usb

cd / home / yoda / proyecto

git push

(5) Lleve la memoria USB a la oficina y envíe confirmaciones desde la PC de la oficina.

mount -t ext3 / dev / sdc1 / mnt / usb

cd / mnt / usb / project

git push

(6) pull commits desde la PC de la oficina a la memoria USB

mount -t ext3 / dev / sdc1 / mnt / usb

cd / mnt / usb / project

git pull

(7) realiza commits desde la memoria USB a la PC de casa

mount -t ext3 / dev / sdc1 / mnt / usb

cd / home / yoda / proyecto

git pull


Hago esto con Git. Simplemente, crea un repositorio Git de tu directorio:

git-init git add . git commit -m "Done"

Inserte el stick, cd en el directorio en él (tengo un gran archivo ext2 que monté con -o loop), y hago:

git-clone --bare /path/to/my/dir

Luego, llevo el dispositivo a otra computadora (casa, etc.). Puedo trabajar directamente en stick, o clonar una vez más. Vaya a algún directorio en el disco duro y:

git-clone /path/to/stick/repos

Cuando termino con los cambios, hago ''git push'' para volver a pegar, y cuando estoy de regreso en el trabajo, ''git push'' una vez más para mover los cambios de stick a la computadora de trabajo. Una vez que lo configure, puede usar ''git pull'' para buscar los cambios solamente (no necesita clonar más, solo la primera vez) y ''git push'' para enviar los cambios de otra forma.

La belleza de esto es que puedes ver todos los cambios con ''git log'' e incluso mantener sincronizados algunos trabajos no relacionados cuando cambian en ambos lugares mientras tanto.

Si no te gusta la línea de comando, puedes usar herramientas gráficas como gitk y git-gui.


La mejor respuesta para usted es algún tipo de DVCS (los más populares son Git , Mercurial , Darcs , Bazaar ...). La razón es que tienes una copia completa de todo el repositorio en cualquier máquina que estés usando. No he usado estos sistemas personalmente, por lo que otros recomendarán un DVCS con una huella pequeña y buena compatibilidad de plataforma cruzada.


La memoria flash y el control de versiones no parecen una buena idea para mis oídos. Me temo que la memoria se agotará muy pronto, especialmente si utiliza varias operaciones de control de versiones que realizan muchas operaciones de disco pequeño (fusión, reversión, etc.).

Por lo menos, asegúrese de realizar una copia de seguridad del repositorio con la frecuencia que sea humanamente posible, en caso de que la unidad falle.


Me van a linchar por decir esta respuesta, pero funciona en Windows: RCS .

Simplemente RCS un directorio RCS en cada uno de los directorios con su código. Cuando llega el momento de revisar las cosas, ci -u $FILE . (Los archivos binarios también requieren que ejecute rcs -i -kb $FILE antes del primer checkin).

Dentro del directorio de RCS hay un montón de archivos ,v , que son compatibles con CVS, si desea "actualizar" a ese día (y de allí a cualquiera de los otros sistemas de VCS mencionados en otros carteles). :-)


Podrías poner los binarios de subversión allí, son solo 16 millones de megas, por lo que tendrás mucho espacio para algunos repositorios también. Puede usar los archivos binarios oficiales desde la línea de comandos o señalar una herramienta gráfica (como TortoiseSVN ) al directorio del repositorio. Si te sientes con ganas de lujo, entonces puedes manipular la unidad para ejecutar automáticamente la aplicación SVNSERVE, convirtiendo cualquier computadora en un servidor subversivo liviano en el momento en que enchufas la unidad.

Encontré algunas instrucciones para este proceso aquí .


Podrías usar Portable Python and Bazaar (Bazar es una aplicación de Python). Me gusta usar Bazar para mis proyectos personales debido a su extrema simplicidad. Además, puede ser portátil porque Python puede ser portátil. También deberá instalar sus dependencias en su instalación de Portable Python.


Recomiendo Fossil http://www.fossil-scm.org/

incluye

  • línea de comando
  • dvcs
  • plataforma cruzada (y fácil de compilar)
  • El comando ''autosync'' facilita la tarea esencial de sincronizar con una copia de seguridad.
  • la configuración del servidor de respaldo es un doddle.
  • fácil de aprender / usar
  • comunidad muy útil
  • web ui con wiki y bugtracker incluidos.
  • 3.5Mb, ejecutable único
  • una base de datos sqlite como repositorio

Solo para agregar un recurso adicional Subversion en un Stick . Acabo de configurar esto en mi unidad USB de 4GB, bastante simple e indolora.

Pensé que ahora estoy muy tentado de probar Bazar.

Actualización: he configurado PortablePython en mi unidad USB, simple, pero obteniendo bazar allí ... Me rendí, una dependencia tras otra, y como tengo svn funcionando.
Si alguien sabe de un instalador portátil fácil, me gustaría.


Subversion funcionaría un poco. Ver hilo

Personalmente, prefiero mantener todo en una sola máquina y Escritorio remoto en él.


Uso la subversión en mi memoria USB, los binarios oficiales funcionarán directamente desde la unidad. El problema con este truco es que necesita acceder a una línea de comando para que esto funcione o para poder ejecutar archivos por lotes. Por supuesto, sincronizo los archivos en mi memoria USB con un servidor que pago. Siempre puede alojar el repositorio en un escritorio (use el protocolo file: ///) si no desea obtener espacio de alojamiento en la web.



Darcs es excelente para este propósito.

  • No puedo responder por otras plataformas, pero en Windows es solo un archivo ejecutable que puedes guardar en la unidad.
  • Lo que es más importante, su interfaz de línea de comando interactiva es fantástica y muy rápidamente se vuelve intuitiva (ahora realmente extraño las confirmaciones interactivas en cualquier VCS que carezca de ellas). Tampoco necesitas memorizar muchos comandos como parte de tu flujo de trabajo normal. Esta es la razón principal por la que lo uso en git para proyectos personales.

Configuración:

darcs init darcs add -r * darcs record -am "Initial commit"

Crear un repositorio en su máquina de laboratorio:

darcs get E:/path/to/repos

Verificando lo que has cambiado:

darcs whatsnew # Show all changed hunks of code darcs whatsnew -ls # List all modified & new files

Creación interactiva de un nuevo parche a partir de sus cambios:

darcs record

Interactivamente empujando parches al repositorio en el disco:

darcs push

Se sabe que es lento para proyectos grandes, pero nunca he tenido problemas de rendimiento con los proyectos personales pequeños o medianos en los que lo he usado.

Como no es necesario realizar ninguna instalación, incluso podrías dejar el disco y coger el binario de darcs de la web. Si olvidé mi disco, saco una copia del repositorio en el que quiero trabajar desde el espejo que guardo en mi espacio web. , luego crear y enviarme parches por correo electrónico a mí mismo como archivos:

darcs get http://example.com/repos/forum/ # Make changes and record patches darcs send -o C:/changes.patch