3 <title>darcs :: Ejemplo 2</title>
4 <link rel="stylesheet" type="text/css" href="../style.css">
8 <h2>Ejemplo 1 - Vemos la luz</h2>
10 Ahora que ya sabemos operar con las cosas mas comunes, vamos a ver como
11 interactuamos con otros repositorios, sean o no nuestros.<p>
13 El primer ejemplo va a ser obtener un repositorio existente, que esta
14 publicado por web. Recordemos que darcs no depende de como se publiquen,
15 podrian ser locales, remotos por web, etc. Si en lugar de hacer esto,
16 hicieramos un "cp -a", o nos lo pasaran en un archivo comprimido seria igual
18 Vamos a usar un repositorio real, chico y con pocos cambios.<br>
21 # darcs get http://auriga.wearlab.de/~alb/repos/libfilo
22 Copying patch 23 of 23... done!
23 Applying patches to the "working" directory...
24 ..............................................
27 <tt class=nota>Vemos que se bajo el repo</tt>
30 4 drwxr-xr-x 5 root root 4096 May 18 00:46 libfilo
34 drwxr-xr-x 7 root root 4096 May 18 00:50 _darcs
35 drwxr-xr-x 2 root root 4096 May 18 00:50 doc
36 -rw-r--r-- 1 root root 1150 May 18 00:50 INSTALL
37 -rw-r--r-- 1 root root 12706 May 18 00:50 libfilo.c
38 -rw-r--r-- 1 root root 2084 May 18 00:50 libfilo.h
39 -rw-r--r-- 1 root root 1077 May 18 00:50 Makefile
40 -rw-r--r-- 1 root root 1159 May 18 00:50 README
41 drwxr-xr-x 2 root root 4096 May 18 00:50 tests
43 <tt class=nota>Revisamos los ultimos 5 cambios, de chusmas nomas</tt>
44 # darcs changes --last=5
45 Wed Apr 27 18:39:46 ART 2005 Alberto Bertogli <albertogli@telpin.com.ar>
48 Wed Apr 27 18:10:46 ART 2005 Jose Aureliano Buendia <jaureliano@buendia.com>
49 * Force the library to be compiled with LFS support.
51 Wed Apr 27 18:10:15 ART 2005 Remedios Moscote <remedios@moscote.com>
52 * Update the README to add the new manpage.
54 Wed Apr 27 18:04:24 ART 2005 Alberto Bertogli <albertogli@telpin.com.ar>
55 * Add an INSTALL document.
57 Wed Apr 27 18:04:09 ART 2005 Alberto Bertogli <albertogli@telpin.com.ar>
58 * Add manpage support in the Makefile.
62 Notemos que el ultimo cambio es distinto, se llama "tag" y lo usamos para
63 versionar el repositorio, poniendole marcas con nombres a medida que
64 querramos, que refieren al estado del repositorio en ese momento. Se hacen con
67 Un rato despues queremos actualizar nuestro repositorio, bajandonos cualquier
68 cambio que este en el remoto que nosotros no tengamos.<br>
71 <tt class=nota>Le pasamos como primer parametro el repositorio del cual
72 queremos ver los cambios, y si lo omitimos usa el ultimo que usamos.</tt>
74 Pulling from "http://auriga.wearlab.de/~alb/repos/libfilo"...
75 No remote changes to pull in!
77 <tt class=nota>No habia nada que traer! Pero mas tarde, volvemos a probar</tt>
79 Wed May 18 01:01:00 ART 2005 Amaranta Buendia <amaranta@buendia.com>
80 * Sacar prints de debug innecesarios.
81 Shall I pull this patch? (1/1) [ynWvxqadjk], or ? for help: y
82 Finished pulling and applying.
86 Ahora trabajamos un poco nosotros en el repositorio, haciendo algunos records
87 como ya vimos. Y despues de un rato, cuando estamos conformes, decidimos
88 mandarle a un amigo nuestro los cambios, para que los mire y nos diga que le
90 Vamos a hacer dos alternativas: o dejar que darcs mande el mail directamente,
91 o que nos genere un archivo que nosotros mandamos como attach con nuestro
93 El envio siempre se hace respecto de un repositorio remoto, y mandamos lo que
94 esta en el nuestro que no este en el otro. En este caso enviamos contra el
98 <tt class=nota>Alternativa 1: darcs manda el mail</tt>
99 # darcs send http://users.auriga.wearlab.de/~alb/repos/libfilo
100 Wed May 18 01:01:00 ART 2005 Aureliano Buendia <aureliano@buendia.com>
101 * Un cambio poco relevante.
102 Shall I send this patch? (1/1) [ynWvxqadjk], or ? for help: y
104 What is the target email address? Arcadio Buendia <arcadio@buendia.com>
105 Successfully sent patch bundle to Arcadio Buendia <arcadio@buendia.com>.
107 <tt class=nota>Aca, el mail se le envio a Arcadio con esos cambios</tt>
111 <tt class=nota>Alternativa 2: darcs nos deja un archivo para enviar adjunto</tt>
112 # darcs send -o /tmp/enviar http://users.auriga.wearlab.de/~alb/repos/libfilo
113 Wed May 18 01:01:00 ART 2005 Aureliano Buendia <aureliano@buendia.com>
114 * Un cambio poco relevante.
115 Shall I send this patch? (1/1) [ynWvxqadjk], or ? for help: y
117 <tt class=nota>Aca nos dejo el archivo "/tmp/enviar" con los cambios
121 Ahora pensemos que a nosotros nos llega un mail con los cambios en un archivo
122 adjunto, el cual grabamos en /tmp/para_aplicar y queremos aplicar a nuestro
126 # darcs apply /tmp/para_aplicar
129 <tt class=nota>Termino de aplicar, miramos el changelog de curiosos nomas</tt>
130 # darcs chan --last=2
131 Wed May 18 00:24:00 ART 2005 Apolinar Moscote <apolinar@moscote.com>
132 * Reordenamos las funciones, porque si.
134 Wed May 18 01:01:00 ART 2005 Aureliano Buendia <aureliano@buendia.com>
135 * Un cambio poco relevante.
139 No hay muchas mas operaciones básicas que estas, la gracia del asunto esta en
140 como la combinacion de las mismas puede presentar situaciones delicadas, que
141 vamos a ver un poco en el siguiente y ultimo ejemplo.<p>