Mandatos de ejemplo scm

La interfaz de línea de mandatos (CLI) de Rational Team Concert utiliza el mandato scm, seguido de uno o más submandatos. Algunos mandatos de ejemplo son scm help y scm create workspace.

Los alias son nombres cortos que identifican de manera exclusiva elementos en el control de origen. Los alias son números largos de 4 dígitos (entre paréntesis) que se muestran a la izquierda del elemento al que se refieren. Por ejemplo:

$ scm status 
 Espacio de trabajo: (6377) "My Workspace" <-> (7487) "Stream"
   Componente: (6429) "Flux Capacitor"
     Línea base: (8471) 6815 "v20091102"
     Saliente:
       Conjuntos de cambios:        
				(8459) --@ 98314 "Degauss Flux Capacitor" - <No comment>

En el ejemplo, anterior, cada número entre paréntesis (6377, 7487, 6429, 8471, 8459) es un alias.

Cada submandato tiene un conjunto de códigos de retorno. Se devuelve 0 si el submandato es satisfactorio. Se devuelve no cero si hay un error o un problema, como un conflicto, o que el recinto de seguridad local no está sincronizado con el espacio de trabajo remoto.

Inicio de sesión en el repositorio

Los siguientes ejemplos suponen que ha iniciado sesión en un repositorio con lscm login. Por lo tanto, sólo tiene que proporcionar -r repositoryNickName con cada submandato. Por ejemplo:

