Trabajar con parches

Los parches permiten a los desarrolladores compartir el trabajo sin almacenarlo en un repositorio. Esto resulta útil cuando un desarrollador desea contribuir a un proyecto que se comparte a través de un repositorio pero no tiene acceso de escritura a dicho repositorio. En esta situación, el desarrollador puede crear un parche y enviarlo por correo electrónico a un desarrollador que tiene acceso de escritura o adjuntarlo a un gazapo en el sistema de informe de gazapos que utiliza el sistema, en función del proceso que defina el proyecto. A continuación, un desarrollador que tenga acceso de escritura puede aplicar el parche al proyecto y comprometer los cambios.

Cómo crear un parche desde un proyecto CVS:

  1. Seleccione el recurso que contiene las modificaciones que deben incluirse en el parche. Puede seleccionar recursos residentes en varios proyectos y en cualquier nivel, ya que el asistente Crear parche, cuando se ejecuta en su modalidad predeterminada, sabe cómo crear un parche multiproyecto. El parche también debe aplicarse a las mismas revisiones de archivo en las que se ha generado, por lo que deben tomarse pasos que garanticen que el parche se aplica a la misma configuración del recurso (la forma más fácil de hacerlo consiste en crear el parche en la parte superior de una versión).
  2. En el menú emergente, seleccione Equipo > Crear parche.... Se abrirá el asistente Crear parche.
  3. Elija dónde debe guardarse el parche:
    1. Guardar en el portapapeles - colocará el parche en el portapapeles para que pueda pegarse en un editor de texto, como por ejemplo un programa de correo electrónico.
    2. Guardar en sistema de archivos - colocará el parche en el archivo especificado del sistema de archivos local.
    3. Guardar en el Entorno de trabajo - colocará el parche en el archivo especificado dentro de uno de los proyectos existentes del entorno de trabajo.
    En los parches pequeños puede ser razonable transferir el parche mediante el portapapeles, pero en la mayoría de casos el sistema de archivos local es la mejor opción que puede utilizarse.
  4. Puede previsualizar y ajustar la selección del parche expandiendo el árbol Recursos que aparece en el panel Cambios. Sólo los elementos seleccionados se incluirán en el parche. Pulse Siguiente para configurar la generación del parche.
  5. Elija cómo configurar el parche:
    1. Formato de salida Diff - permite elegir entre varios formatos de salida diff habituales. Unificado es el formato que utilizan numerosas herramientas de aplicación de parches, incluida Eclipse. El formato utilizado en los diffs de Contexto y Unificado permite aplicar un parche aunque el número de línea mencionado para el trozo (terminología de parches) sea incorrecto. En este caso, al aplicar el parche, el algoritmo explora tanto hacia adelante como hacia atrás para encontrar un conjunto de líneas coincidentes con el contexto dado para el trozo.
    2. Raíz de parche - Permite especificar el nivel de la raíz del parche. Las opciones son Espacio de trabajo, Proyecto y Selección.

      Espacio de trabajo permite incluir recursos de varios proyectos en el parche, y es la opción predeterminada. Los parches de espacio de trabajo pueden aplicarse a cualquier recurso del espacio de trabajo, ya que contienen información suficiente para que el asistente Aplicar parche adivine los recursos necesarios que deben incluirse en el parche.

      Los parches de proyecto toman como raíz el nivel de proyecto, lo que significa que sólo pueden contener recursos de un proyecto y deben aplicarse a ese mismo proyecto.

      Los parches de selección toman como raíz el recurso seleccionado y deben aplicarse a ese mismo recurso.
  6. Pulse Finalizar.
  7. Transfiera el parche según proceda para el proyecto que se está parcheando.

