1
* Dudas a resolver:
2
* Aspectos a comentar:
3
** DONE git rebase --interactive
4
** DONE tipos de tag
5
*** ligeros
6
*** completos (firma GPG, mensaje, etc.)
7
** DONE git rm, svn mv, copias, movimientos
8
** DONE "git checkout" con cambios pendientes
9
   Si es que hay que RTFM, está claro. Citando la documentación de la
10
   opción -m de la página de man de git-checkout:
11
12
   "If you have local modifications to one or more files that are
13
   different between the current branch and the branch to which you
14
   are switching, the command refuses to switch branches in order to
15
   preserve your modifications in context."
16
17
   Es decir, el fallo lo da cuando tenemos modificaciones locales _y_
18
   la copia de la revisión destino difiere de la de la revisión
19
   actual.
20
** DONE Los reflog se usan en git-prune y git-gc
21
   No son exactamente 2 semanas: las entradas que quedan sin
22
   referenciar duran 30 días por defecto, y el resto de entradas duran
23
   90.
24
** DONE Los packs también llevan mantenimiento
25
   Los pack guardan objetos sin referenciar y puede que vayan habiendo
26
   varios packs pequeños, pero git-gc se ocupa de irlos reuniendo y
27
   limpiando periódicamente.
28
** DONE git init --shared=group
29
** DONE permisos: qué guarda y qué no guarda Git
30
   Está claro que el dueño no, ni la fecha/hora. Git se fija
31
   únicamente en el bit de ejecutable.*
32
** DONE Mejor explicación de la salida de 'git describe'
33
   La salida es X-Y-Z, donde X es el nombre del tag, Y el número de
34
   revisiones por delante que está de ese tag, y Z el inicio de su
35
   SHA-1.
36
** TODO No se aprovecha la clave SSH de Joaquín
37
   Raro: he repetido el proceso desde mi servidor Debian y no he
38
   tenido problemas en absoluto. El problema parece ser algo
39
   específico de MacOS X. Sospecho que habrá que hacerlo desde alguna
40
   interfaz gráfica, como en el caso de los certificados SSL.
41
** DONE En la URL no hay por qué poner la clave
42
   Se puede usar el fichero ~/.netrc, gracias al uso de Curl, con
43
   cuidado de darle 600 de permisos, para evitar que otros usuarios
44
   lean nuestras contraseñas.
45
** TODO Problemas con los cerrojos WebDAV:
46
   Puede ser con bastante probabilidad un bug arreglado en Git 1.5.4,
47
   conocido como "http-push: fix webdav lock leak", e identificado con
48
   el SHA-1 9116de5957423d553fce5857a835284a0527d037 en el Gitweb de
49
   Git. Mejor cambiar a 1.5.6.5 (por lo que más queráis).
50
51
   La documentación de Apache no dice explícitamente que pueda haber
52
   un problema con los cerrojos por reutilizar el mismo usuario entre
53
   varios clientes, pero por si acaso mejor usamos usuarios
54
   distintos. He recreado el repositorio. Los cerrojos que no se abren
55
   se van automáticamente por defecto a los 10 minutos.
56
57
   También sería bueno usar una versión reciente de Git (v1.5.6.5,
58
   comprobar con 'git version') y de Curl (7.18+, comprobar con 'curl
59
   --version'). La documentación de Git dice que con 7.16+ vale, pero
60
   el Macbook Air y Curl 7.16.3 de Joaquín originan problemas.
61
62
   La ayuda de "git http-push" dice explícitamente que: 
63
64
   "NOTE: This command is temporarily disabled if your libcurl is older
65
   than 7.16, as the combination has been reported not to work and
66
   sometimes corrupts repository."
67
68
   git-http-push es el que se ocupa de hacer el trabajo de
69
   git-update-server-info cuando hacemos un push sobre HTTP (mirad. El
70
   segundo está para cuando hacemos un push mediante SSH, y entonces
71
   sí podemos ejecutar los hooks.
72
73
74