El primer ejemplo va a ser obtener un repositorio existente, que esta
publicado por web. Recordemos que darcs no depende de como se publiquen,
podrian ser locales, remotos por web, etc. Si en lugar de hacer esto,
hicieramos un "cp -a", o nos lo pasaran en un archivo comprimido seria igual
de valido.
Vamos a usar un repositorio real, chico y con pocos cambios.
# darcs get http://auriga.wearlab.de/~alb/repos/libfilo Copying patch 23 of 23... done! Applying patches to the "working" directory... .............................................. Finished getting. # Vemos que se bajo el repo # ls -l total 12 4 drwxr-xr-x 5 root root 4096 May 18 00:46 libfilo # cd libfilo # ls -l total 44 drwxr-xr-x 7 root root 4096 May 18 00:50 _darcs drwxr-xr-x 2 root root 4096 May 18 00:50 doc -rw-r--r-- 1 root root 1150 May 18 00:50 INSTALL -rw-r--r-- 1 root root 12706 May 18 00:50 libfilo.c -rw-r--r-- 1 root root 2084 May 18 00:50 libfilo.h -rw-r--r-- 1 root root 1077 May 18 00:50 Makefile -rw-r--r-- 1 root root 1159 May 18 00:50 README drwxr-xr-x 2 root root 4096 May 18 00:50 tests # Revisamos los ultimos 5 cambios, de chusmas nomas # darcs changes --last=5 Wed Apr 27 18:39:46 ART 2005 Alberto Bertogli <albertogli@telpin.com.ar> tagged 0.11 Wed Apr 27 18:10:46 ART 2005 Jose Aureliano Buendia <jaureliano@buendia.com> * Force the library to be compiled with LFS support. Wed Apr 27 18:10:15 ART 2005 Remedios Moscote <remedios@moscote.com> * Update the README to add the new manpage. Wed Apr 27 18:04:24 ART 2005 Alberto Bertogli <albertogli@telpin.com.ar> * Add an INSTALL document. Wed Apr 27 18:04:09 ART 2005 Alberto Bertogli <albertogli@telpin.com.ar> * Add manpage support in the Makefile. #Notemos que el ultimo cambio es distinto, se llama "tag" y lo usamos para versionar el repositorio, poniendole marcas con nombres a medida que querramos, que refieren al estado del repositorio en ese momento. Se hacen con "darcs tag".
Un rato despues queremos actualizar nuestro repositorio, bajandonos cualquier
cambio que este en el remoto que nosotros no tengamos.
Le pasamos como primer parametro el repositorio del cual queremos ver los cambios, y si lo omitimos usa el ultimo que usamos. # darcs pull Pulling from "http://auriga.wearlab.de/~alb/repos/libfilo"... No remote changes to pull in! # No habia nada que traer! Pero mas tarde, volvemos a probar # darcs pull Wed May 18 01:01:00 ART 2005 Amaranta Buendia <amaranta@buendia.com> * Sacar prints de debug innecesarios. Shall I pull this patch? (1/1) [ynWvxqadjk], or ? for help: y Finished pulling and applying. #Ahora trabajamos un poco nosotros en el repositorio, haciendo algunos records como ya vimos. Y despues de un rato, cuando estamos conformes, decidimos mandarle a un amigo nuestro los cambios, para que los mire y nos diga que le parecen.
Alternativa 1: darcs manda el mail # darcs send http://users.auriga.wearlab.de/~alb/repos/libfilo Wed May 18 01:01:00 ART 2005 Aureliano Buendia <aureliano@buendia.com> * Un cambio poco relevante. Shall I send this patch? (1/1) [ynWvxqadjk], or ? for help: y What is the target email address? Arcadio Buendia <arcadio@buendia.com> Successfully sent patch bundle to Arcadio Buendia <arcadio@buendia.com>. # Aca, el mail se le envio a Arcadio con esos cambios
Alternativa 2: darcs nos deja un archivo para enviar adjunto # darcs send -o /tmp/enviar http://users.auriga.wearlab.de/~alb/repos/libfilo Wed May 18 01:01:00 ART 2005 Aureliano Buendia <aureliano@buendia.com> * Un cambio poco relevante. Shall I send this patch? (1/1) [ynWvxqadjk], or ? for help: y # Aca nos dejo el archivo "/tmp/enviar" con los cambios seleccionadosAhora pensemos que a nosotros nos llega un mail con los cambios en un archivo adjunto, el cual grabamos en /tmp/para_aplicar y queremos aplicar a nuestro repositorio.
# darcs apply /tmp/para_aplicar Finished applying... # Termino de aplicar, miramos el changelog de curiosos nomas # darcs chan --last=2 Wed May 18 00:24:00 ART 2005 Apolinar Moscote <apolinar@moscote.com> * Reordenamos las funciones, porque si. Wed May 18 01:01:00 ART 2005 Aureliano Buendia <aureliano@buendia.com> * Un cambio poco relevante. #No hay muchas mas operaciones básicas que estas, la gracia del asunto esta en como la combinacion de las mismas puede presentar situaciones delicadas, que vamos a ver un poco en el siguiente y ultimo ejemplo.