$ lscm login -r https://your.repository.com:9443/jazz -n nickname -u echughes -c
Contraseña (echughes @ https://your.repository.com:9443/jazz):
Inicio de sesión en https://your.repository.com:9443/jazz

También puede hacer referencia al repositorio https://your.repository.com:9443/jazz con un apodo. Por ejemplo, pase -r nickname al submandato en lugar de a URL, nombre de usuario y contraseña.

Iniciación

Antes de comenzar un proyecto, debe tener nombre de usuario, contraseña y la URL del repositorio. También debería ser miembro de un área de equipo.

Ubicación de corrientes

Si no sabe el nombre de la corriente con la que está colaborando, puede utilizar lscm list streams -r nickname para listar las corrientes a las que tiene acceso. Por ejemplo:

$ lscm -a y list streams -r l
DeLorian Upgrades
Home Energy Converter
Doc Brown's playpen

Creación y carga de un espacio de trabajo

Después de localizar la corriente con la que desea trabajar, puede crear un espacio de trabajo remoto donde incluir los cambios. Por ejemplo:

$ lscm create workspace -r l myNewWorkspace -s "DeLorian Upgrades"
El espacio de trabajo (8551) "myNewWorkspace" se creó satisfactoriamente

La adición del parámetro -s especifica con qué corriente debería colaborar el espacio de trabajo. El nuevo espacio de trabajo tiene esa corriente como destino predeterminado del flujo, y tiene el estado de la corriente como su estado inicial.

Para cargar el espacio de trabajo remoto:

$ lscm load myNewWorkspace -r l
Se está descargando /flux.capacitor/requirements.txt  (0 B)
Se está descargando /flux.capacitor/diagrams/design.cad  (0 B)

Trabajar de forma independiente

Desde el CLI de control de origen, puede seguir un flujo de trabajo típico, como modificar archivos, incorporar archivos, aceptar cambios nuevos y entregar cambios.

Las acciones de comprobación y entrega de CLI son las mismas que en el cliente Eclipse. Compruebe los cambios de arranque desde el disco local a un espacio de trabajo remoto; entregue cambios de arranque de un espacio de trabajo remoto a una corriente.

Comprometiendo cambios

En el siguiente ejemplo de CLI, modifica varios archivos y determina qué se modificó ejecutando estado:

$ lscm status
Espacio de trabajo: (8551) "myNewWorkspace" <-> (8552) "DeLorian Upgrades"
  Componente: (8553) "Flux Capacitor"
    Línea base: (8554) 1 "Initial Baseline"
    Sin resolver:
      -c /flux.capacitor/requirements.txt
    Saliente:
      Conjuntos de cambios:        
        (8555) --$ "Initial CAD"

El mandato estado explora todos los directorios compartidos en busca de cambios, lo cual puede llevar mucho tiempo. Si sólo desea visualizar la comparación entre su espacio de trabajo remoto y la corriente, puede ejecutar lscm status –n, que ignora la exploración del disco local.

Para llevar a cabo los cambios, utilice lscm checkin:

$ lscm checkin flux.capacitor/
Comprometiendo...
Espacio de trabajo: (8551) "myNewWorkspace" <-> (8552) "DeLorian Upgrades"
  Componente: (8553) "Flux Capacitor"
    Saliente:
      Conjuntos de cambios:        
        (8556) --@ <No hay comentarios>

Este ejemplo crea implícitamente un nuevo conjunto de cambios. Los conjuntos de cambios que reciben archivos y carpetas durante la asignación están listados en la salida.

Después de crear el conjunto de cambios, deberá asociarlo con un elemento de trabajo y añadir un comentario. Para asignar un elemento de trabajo, utilice lscm changeset associate. Para establecer el comentario, utilice lscm changeset comment.

Aceptar cambios

Puede visualizar periódicamente el estado en una corriente ejecutando lscm status:

$ lscm status -C
Espacio de trabajo: (8551) "myNewWorkspace" <-> (8552) "stream19_test_max_results_1256765247692134"
  Componente: (8553) "Flux Capacitor"
    Línea base: (8554) 1 "Initial Baseline"
    Saliente:
      Conjuntos de cambios:        
        (8556) --@ 
          Cambios:
            ---c /flux.capacitor/requirements.txt
    Entrante:
      Conjuntos de cambios:        
        (8615) --$ "Initial layout"
          Cambios:
            ---c /flux.capacitor/diagrams/design.cad

El distintivo -C muestra los contenidos de los conjuntos de cambios.

En el ejemplo superior, hay un único cambio entrante para design.cad. Puede aceptar este cambio, porque no modifica ninguno de los archivos de los conjuntos de cambios.

Ejecute lscm accept:

$ lscm accept -v
Repositorio: https://localhost:9443/jazz/
  Espacio de trabajo: (8551) "myNewWorkspace"
    Componente: (8553) "Flux Capacitor"
      Conjuntos de cambios:        
        (8615) ADMIN --$ "Initial layout" 
          Cambios:
            --c /flux.capacitor/diagrams/design.cad

Resolución de conflictos

De vez en cuando, los cambios entrantes modifican archivos que ya se han modificado.

En el ejemplo inferior, modifica flux.capacitor/requirements.txt para incluir una nota de una reunión de planificación, comprueba el archivo y ejecuta el estado:

$ lscm status -C
Espacio de trabajo: (8551) "myNewWorkspace" <-> (8552) "stream19_test_max_results_1256765247692134"
  Componente: (8553) "Flux Capacitor"
    Línea base: (8554) 1 "Initial Baseline"
    Saliente:
      Conjuntos de cambios:        
        (8617) -#@ "Update from November planning meeting"
          Cambios:
            -#-c /flux.capacitor/requirements.txt
    Entrante:
      Conjuntos de cambios:        
        (8616) -#$ "Results of initial trials"
          Cambios:
            -#-c /flux.capacitor/requirements.txt

Se ha producido una colisión. Los archivos que ha modificado también los ha modificado otro usuario que ha entregado los cambios a la corriente. La colisión se nota por el # delante de los archivos participantes y los conjuntos de cambios participantes. Si acepta el conjunto de cambios con el alias de 8616, tendrá un conflicto.

$ lscm accept 8616 -v -i
Repositorio: https://localhost:9443/jazz/
  Espacio de trabajo: (8551) "myNewWorkspace"
    Componente: (8553) "Flux Capacitor"
      Conjuntos de cambios:        
        (8616) ADMIN -#$ "Results of initial trials" 
          Cambios:
            !-c /flux.capacitor/requirements.txt
Los siguientes espacios de trabajo tienen conflictos después de aceptar:
  myNewWorkspace
Ejecute 'scm resolve' o 'scm conflicts' o 'scm status' para obtener ayuda en la resolución de los conflictos.

The -i inserta marcadores de conflicto en los archivos. Los marcadores son similares a los que utilizan otros sistemas de control de origen.

! en la lista de cambios indica el archivo que tiene un conflicto.

Puede obtener una lista de conflictos en los componentes cargados actualmente ejecutando scm conflicts.

El archivo contiene marcadores de conflicto, que indican cuál es el problema:

- No necesita más de 1.5 gigavatios de alimentación
- Determine la velocidad mínima necesaria
<<<<<<< míos
  - ¿Aparcamiento Twin Pines?
=======
  - Las pruebas iniciales sugieren 60kmh
>>>>>>> propuestos

La línea entre los <<<<<<< míos y el signo igual proviene del conjunto de cambios de su espacio de trabajo. La línea entre los signos de igual y los >>>>>>> pospuestos proviene del conjunto de cambios entrante. Puede obtener el archivo original ejecutando lscm conflicts -m flux.capacitor/requirements.txt. Si desea obtener la versión entrante, puede ejecutar lscm conflicts -p flux.capacitor/requirements.txt. -m es la abreviatura de mío y -p de propuesto.

Resolver el cambio dentro de la proposición. Borrar los marcadores de conflicto del archivo:

- No necesita más de 1.5 gigavatios de alimentación
- Determine la velocidad mínima necesaria
Las pruebas iniciales sugieren 60kmh

Confirme el cambio y comunique al repositorio que se ha resuelto el conflicto con la versión que se comprobó ejecutando lscm resolve:

lscm resolve -c flux.capacitor/requirements.txt

Ninguna salida indica que el conflicto se haya resuelto.

-c indica que el conflicto se debería resolver son la versión que se incorporó. También puede utilizar -p para resolverlo con la versión propuesta.

Ahora puede hacer más cambios, o entregar el conjunto de cambios con lscm deliver:

$ lscm deliver
Entrega de cambios desde "myNewWorkspace" a "DeLorian Updates"
  No hay líneas base para flujo.

Trabajar con cambios

Para determinar quién modificó determinadas líneas de un archivo, ejecute lscm annotate:

$ lscm annotate flux.capacitor/requirements.txt 
1 Marty (8556) 2009-11-04                       - No necesita más de 1.5 gigavatios de alimentación
2 Marty (8556) 2009-11-04                       - Determine la velocidad mínima necesaria
3 Doc   (8616) 2009-11-04  Resultados de t inicial   - Las pruebas iniciales sugieren 60kmh 

La salida de anotación tiene seis columnas:

Para comparar diferentes versiones de un archivo, utilice scm diff, que genera un parche estándar.

Para suprimir cambios no comprometidos, utilice scm undo.

Tareas de Releng

Esta sección describe mandatos avanzados que utilizan principalmente los administradores que configuran Rational Team Concert para otros usuarios. La mayoría de usuarios únicamente crean y cargan espacios de trabajo a partir de corrientes existente.

Adición de un componente nuevo

Un componente es una agrupación de árboles origen que mantiene juntas las agrupaciones lógicas del código de origen.

A medida que el proyecto crezca, a veces necesitará añadir nuevos árboles origen. Si no tiene sentido para un componente existente retener los cambios, tendrá que añadir un componente nuevo:

$ lscm create component "Flux Capacitor" "DeLorian Upgrades" -r l
El componente (8553) "Flux Capacitor" se ha creado satisfactoriamente.

En el ejemplo superior, creó un componente nuevo en la corriente DeLorian Upgrades. Los usuarios que tienen espacios de trabajo colaborando con esa corriente verán la adición del componente como un cambio entrante. Cuando acepten los cambios entrantes, los usuarios recibirán el contenido en el componente.

Si un usuario desea añadir archivos nuevos en el componente creado con este fin, puede realizar esta tarea con el submandato share. Rational Team Concert solo permite que los directorios y carpetas se compartan en el espacio de trabajo. El usuario debe añadir el componente nuevo en un espacio de trabajo remoto:

$ lscm workspace add-component -r l myNewWorkspace 8553
El componente (8553) "Flux Capacitor" se ha creado satisfactoriamente.

En el ejemplo anterior, el alias 8553 ser refiere al componente recién creado a partir del ejemplo anterior.

El componente nuevo está ahora en el espacio de trabajo, así que el usuario debe compartir el árbol origen en el espacio de trabajo:

$ lscm share -r l myNewWorkspace 8553 flux.capacitor
Subiendo archivos...
Se ha compartido satisfactoriamente

En el ejemplo anterior, esta acción carga el contenido del directorio flux.capacitor al espacio de trabajo remoto llamado myNewWorkspace y lo añade al componente especificado por 8553, que es el Flux Capacitor del paso anterior.


Comentarios

¿Le ha servido de ayuda? Puede incluir sus comentarios en Jazz.net (registro obligatorio): Comentarios en el foro o envíe un error