1.3 Términos y Acrónimos
El libro se puede descargar aquí
Ahora que hemos visto como se ven los conflictos (con el ancestro común),
quiero presentarles algunos términos acerca de las secciones de un conflicto que
evitarán algunas ambugüedades futuras.
1.3.1 Acerca de las secciones de un conflicto
Bloque de Conflicto o CB
Un Bloque de Conflicto o CB
comienza con la Marca de Inicio de Conflicto y termina con la Marca de
Cierre de Conflicto.
Bloque Superior o UB
El Bloque Superior o UB es la sección superior de un
CB .
Esta sección siempre tendrá el contenido como se presenta en HEAD, es decir, la
revisión donde estamos trabajando.
Bloque Medio o MB
El Bloque Medio o MB
es la sección media de un CB. Esta sección aparecerá si están usando diff3 y,
durante una operación de merge, contendrá lo que normalmente llamamos el
ancestro común.
Bloque Inferior o LB
El Bloque Inferior o LB
es la sección inferior de un CB. Esta sección contendrá, durante una operación
de merge, lo que hay en la otra rama.
Términos aplicados en el Ejemplo 3
Del Ejemplo 3:
Listing 1.50:Conflicto del ejemplo 3671 struct bitmap *objects = bitmap_git->result; 672 673<<<<<<< HEAD 674 ewah_iterator_init(&it, type_filter); 675||||||| d0654dc308 676 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 677 return; 678 679 ewah_iterator_init(&it, type_filter); 680======= 681 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 682 return; 683 684 init_type_iterator(&it, bitmap_git, object_type); 685>>>>>>> 20a5fd881a 686 687 for (i = 0; i < objects->word_alloc &&
CB
Listing 1.51:CB del ejemplo 3673<<<<<<< HEAD 674 ewah_iterator_init(&it, type_filter); 675||||||| d0654dc308 676 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 677 return; 678 679 ewah_iterator_init(&it, type_filter); 680======= 681 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 682 return; 683 684 init_type_iterator(&it, bitmap_git, object_type); 685>>>>>>> 20a5fd881a
UB
Listing 1.52:UB del ejemplo
3674 ewah_iterator_init(&it, type_filter);
MB
Listing 1.53:One MB del ejemplo 3676 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 677 return; 678 679 ewah_iterator_init(&it, type_filter);
LB
Listing 1.54:LB del ejemplo 3681 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 682 return; 683 684 init_type_iterator(&it, bitmap_git, object_type);
Términos aplicados a un conflicto del Ejercicio 3
Conflict from path.c of Ejercicio 3:
Listing 1.55:Conflicto en path.c del Ejercicio 3852 if (is_git_directory(".")) { 853<<<<<<< HEAD 854 set_git_dir(".", 0); 855 check_repository_format(); 856||||||| 51ebf55b93 857 set_git_dir("."); 858 check_repository_format(); 859======= 860 set_git_dir("."); 861 check_repository_format(NULL); 862>>>>>>> 1bdca81641 863 return path; 864 }
CB
Listing 1.56:CB del Ejercicio 3853<<<<<<< HEAD 854 set_git_dir(".", 0); 855 check_repository_format(); 856||||||| 51ebf55b93 857 set_git_dir("."); 858 check_repository_format(); 859======= 860 set_git_dir("."); 861 check_repository_format(NULL); 862>>>>>>> 1bdca81641
UB
Listing 1.57:UB del Ejercicio 3854 set_git_dir(".", 0); 855 check_repository_format();
MB
Listing 1.58:MB del Ejercicio 3857 set_git_dir("."); 858 check_repository_format();
LB
Listing 1.59:LB del Ejercicio 3860 set_git_dir("."); 861 check_repository_format(NULL);
1.3.2 Sobre las diferencias entre ellos
dMU
Los cambios aparentes que son aplicados sobre el MB para convertirse en el UB,
sin considerar revisiones intermedias.
dML
Los cambios aparentes que son aplicados sobre el MB para convertirse en el LB,
sin considerrar revisiones intermedias.
Términos aplicados en el CB del Ejemplo 3
dMU
Arrancando desde el MB:
Listing 1.60:MB del Ejemplo 3676 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 677 return; 678 679 ewah_iterator_init(&it, type_filter);
Terminando en el UB:
Listing 1.61:UB del Ejemplo
3674 ewah_iterator_init(&it, type_filter);
dMU: Remover el condicional que arranca en la línea 676 del MB.
dML
Arrancando en el MB:
Listing 1.62:MB del Ejemplo 3676 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 677 return; 678 679 ewah_iterator_init(&it, type_filter);
Terminando en el LB:
Listing 1.63:LB from example 3681 if (bitmap_git->reuse_objects == bitmap_git->pack->num_objects) 682 return; 683 684 init_type_iterator(&it, bitmap_git, object_type);
dML: cambiar la llamada a ewah_iterator_init() en la línea 679 por una
llamada a init_type_iterator() en la línea 684.
Términos aplicados a un CB del Ejercicio 3
dMU
Arrancando desde el MB:
Listing 1.64:MB del Ejercicio 3857 set_git_dir("."); 858 check_repository_format();
Terminando en el UB:
Listing 1.65:UB del Ejercicio 3854 set_git_dir(".", 0); 855 check_repository_format();
dMU: Agregar un segundo parámetro a la llamada a set_git_dir(). El segundo
parámetro es 0.
dML
Arrancando desde el MB:
Listing 1.66:MB del Ejercicio 3857 set_git_dir("."); 858 check_repository_format();
Terminando en el LB:
Listing 1.67:LB del Ejercicio 3860 set_git_dir("."); 861 check_repository_format(NULL);
dML: Agregar NULL como un parámetro a la llamada a
check_repository_format().
Copyright 2020 Edmundo Carmona Antoranz