Para aplicar un parche:

  1. Seleccione el recurso en el que se ha generado el parche. Este recurso debe contener las mismas revisiones de archivo que la configuración en la que se ha generado el parche.
  2. En el menú emergente, seleccione Equipo > Aplicar parche.... Se abrirá el asistente Aplicar parche.

    Esto también se puede lograr copiando el contenido del parche en el portapapeles y pegándolo directamente en la vista Explorador de paquetes eligiendo Editar > Pegar. En este caso puede saltarse el paso siguiente.
  3. Indique el lugar donde debe buscarse el parche:
    1. Archivo - el parche se encuentra en un archivo del sistema de archivos local. Escriba la vía de acceso completa al archivo o utilice el botón Examinar... para encontrar el archivo.
    2. Portapapeles - el parche se encuentra en el portapapeles. Aviso: es más seguro utilizar un parche basado en archivo. Puede que no se manejen correctamente los finales de línea si se utiliza el portapapeles y el parche se ha generado en una plataforma distinta (por ejemplo, Linux y Windows).
    3. URL: el parche está ubicado bajo el URL dado. Aviso: asegúrese de que el URL especificado es válido y contiene un parche adecuado. De lo contrario no podrá aplicarlo. Además, tenga en cuenta que la aplicación directa de un parche desde un URL puede tardar algún tiempo.
    4. Espacio de trabajo - el parche se ha guardado en algún lugar del espacio de trabajo.
    Pulse Siguiente para ver el efecto de aplicar el parche.
  4. Paso opcional: este paso sólo se aplica si tiene un parche cuya raíz está establecida a nivel de proyecto o selección; los parches de espacio de trabajo continuarán automáticamente en la página Vista previa de parche. En la página Especificación de destino de parche, debe seleccionar el recurso que debe actuar como raíz del parche.
  5. La página Vista previa de parche muestra si el parche se puede aplicar satisfactoriamente a los archivos del espacio de trabajo. El panel superior muestra la lista de cambios contenidos en el parche. Hay dos tipos de entradas en el panel superior: cambios de archivo y segmentos de parche no coincidentes (conocidos como 'trozos' en terminología de parches).
    1. Si uno o varios de los segmentos de parche pueden aplicarse automáticamente al archivo, éste se mostrará con un indicador de cambio entrante. Puede inspeccionar el cambio efectuando una doble pulsación sobre el archivo.
    2. Si uno o varios trozos no pueden aplicarse automáticamente, las entradas del trozo aparecerán como hijos del archivo en el panel superior y un signo de exclamación rojo indica que hay un problema en el parche o trozo. Puede inspeccionar el trozo efectuando una doble pulsación sobre él. Puede aplicar manualmente el trozo del panel de la derecha en el archivo de la izquierda. Al guardar en el panel de la izquierda, se actualizará la entrada del archivo padre en el panel superior, pero no se modificará el archivo en el disco. El archivo del disco sólo se modifica al pulsar Finalizar. Para aplicar satisfactoriamente todo el parche deberá eliminar los problemas (los signos de exclamación rojos) ya sea aplicando manualmente los segmentos de parche, excluyendo el segmento de parche de la operación al seleccionar Eliminar en el menú de contexto o ya sea retocando las opciones en esta página del asistente (vea 'Opciones' más abajo).
  6. Si todo es correcto, pulse Finalizar para aplicar el parche. El espacio de trabajo contendrá ahora los cambios salientes de cada archivo que ha modificado el parche.

Los parches se pueden aplicar sincronizándolos con un contenido local

Para sincronizar con un parche:

  1. En la perspectiva Sincronizar equipos seleccione la acción Sincronizar... en el desplegable del botón Sincronizar.
  2. Seleccione Sincronizar con parche en la lista de posibles tipos de sincronización y pulse en Siguiente.
  3. Indique el lugar donde debe buscarse el parche:
    1. Archivo - el parche se encuentra en un archivo del sistema de archivos local. Escriba la vía de acceso completa al archivo o utilice el botón Examinar... para encontrar el archivo.
    2. Portapapeles - el parche se encuentra en el portapapeles. Aviso: es más seguro utilizar un parche basado en archivo. Puede que no se manejen correctamente los finales de línea si se utiliza el portapapeles y el parche se ha generado en una plataforma distinta (por ejemplo, Linux y Windows).
    3. URL: el parche está ubicado bajo el URL dado. Aviso: asegúrese de que el URL especificado es válido y contiene un parche adecuado. De lo contrario no podrá aplicar el parche. Además, tenga en cuenta que la aplicación directa de un parche desde un URL puede tardar algún tiempo.
    4. Espacio de trabajo - el parche se ha guardado en algún lugar del espacio de trabajo.
    Pulse Siguiente para ver el efecto de aplicar el parche.
  4. Paso opcional: este paso sólo se aplica si tiene un parche cuya raíz está establecida a nivel de proyecto o selección; los parches de espacio de trabajo continuarán automáticamente en la página Vista previa de parche. En la página Especificación de destino de parche, debe seleccionar el recurso que debe actuar como raíz del parche.
  5. Paso opcional: este paso se aplica sólo si su parche hace referencia a proyectos que no son accesibles, si todos los proyectos del parche están presentes en el espacio de trabajo y están abiertos, esta página se saltará. En la página Proyectos inaccesibles puede abrir cualesquiera proyectos cerrados. Más aún, se visualizarán detalles sobre proyectos no existentes. Los proyectos que están cerrados o no existen en el espacio de trabajo no se pueden parchear.
  6. En la página final, pulse Finalizar para obtener una vista previa de los cambios en la vista Sicronizar.

Opciones para aplicar un parche

Para obtener coincidencias satisfactorias del archivo de parche, tiene las siguientes opciones:
  1. Regresar a la primera página del asistente Aplicar parche y seleccionar el recurso correcto al que debe aplicarse el parche.
  2. Si un prefijo común de los nombres de vía de acceso almacenados en el archivo de parche no coincide con los nombres de vía de acceso del espacio de trabajo actual, puede Ignorar segmentos iniciales del nombre de vía de acceso.
  3. Utilizar Omitir espacios en blanco para hacer que el proceso de coincidencia sea independiente de las diferencias de espacios en blanco existentes entre el archivo de parche y los archivos del espacio de trabajo.
  4. Ajustar el Factor de semejanza (terminología de parches). Este factor indica la cantidad de líneas de contexto del trozo que deben ignorarse. Si el factor de semejanza es cero, todas las líneas deben coincidir. Si el factor de semejanza es mayor que cero, por ejemplo 2, se ignoran las dos primeras líneas de contexto antes del trozo y las dos últimas líneas después del trozo. Pulse Adivinar para calcular el factor de semejanza que permite la coincidencia de la mayoría de trozos.
  5. Utilizar la opción Invertir parche en los archivos de parche que ya se han aplicado al espacio de trabajo. Esta opción también es útil para deshacer o rehacer un parche.
  6. En los parches de espacio de trabajo, puede seleccionar otro proyecto del espacio de trabajo al que aplicar los cambios del parche. Para hacerlo, seleccione un proyecto en el panel superior y seleccione Mover en el menú de contexto. Se abrirá un diálogo con una lista de todos los proyectos disponibles en el espacio de trabajo. Seleccione un proyecto y pulse Aceptar; los cambios del parche se aplicarán al proyecto seleccionado.
  7. Utilizar la opción Mostrar excluidos para mostrar los trozos que ya ha seleccionado para no incluirlos en el parche.
  8. Al sincronizar con un parche, las opciones que hay por encima están disponibles en el menú desplegable de la vista Sincronizar. También puede conmutar entre modelos disponibles para obtener información adicional sobre los cambios que se están aplicando.

Conceptos relacionados
Programación en equipo con CVS

Tareas relacionadas
Comparar recursos
Sincronizarse con el repositorio

Consulta relacionada
Equipo CVS