== CMD_DESCRIPTION_ACL ==
Establece permisos para un usuario, en un objeto dado.

== CMD_USAGE_ACL ==
Sintaxis:

    cm acl --user=usr_name | --group=group_name <action=<+|-permission>+>+ spec_objeto

    --user              Nombre de usuario.
    --group             Nombre de grupo.
    action              Acción a aplicar: permitir, denegar o sobrescribir.
                        -allowed para habilitar permisos
                        -denied para denegar
                        -overrideallowed
                        -overridedenied
    permission          Permiso a aplicar.
                        Usa comas para separar permisos.
                        (Usa 'cm showpermissions' para mostrar todos los 
                        permisos disponibles.)
    spec_objeto         Especificación del objeto sobre el que se van a fijar
                        los permisos.
                        Objetos válidos para este comando son:
                        repserver, repositorio, rama, changeset, etiqueta, item
                        y atributo.
                        (Usa 'cm help objectspec' para obtener más información
                        sobre especificaciones.)
                        La especificación puede ser también una ruta segura.
                        Consulta las Notas para obtener más información sobre
                        las rutas seguras.

Uso especial para rutas seguras:
    cm acl [regular options] [--delete] [--branches=comma separated list] spec
    (Opcionalmente, cada rama especificada en --branches se puede preceder con
    los signos + o - para especificar si una rama se añadirá o se eliminará de
    la lista cuando se edite.)

== CMD_HELP_ACL ==
La configuración de permisos requiere comprender cómo se gestiona la seguridad 
en Plastic SCM. Lee la Guía de Seguridad para aprender cómo funcionan estos 
permisos de seguridad:
https://www.plasticscm.com/documentation/security/plastic-scm-version-control-security-guide.shtml

Notas:

    Este comando fija permisos de usuario o grupo a los objetos, repositorios, 
    ramas, etiquetas y/o rutas de servidor especificados.

    Object specs:
        Usa 'cm help objectspec' para aprender cómo especificar objetos.
        El comando acl usa un tipo especial de especificación: rutas seguras.

        - Especificación de rutas seguras (secured paths):
            path:server_path[#tag]
            Ejemplos: path:/src/foo.c
                      path:/doc/pdf
                      path:/doc/pdf#documents

    Acciones de permisos:
        Usa -allowed y -denied para especificar qué permisos aplicar.
        Usa los argumentos -overrideallowed y -overridedenied para especificar
        qué permisos se sobrescriben.

        Cada acción requiere una lista de permisos separados por comas.

    Nombres de permisos:
        Cada nombre de permiso debe ir precedido del símbolo + o -.
        El símbolo + aplica el permiso y el símbolo - lo elimina.
        Para ver los permisos de un objeto, usa el comando 'cm showacl'.

    Permisos sobrescritos:
        Sobrescribir un permiso usando --overrideallowed y --overridedenied te
        permite evitar la herencia de permisos.
        Esto es útil para evitar los permisos aplicados a nivel de repositorio o
        de servidor.
        Por ejemplo:
            cm acl --user=vio -allowed=+ci -overrideallowed=+ci br:qa@test
            (Permite a la usuaria 'vio' hacer checkin en la rama 'qa' del 
            repositorio 'test' incluso si ella tiene los permisos denegados a 
            nivel de repositorio.)

    Permisos de rutas de servidor (rutas seguras):
        - Es posible especificar permisos para una ruta de servidor dada.
        - Estos permisos se comprueban durante la operación de check-in.
        - Estos permisos también pueden ser comprobados durante la operación de
          update y usados para prevenir ciertos directorios y ficheros sean
          descargados al espacio de trabajo.
        - Por cada ítem que se proteja (checkin), el servidor intenta concordar
          la ruta del ítem con una ruta segura. Si se encuentra, entonces la
          operación de checkin comprueba si el ítem tiene permisos para ser 
          protegido (checked in).

        Los permisos que se pueden definir para una ruta segura son:
            ci, change, add, move, rm, read

        Si la comprobación de permisos no es satisfactoria para ninguno de los 
        ítems involucrados, entonces la operación de checkin se cancelará.

        Para aplicar permisos de rutas seguras a un grupo de ramas, usa la 
        opción --branches.
        Por ejemplo:
          cm acl --user=jo -denied=+ci path:/src#rule0 --branches=main,main/rel0

        Para editar el ACL asociado a una ruta segura, usa el símbolo "#".
        Por ejemplo:
          cm acl --user=jo -denied=+rm path:/src#rule0
          (Sin "#", la lista de ramas tendría que ser especificada de nuevo).

        Es posible también editar la lista de ramas de una ruta segura.
        Por ejemplo:
          cm acl path:/src#rule0 --branches=-main,+main/rel1
          (Elimina main de la lista y añade main/rel1.)

        Para eliminar una ruta segura, usa el argumento --delete.
        Por ejemplo:
          cm acl --user=jo --delete path:/src#rule0

    Herencia:
        Herencia es una opción que proviene de los inicios de Plastic SCM 3.0.
        Es una opción avanzada, pero también está obsoleta.
        Permite a un objeto heredar los permisos de otro objeto, sobrescribiendo
        las relaciones de herencia por defecto.

        Usa la opción -cut para cortar la cadena de herencia.
        Usa la opción -cutncpy para cortar y copiar los permisos heredados. 
        (Estas características vienen inspiradas por los permisos de sistema de
        Windows donde puedes cortar herencia pero mantener los permisos 
        actuales.)

        La opción -inherit permiter heredar de una especificación de objeto.
        Por ejemplo: '-inherit=object_spec'

Ejemplos:

    cm acl --user=danipen -denied=+ci rep:core
    (Deniega el permiso de checkin al usuario danipen en el repositorio 'core'.)

    cm acl --group=developers -allowed=+view,-read -denied=+chgperm br:main
    (Otorga el permiso 'view', elimina el permiso 'read' y deniega el permiso
    'chgperm' al grupo 'developers' en la rama 'main'.)

Ejemplos con rutas de servidor:

    cm acl --group=devs -denied=+ci path:/server#rel --branches=main,main/2.0
    (Deniega el permiso de checkin al grupo 'devs' para cualquier ruta que
    concuerde con '/server' en las ramas 'main' y 'main/2.0'. La etiqueta #rel
    se crea para poder referirse a ella más adelante.)

    cm acl path:/server#rel --branches=-/main,+/main/Rel2.1
    (Actualiza la ruta segura '/server', cuya etiqueta es 'rel', borrando la 
    rama 'main' y añadiendo la rama 'main/Rel2.1' al grupo de ramas al que la 
    ruta segura aplica. Teniendo en cuenta el ejemplo anterior, ahora la lista
    de ramas contendrá main/Rel2.1 y main/2.0)

    cm acl --user=vsanchezm -allowed=-read -overrideallowed=+read path:/doc
    (Eliminar el permiso de lectura a vsanchezm, sobrescribiéndolo, en la ruta
    /doc.)

== CMD_DESCRIPTION_ACTIVATEUSER ==
Activa un usuario de licencia desactivado previamente.

== CMD_USAGE_ACTIVATEUSER ==
Sintaxis:

    cm activateuser nombre1 nombre2 ... [opciones]

    nombre: Nombre del usuario que se desea activar.

    Opciones:

    --server: activa el usuario en el servidor especificado.
    Usa 'cm help objectspec' para saber más sobre especificaciones.

== CMD_HELP_ACTIVATEUSER ==
Notas:

   Este comando activa un usuario para que pueda utilizar Plastic SCM.
   Para activar un usuario, éste ha de estar desactivado previamente.
   Para activar un usuario por primera vez, basta con utilizar Plastic SCM
   con las credenciales del usuario a activar, siempre que no se sobrepase
   el número máximo de usuarios autorizados.

Ejemplos:

   cm activate user juan

== CMD_DESCRIPTION_ADD ==
Añade un ítem al repositorio.

== CMD_USAGE_ADD ==
Sintaxis:

    cm add [options]* <ruta>+

    ruta                Rutas de los ítems a añadir, separados por espacios.
                        Usa comillas (") para especificar rutas que contengan 
                        espacios.
                        Usa * para añadir todo el contenido del directorio 
                        actual.

Opciones:

    -R|-r|--recursive   Añade los ítems recursivamente.
    --silent            No muestra ninguna salida.
    --ignorefailed      Si un ítem no se puede añadir, la operación de add
                        continuará sin él. Importante: si un directorio no se 
                        puede añadir, su contenido tampoco se añadirá.
    --skipcontentcheck  Cuando la extensión no es suficiente para determinar si
                        el fichero es de texto o binario, se asumirá que es
                        binario en lugar de usar el contenido para detectar el 
                        tipo. Este funcionamiento se asume para aumentar el
                        rendimiento en grandes operaciones de checkin.


== CMD_HELP_ADD ==
Notas:

    Requisitos para añadir items:
    - El directorio padre del ítem a añadir debe existir en el repositorio.

Ejemplos:

    cm add file1.txt file2.txt
    (Añade los ítems file1.txt y file2.txt.)

    cm add c:\workspace\file.txt
    (Añade el ítem file.txt en la ruta c:\workspace.)

    cm add -R c:\workspace\src
    (Añade recursivamente el contenido de la ruta src.)

    cm add -R *
    (Añade recursivamente todo el contenido del directorio actual.)

== CMD_USAGE_ADDIGNOREPATTERN ==
Uso:

      cm addignorepattern pattern1 pattern2 ... patternN [--workspace=wkpath | --allworkspaces][--remove]

== CMD_DESCRIPTION_ADMIN ==
Ejecuta comandos de administración en el servidor.

== CMD_USAGE_ADMIN ==
Sintaxis:

    cm admin comando [opciones]

Comandos:

    readonly

    Para obtener más información de cada uno de los comandos ejecute:
    cm changeset command --usage
    cm changeset command --help

== CMD_HELP_ADMIN ==
Notas:
    Sólo el administrador del servidor puede ejecutar el comando admin.

Ejemplos:

    cm admin readonly enter
    cm admin readonly status

== CMD_DESCRIPTION_ADMIN_READONLY ==
Permite habilitar/deshabilitar el modo solo-lectura en el servidor.

== CMD_USAGE_ADMIN_READONLY ==
Sintaxis:

    cm admin readonly acción [servidor]

Acciones:

    enter: habilita el modo de solo-lectura en el servidor.
    leave: deshabilita el modo de solo-lectura en el servidor.
    status: muestra el estado del modo de solo-lectura del servidor.

Opciones:
    servidor: El comando se ejecuta en el servidor especificado
              (servidor:puerto; usa 'cm help objectspec' para más información.)
              Si no se especifica un servidor, el comando se ejecuta
              en servidor del espacio de trabajo actual.
              Si la ruta actual no está en un espacio de trabajo,
              se ejecuta en el servidor por defecto configurado en
              client.conf.

== CMD_HELP_ADMIN_READONLY ==
Notas:
    Sólo el administrador del servidor puede ejecutar el comando readonly.

Ejemplos:

    cm admin readonly enter diana:8086
    cm admin readonly leave

== CMD_DESCRIPTION_ANNOTATE ==
Lista el contenido de un fichero o directorio, indicando para cada línea el propietario y la revisión en la cual fue introducida.

== CMD_USAGE_ANNOTATE ==
Sintaxis:

    cm annotate spec [opciones]

    spec                Especificación del fichero que se va a anotar.
                        Usa 'cm help objectspec' para obtener más información
                        sobre especificaciones.

Opciones:

    --format=cadena: Cadena con el formato de salida.
    --dateformat=cadena: Cadena con el formato en que se escribirán las fechas.
    --ignore=método_de_comparación: Cambia la forma de calcular las diferencias.
    --repository=repspec: Especificación del repositorio para calcular las
                          anotaciones. Por defecto, este comando utiliza el
                          repositorio del workspace cuya revisión está cargada.
                          Usa 'cm help objectspec' para más información sobre las
                          especificaciones de repositorio.

    método_de_comparación:
        none                 (por defecto)
        eol                  (ignora diferencias en retornos de carro)
        whitespaces          (ignora diferencias en espacios en blanco)
        eol&whitespaces  (las dos anteriores)

== CMD_HELP_ANNOTATE ==
Notas:

     Los items de tipo binario no están soportados por este commando.

     Este comando admite una cadena de formato para mostrar la salida.

     Los parametros de salida de este comando son los siguientes:
         {owner}: El propietario de la línea.
         {rev}: La especificación de la revision donde apareció la línea.
         {content}: El contenido de la línea.
         {date}: La fecha de la revisión donde fue introducida la línea.
         {comment}: El comentario de la revisión donde apareció la línea.
         {changeset}: El changeset de la revisión donde apareció la línea.
         {line}: El número de línea dentro del fichero.
         {branch}: La rama de la revisión donde apareció la línea.
         {ismergerev}: La revisión donde apareció la línea fue creada en una
             operación de merge.

     Puede usar la opción --dateformat para especificar el formato en el que se
     escribirán las fechas en pantalla.

     El commando annotate puede recuperar los datos de un repositorio remoto
     usando la opción --repository. Esto es útil cuando se trabaja con
     repositorios replicados.

Ejemplos:

    cm ann c:\workspace\src
    cm ann c:\workspace\file.txt
    cm ann c:\workspace\file.txt --format"{owner} {date} {content}"
    cm ann c:\workspace\file.txt --format"{owner, -7} {content} [{date}]" \
        --dateformat=yyyyMMdd
    cm ann c:\workspace\file.txt --repository=centralRep@myserver:8084

    cm blame serverpath:/src/client/checkin/Checkin.cs#cs:73666
    (Anota el fichero empezando en el changeset 73666 y usando un server path.)

== CMD_DESCRIPTION_APPLY_LOCAL ==
Aplica los cambios locales (movidos, borrados y modificados localmente).

== CMD_USAGE_APPLY_LOCAL ==
Sintaxis:

    cm applylocal [opciones] [rutas]

    rutas: rutas de los cambios locales a aplicar. Por defecto son los de todo
    el workspace.

Opciones:

    --dependencies: Incluir las dependencias de los cambios locales entre los
        ítems a proteger.

== CMD_HELP_APPLY_LOCAL ==
Notas:

    - Si no se especifican [opciones] ni [rutas], la operación involucrará a
    todos los cambios locales en el espacio de trabajo.

    - La operación se aplica siempre recursivamente desde la ruta indicada.

    Ejemplos:

    cm applylocal fichero1.txt fichero2.txt
    cm applylocal . (Aplica los cambios locales para el directorio actual y
    todo su contenido)
    cm applylocal (Aplica los cambios locales para todo el workspace)

== CMD_DESCRIPTION_ARCHIVE ==
Almacena o restaura datos en almacenamiento externo de un conjunto dado de revisiones especificadas.

== CMD_USAGE_ARCHIVE ==
Sintaxis:

    cm archive [revspec]+ [-c=comentario] [-f=path y nombre de fichero base]
    cm archive [revspec]+ --restore

    [revspec]+ una o más especificaciones de revisión. Se pueden leer desde la
        entrada estándar (STDIN) con el modificador de comando "-". Usa
        'cm help objectspec' para más información sobre especificaciones.
    [-c | --comment] especifica el comentario que se agregará a los datos
        archivados que se generen.
    [-f | --file] especifica el nombre y (opcionalmente) el path de los ficheros
        que se crearán para almacenar los datos por archivar.

    [--restore] restaura los datos previamente archivados utilizando los
        ficheros de almacenamiento generados.

== CMD_HELP_ARCHIVE ==
Notas:

    El comando permite extraer datos desde la base de datos de un repositorio
    y volcarlos en almacenamiento externo, ahorrando espacio en la base de
    datos.

    Usa 'cm help objectspec' para saber más sobre cómo especificar una revisión.

    El comando también puede usarse para restaurar las revisiones 'archivadas',
    volviéndolas a introducir en la base de datos (opción --restore).

    El usuario que ejecute este comando debe ser administrador del servidor
    de Plastic SCM (propietario del servidor de repositorios) para que se le
    permita completar la operación.

    Cada segmento de datos de las revisiones especificadas se almacenará en
    un fichero diferente, prefijado por el contenido del argumento --file.
    Este argumento puede contener tanto un 'path' completo con un prefijo de
    nombre de archivo como únicamente dicho prefijo.

    Una vez archivados los datos de las revisiones, se podrá acceder a ellos
    de dos maneras:

    1) Desde el cliente: el cliente de Plastic SCM detectará que los datos
    fueron archivados y pedirá al usuario que indique la ubicación en la que
    se encuentran. El usuario puede configurar las ubicaciones de los datos
    externos creando un fichero 'externaldata.conf' (en las ubicaciones
    estándar para ficheros de configuración, siguiendo las mismas reglas que se
    aplican para el fichero client.conf) que contendrá los paths en los que
    se encuentren los datos archivados.

    2) Desde el servidor: de esta forma los usuarios estarán totalmente
    aislados del hecho de que los datos han sido archivados, ya que las
    peticiones se resolverán de forma transparente por el servidor. Para
    ello, el administrador creará un fichero 'externaldata.conf' en el
    directorio del servidor con los paths de los datos externos.

    Para restaurar (unarchive) los datos de una revisión (o conjunto de
    revisiones) los datos archivados deberán estar accesibles desde el cliente.
    Por tanto, no es posible restaurar datos que estén siendo resueltos por el
    servidor -método 2)- porque el cliente no será capaz de identificarlos como
    archivados, al resolverse de forma transparente por el servidor. Si se están
    resolviendo los datos externos en servidor, para poder restaurar será
    necesario que el administrador elimine los volúmenes por restaurar de las
    ubicaciones accesibles por el servidor o que configure 'externaldata.conf'
    apropiadamente.

    Si existe una variable de entorno llamada PLASTICEDITOR apuntando al
    ejecutable de un editor de texto, y no se especifica un comentario al
    archivar, el editor se abrirá automáticamente para que especifique
    un comentario.

Especificaciones de revisión:

        rev:path[#(brSpec|csetSpec|lbSpec)], ej: rev:fichero.cs#cs:5
                                                 rev:fichero.cs#br:/main/task1

Ejemplos:

 Archivar bigfile.zip:
  $ cm archive bigfile.zip#br:/main#13

 Archivar todos los ficheros mayores de 25Mb
  $ cm find "revs where size > 26214400" --format="{item}#{branch}" --nototal | cm archive --comment="volume00" -f="volume00" -

 Restaurar todos los ficheros archivados mayores de 25 Mb
  $ cm find "revs where size > 26214400 and archived='true'" --format="{item}#{branch}" --nototal | cm archive --restore

== CMD_DESCRIPTION_ATTRIBUTE ==
Use este comando para administrar atributos.

== CMD_USAGE_ATTRIBUTE ==
Sintaxis:

    cm attribute | att command [options]

Comandos:

    create | mk
    delete | rm
    set
    unset
    rename
    edit

    Para obtener más información sobre cada comando:
    cm attribute comando --usage
    cm attribute comando --help

== CMD_HELP_ATTRIBUTE ==
Ejemplos:

    cm attribute create estado
    cm attribute set att:estado br:/main/SCM105 abierto
    cm attribute unset att:estado br:/main/SCM105
    cm attribute delete att:estado
    cm attribute rename att:estado estadoBuild
    cm attribute edit att:estado "Estado de la tarea en CI"

== CMD_DESCRIPTION_CHANGELIST ==
Permite organizar los cambios pendientes del espacio de trabajo en diferentes changelists.

== CMD_USAGE_CHANGELIST ==
Sintaxis:

    a) Manejo de los objetos 'changelist':

      cm changelist [list]
        Muestra los changelists en el espacio de trabajo actual.

      cm changelist add changelistName [descpription_text] [--persistent | --notpersistent]
        Crea un nuevo changelist con nombre = "changelistName":
          "descpription_text": descripción para el nuevo changelist.
          "--persistent | --notpersistent": Especifica si el changelist ha de eliminarse o no si el
            contenido del changelist se queda vacío (los cambios que contiene se protegen o se
            deshacen).
            (valor por defecto: "--notpersistent").

      cm changelist rm changelistName
        Borra un changelist con nombre = "changelistName".

      cm changelist edit changelistName [editParameterAction newValue] [--persistent | --notpersistent]
        Modifica un changelist con nombre = "changelistName:
        "editParameterAction": Posibles valores: "rename" | "description"
        "--persistent | --notpersistent": Especifica si el changelist ha de eliminarse o no si el
          contenido del changelist se queda vacío (los cambios que contiene se deshacen o se les
          ejecuta una operación de check-in.
          (valor por defecto: "--notpersistent").

    b) Manejo del contenido de un 'changelist' concreto:

      cm changelist changelistName (add | rm) ruta(s)
        Añade / elimina del changelist con nombre = "changelistName" el cambio que
        coincide con la(s) ruta(s) especificada(s).

Opciones:

    clist_name          El nombre un changelist.
    clist_desc          La descripción un changelist.
    action_name         Utiliza '^rename' o '^description' para modificar un 
                        changelist.
    action_value        Realiza la operación de renombrado o cambio de la descripción
                        cuando editas un changelist.
    --persistent       El changelist permacenerá en el workspace incluso si se ha ejecutado 
                        una operación de check-in o de revert.
    --notpersistent    (Default) El changelist no permanecerá en el workspace.
    --symlink          Realizar la operacion de checkin sobre el fichero de link y no
                        al que apunta..

== CMD_HELP_CHANGELIST ==
Notas:

      El comando 'changelist' permite administrar los changelists existentes en un
      espacio de trabajo, así como los cambios que contiene cada uno de ellos.

    Ejemplos del manejo de los changelists existentes en el espacio de trabajo:

        $ cm changelist
          (lista los changelists en el espacio de trabajo actual).

        $ cm changelist add config_changes "dotConf files" --persistent
          (crea un changelist con nombre "config_changes", descripción "dotConf files",
           que además quedará persistente en el espacio de trabajo una vez que se
           haga check-in o revert de dicho changelist).

        $ cm changelist edit config_changes rename "config_files" --notpersistent
          (edita el changelist con nombre "config_changes" y lo renombra a
           "config_files". Además convierte el changelist en no persistente).
           
        $ cm changelist edit config_changes  --notpersistent
          (edita el changelist con nombre "config_changes" y lo convierte en no persistente).

        $ cm changelist rm "config_files"
           (elimina el changelist "congig_files" del espacio de trabajo actual).

    Ejemplos del manejo del contenido de un changelist:
      (Nota, los ficheros que se manejan en los siguientes comandos han de
       encontrarse en estado "Added" or "Checked-out".

        $ cm changelist "config_files" add "foo.conf"
          (añade el fichero "foo.conf" al changelist "config_files")

        $ cm changelist "config_files" rm "foo.conf"
          (elimina el fichero "foo.conf" del changelist "config_files" y
          lo mueve al changelist por defecto del sistema).

== CMD_DESCRIPTION_CHANGESET ==
Ejecuta operaciones avanzadas sobre changesets.

== CMD_USAGE_CHANGESET ==
Sintaxis:

    cm changeset comando [opciones]

Comandos:

    move        | mv
    delete      | rm
    editcomment | edit

    Para obtener más información de cada uno de los comandos ejecute:
    cm changeset command --usage
    cm changeset command --help

== CMD_HELP_CHANGESET ==
Ejemplos:

    cm changeset move cs:15@myrepo br:/main/scm005@myrepo
    cm changeset delete cs:2b55f8aa-0b29-410f-b99c-60e573a309ca@devData

== CMD_DESCRIPTION_CHANGESET_EDIT_COMMENT ==
Modifica el comentario de un changeset.

== CMD_USAGE_CHANGESET_EDIT_COMMENT ==
Sintaxis:

    cm changeset editcomment | edit <cset_spec> <nuevo_comentario>

Opciones:

    spec_cset           El changeset objetivo para editar su comentario.
                        Usa 'cm help objectspec' para más información.
    nuevo_comentario    El nuevo comentario que será asignado al changeset
                        seleccionado.

== CMD_HELP_CHANGESET_EDIT_COMMENT ==
Notas:

    - La especificación del changeset objetivo debe ser válida.

Ejemplos:

    cm changeset editcomment cs:15@myrepo "Olvidé añadir detalles importantes."
    cm changeset edit cs:cb11ecdb-1aa9-4f11-8698-dcab14e5885a \
         "Este texto de comentario sustituirá al anterior."

== CMD_DESCRIPTION_CHANGESET_MOVE ==
Mueve un changeset y todos sus descendientes en la misma rama a otra rama distinta.

== CMD_USAGE_CHANGESET_MOVE ==
Sintaxis:

    cm changeset move | mv <spec_cset> <spec_branch>

Opciones:

    spec_cset           El primer changeset que debe moverse a una rama
                        diferente. Todos los changeset descendientes en la
                        misma rama se moverán también.
    spec_branch         La rama destino a la que mover los changesets
                        seleccionados. Debe estar vacía o no existir. En caso
                        de no existir, el comando la creará.

    Usa 'cm help objectspec' para obtener más información sobre cómo indicar 
    especificaciones de changeset y rama.

== CMD_HELP_CHANGESET_MOVE ==
Notas:

    - La especificación del changeset objetivo debe ser válida.
    - La rama de destino debe estar vacía o no existir.
    - Si la rama de destino no existe, el comando la creará.
    - Los enlaces de merge no se verán afectados dado que las ramas no están
      involucradas en ellos.

Ejemplos:

    cm changeset move cs:15@myrepo br:/main/scm005@myrepo
    cm changeset move cs:cb11ecdb-1aa9-4f11-8698-dcab14e5885a \
         br:/hotfix/TL-352

== CMD_DESCRIPTION_CHANGESET_DELETE ==
Elimina un changeset del repositorio.

== CMD_USAGE_CHANGESET_DELETE ==
Sintaxis:

    cm changeset delete | rm <spec_cset>

Opciones:

    spec_cset           El changeset seleccionado para eliminar. Debe cumplir
                        una serie de condiciones; ver ayuda completa para
                        más información. Usa 'cm help objectspec' para aprender
                        cómo construir las especificaciones.

== CMD_HELP_CHANGESET_DELETE ==
Notas:

    - El changeset objetivo debe ser el último en su rama.
    - No debe haber ningún otro changeset que tenga al objetivo como padre.
    - El changeset objetivo no debe ser origen de merge ni estar envuelto en
      el intervalo origen de un merge de intervalo.
    - No debe haber etiquetas aplicadas al changeset objetivo.
    - El changeset objetivo no puede ser el changeset raíz (cs:0)

Ejemplos:

    cm changeset rm cs:4525@myrepo@myserver
    cm changeset delete cs:cb11ecdb-1aa9-4f11-8698-dcab14e5885a

== CMD_DESCRIPTION_CHANGEUSERPASSWORD ==
Cambia la contraseña del usuario actual cuando la configuración de seguridad es usuario/contraseña.

== CMD_USAGE_CHANGEUSERPASSWORD ==
Sintaxis:

    cm changeuserpassword

== CMD_HELP_CHANGEUSERPASSWORD ==
Notas:

     Este comando solamente está disponible cuando el sistema de seguridad y
     usuarios está configurado en modo de funcionamiento de usuario/contraseña.

Ejemplo:

    cm changeuserpassword

== CMD_DESCRIPTION_CHECKCONNECTION ==
Comprueba la conexión del cliente de Plastic SCM contra el servidor.

== CMD_USAGE_CHECKCONNECTION ==
Sintaxis:

    cm checkconnection

== CMD_HELP_CHECKCONNECTION ==
Notas:

    Este comando retorna un mensaje indicando si hay una conexión valida contra
    el servidor de Plastic SCM o no.
    El comando comprueba si el usuario configurado es válido.
    También comprueba si la versión del cliente es compatible con la del
    servidor.

== CMD_DESCRIPTION_CHECKDB ==
Comprueba la integridad de las bases de datos.

== CMD_USAGE_CHECKDB ==
Sintaxis:

    cm checkdatabase [spec]

    spec: Especificación del servidor o de un repositorio.
          Usa 'cm help objectspec' para aprender cómo indicar especificaciones
          de servidor y repositorio.

== CMD_HELP_CHECKDB ==
Notas:

    - Si no se especifica [spec], el comando utilizará el valor del servidor
      del fichero client.conf.

Ejemplos:

      cm checkdatabase repserver:localhost:8084
      cm checkdatabase rep:default@localhost:8084

== CMD_DESCRIPTION_CHECKIN ==
Crea una nueva revisión de un ítem.

== CMD_USAGE_CHECKIN ==
Se pueden proteger tanto ficheros como directorios.
Sintaxis:

    cm checkin [opciones] [rutas]

    rutas: rutas de los items a proteger.

Opciones:

    --nchk: (No check) No chequea el contenido del fichero al proteger.
        Ver notas para mas información.
    --symlink: Realizar la operacion de checkin sobre el fichero de link y no
        al que apunta.
    -c: Añade un comentario al changeset creado en la operación de protección.
    --commentsfile=comment.txt: Carga el comentario del fichero especificado.
    --all (-a): Los ítems cambiados, movidos y borrados localmente, en las
        rutas dadas, también serán protegidos.
    --dependencies: Incluir las dependencias de los cambios locales entre los
        ítems a proteger.
    --private: Los ítems privados también serán protegidos. 

== CMD_HELP_CHECKIN ==
Notas:

      - Si no se especifican [opciones] ni [rutas], la operación involucrará a
      todos los cambios pendientes en el espacio de trabajo.

      - La operación de protección se aplica siempre recursivamente desde la
      ruta indicada.

      - Requisitos para proteger un ítem:

      * El ítem debe estar controlado por Plastic SCM.
      * El ítem ha de estar desprotegido.
      * La revisión ha de tener cambios. Es decir, no se pueden proteger los
        mismos datos. Para eliminar la desprotección descartando los cambios,
        se utiliza el comando uncheckout.
      * Con la opción --nchk, se fuerza la protección del ítem, sin comprobar
        los datos.

      Ejemplos:

      cm checkin fichero1.txt fichero2.txt
      cm checkin . (Protege el directorio actual)
      (Proteger recursivamente el contenido de 'src')
      cm checkin link --symlink
      (Proteger el fichero de link y no al que apunta, opción disponible en UNIX)

      Comentarios:

      Para especificar comentarios use el switch "-c" o "-m" del siguiente modo:

      cm ci file1.txt -c="my comment"
      cm ci file1.txt -m "my comment"

      Proteger 'changelist'. Ejemplo:

      cm status --short --compact --changelist=pending_to_review | cm checkin -
      (El comando listará los paths en el changelist llamado 'pending_to_review'
      y dicha lista será redirigida a la entrada del comando 'checkin').

      Si existe una variable de entorno llamada PLASTICEDITOR apuntando al
      ejecutable de un editor de texto, y no se especifica un comentario al
      hacer checkin, el editor se abrirá automáticamente para que especifique
      un comentario.

== CMD_DESCRIPTION_CHECKOUT ==
Desprotege un ítem dado.

== CMD_USAGE_CHECKOUT ==
Sintaxis:

    cm co [Opciones] paths

    paths: Rutas de los elementos que se desean desproteger.

Opciones:

    -R: Descender recursivamente dentro del ítem.
    --symlink: Efectúar la desprotección sobre el fichero de link y no al que
    apunta.
    --ignorefailed: Si un ítem no se puede bloquear (no se le puede hacer un
    checkout exclusivo), la operación de checkout continuará sin él.

== CMD_HELP_CHECKOUT ==
Notas:

    Cuando un ítem del workspace se desea modificar, se debe desproteger.
    La forma de desproteger un ítem es utilizando el comando co.
    Se pueden desproteger tanto ficheros como directorios.

    Requisitos: Para poder desproteger elementos:

    El ítem debe estar controlado por Plastic.
    El ítem debe estar protegido previamente.

Ejemplos:

    cm co . (Desproteger el directorio actual)
    cm co c:\workspace\fichero.txt
    cm co fichero1.cs fichero2.cs
    cm co –R c:\workspace\src (desprotege recursivamente todo el contenido de ‘src’)
    cm co –R * (desprotege recursivamente todos los elementos del directorio actual)
    cm co link --symlink
    (desprotege el fichero de link y no el fichero al que apunta, disponible en UNIX)

== CMD_DESCRIPTION_CHECKSELECTORSYNTAX ==
Comprueba la sintaxis de un selector.

== CMD_USAGE_CHECKSELECTORSYNTAX ==
Uso:

      cm checkselectorsyntax [--file=file]

      Opciones:

      --file=file: El fichero del cual leer el selector; si no se especifica se
      supone la entrada estándar.

== CMD_HELP_CHECKSELECTORSYNTAX ==
Notas:

      Este comando lee el selector desde un fichero o desde la entrada estándar
      y comprueba si su sintaxis es válida. Si falla la comprobación se muestra
      en la salida estándar.

== CMD_DESCRIPTION_CHGREVTYPE ==
Cambia el tipo de todas las revisiones de un ítem.

== CMD_USAGE_CHGREVTYPE ==
Sintaxis:

    cm changerevisiontype | chgrevtype | crt rutas --type=tipo
    rutas: Rutas de los items para alterar el tipo de sus revisiones.
    tipo: Tipo al que se fijarán las revisiones.

== CMD_HELP_CHGREVTYPE ==
Notas:

    Este comando sólo puede aplicarse a ficheros, no a directorios.
    El tipo especificado, ha de ser alguno soportado por el sistema:
        bin
        txt
        ...

Ejemplos:

    cm changerevisiontype c:\workspace\file.txt --type=txt
    (Cambia el tipo de revisión de 'file.txt' a 'txt'.)

    cm chgrevtype comp.zip "image file.jpg" --type=bin
    (Cambia el tipo de revisión de 'comp.zip' e "image file.jpg" a 'bin'.)

    cm crt *.* --type=txt
    (Cambia el tipo de revisión de todos los archivos a 'txt'.)

== CMD_DESCRIPTION_TRIGGER_EDIT ==
Cambia la información asociada a un trigger existente.

== CMD_USAGE_TRIGGER_EDIT ==
Sintaxis:

    cm trigger edit subtipo-tipo posición [opciones]

    subtipo-tipo: Tipo y subtipo de trigger.
    Teclee 'cm showtriggertypes' para ver una lista completa de los tipos de
    trigger disponibles. Algunos ejemplos son:

        before-mkbranch
        after-mkwokspace
        after-setselector

    posición: posición que ocupa el trigger que deseamos modificar.

Opciones:

    --position=posición: nueva posición para el trigger especificado.
    --name=nombre: nuevo nombre para el trigger especificado.
    --script=ruta: nueva ruta de ejecución para el script del trigger
      especificado. Si esta ruta comienza por "webtrigger ", se
      considerará como web trigger. Consulte la ayuda del comando para obtener
      detalles adicionales.
    --filter=filtro: Comprueba sólo aquellos elementos que coincidan con el
      filtro de busqueda indicado.
    --server=servidor: modifica el trigger en el servidor especificado.
      Si no se especifica ninguno lo busca en el que se configuró en el cliente.
      Usa 'cm help objectspec' para más información.

== CMD_HELP_TRIGGER_EDIT ==
Notas:

    Web triggers: Para crear web triggers, escriba "webtrigger <target-uri>"
    como comando de trigger. En este caso, el trigger ejecutará una consulta
    POST contra el URI especificado, en la que el cuerpo de la petición
    contiene un diccionario JSON con las variables de entorno del trigger.
    También estará presente una clave INPUT apuntando a un vector de cadenas de
    texto para aquellos triggers que escriban en la entrada estándar de sus
    comandos asociados.

Ejemplos:
    cm trigger edit after-setselector 6 --name="Gestiona backup2" --script="/nuevo/path/al/script"
    cm tr edit before-mklabel 7 --position=4 --server=myserver:8084

    cm tr edit after-add 2 --script="webtrigger http://myserver.org/api"

== CMD_DESCRIPTION_CODEREVIEW ==
Crea, edita o elimina revisiones de código.

== CMD_USAGE_CODEREVIEW ==
Sintaxis:

    cm codereview <spec> <título> [--status=nombre_estado]
                [--assignee=nombre_usuario] [--format=cad_formato]
                [--repository=rep_spec]

    spec                Puede tratarse tanto de una especificación de
                        changeset como de una especificación de rama.
                        Determina el objetivo de la nueva revisión de código.
    título              Una cadena de texto para utilizarla como título de la
                        nueva revisión de código.

    cm codereview -e <id> [--status=nombre_estado]
                [--assignee=nombre_usuario] [--repository=rep_spec]

    cm codereview -d <id> [id...] [--repository=rep_spec]

    id                  Número identificador de la revisión de código. Puede
                        utilizarse también su GUID.

Opciones:

    -e                  Edita los parámetros de una revisión de código
                        existente.
    -d                  Elimina una revisión de código existente.
    --status            Modifica el estado de una revisión de código. Consulte
                        las notas para más información.
    --assignee          Modifica el usuario asignado a la revisión de código.
    --repository        Indica el repositorio que se utilizará por defecto.
    --format            Devuelve el mensaje de respuesta con el formato
                        especificado. Consulte la ayuda para más información.

== CMD_HELP_CODEREVIEW ==
Notas:

    Este comando permite manipular revisiones de código: crear, editar
    y eliminar revisiones de código de changesets o ramas.

    Para crear una nueva revisión de código se requiere una especificación de
    changeset o rama, junto con un título. Además, puede indicarse tanto
    el usuario asignado (revisor de los cambios) como el estado inicial.
    Como resultado se devolverá un ID (o GUID, si así se solicitó).

    Para editar o eliminar una revisión de código existente se requiere el ID
    (o GUID) de la misma. No se mostrarán mensajes si no se detectan errores.

    El parámetro 'status' sólo puede tener como valor uno de los siguientes:
    'Under review' (valor por defecto), 'Reviewed' o 'Rework required'.

    El parámetro 'repository' se encuentra disponible para actuar sobre las
    revisiones de código de un repositorio diferente al asociado al espacio
    de trabajo actual (o para situaciones en las que no exista espacio de
    trabajo).

    Personalización del formato de salida:

    Este comando acepta una cadena de formato para mostrar su salida.
    Los parámetros de salida del comando son los siguientes:
        {0}             id
        {1}             guid

    Por favor, tenga en cuenta que el parámetro --format sólo tiene efecto
    al crear una nueva revisión de código.

Ejemplos:

    cm codereview cs:1856@myrepo@myserver:8084 "Mi nueva revisión" --assignee=dummy
    cm codereview br:/main/task001@myrepo@myserver:8084 "Mi nueva revisión" --status="Rework required" --assignee=newbie --format="{id} -> {guid}"

    cm codereview 1367 -e --assignee=new_assignee
    cm codereview -e 27658884-5dcc-49b7-b0ef-a5760ae740a3 --status=Reviewed

    cm codereview -d 1367 --repository=myremoterepo@myremoteserver:18084
    cm codereview 27658884-5dcc-49b7-b0ef-a5760ae740a3 -d

== CMD_DESCRIPTION_CRYPT ==
Encripta una contraseña.

== CMD_USAGE_CRYPT ==
Sintaxis:

    cm crypt mypassword

    mypassword      Contraseña que se va a encriptar.

== CMD_HELP_CRYPT ==
Notas:

    Este comando encripta una contraseña cualquiera pasada como argumento.
    Está diseñado para encriptar las contraseñas de los ficheros de 
    configuración y aumentar así su seguridad.

Ejemplos:

    cm crypt dbconfpassword -> ENCRYPTED: encrypteddbconfpassword
    (Encripta la contraseña en el fichero de la base de datos de configuración:
    db.conf)

== CMD_DESCRIPTION_DEACTIVATEUSER ==
Desactiva un usuario activado previamente.

== CMD_USAGE_DEACTIVATEUSER ==
Sintaxis:

    cm deactivateuser nombre1 nombre2 ... [opciones]

    nombre: Nombre del usuario que se desea desactivar.

    Opciones:

    --nosolveuser: Intenta desactivar el usuario especificado sin resolver
      el nombre dado en el sistema de autenticación subyacente.

    --server: desactiva el usuario en el servidor especificado.

== CMD_HELP_DEACTIVATEUSER ==
Notas:

   Este comando deshabilita a un usuario para el uso de Plastic SCM.

   Por favor, consulte la guía de usuario, o el comando "activateuser" para
   obtener más información acerca de la habilitación de usuarios de Plastic SCM.

   Para activar un usuario por primera vez, basta con utilizar Plastic SCM con
   las credenciales del usuario a activar, siempre que no se sobrepase el
   número máximo de usuarios autorizados.

   El comando comprueba que el usuario a deshabilitar existe en el sistema de
   autenticación subyacente (p.ej: ActiveDirectory, LDAP, Usuario/Contraseña ...).

   Si se desea desactivar un usuario que ya no existe en el sistema de autenticación,
   utilice la opción --nosolveuser

Ejemplos:

   cm deactivateuser juan
   cm deactivateuser juan --server=miservidor:8084
   cm deactivateuser S-1-5-21-3631250224-3045023395-1892523819-1107 --nosolveuser

== CMD_DESCRIPTION_DIFF ==
Muestra las diferencias existentes entre dos revisiones o dos changesets

== CMD_USAGE_DIFF ==
Sintaxis:

    cm differences [opciones] version1 [version2] [ruta]

    version1: especificación de rama, primera revisión, changeset, etiqueta o 
              shelve a comparar.
    version2: segunda especificación de revisión, changeset, etiqueta o shelve 
              a comparar.
    ruta:     muestra las diferencias en el fichero especificado 
    Usa 'cm help objectspec' para obtener más información sobre especificaciones.

Opciones:

    --added: imprime sólo las diferencias consistentes en items añadidos
    --changed: imprime sólo las diferencias consistentes en items cambiados
    --moved: imprime sólo las diferencias consistentes en items movidos
        o renombrados
    --deleted: imprime sólo las diferencias consistentes en items borrados
    --all: imprime todas las diferencias

  La primera letra de cada línea que se imprime denota el tipo de cambio:

      A significa que el ítem fue añadido
      C signnifica que el ítem fue cambiado
      D significa que el ítem fue borrado
      M significa que el ítem fue movido o renombrado. El ítem a la izquierda
         es el nombre original, el ítem a la derecha es el nombre en destino

    --clean: limpia las diferencias de la rama (omite las diferencias que vienen
         de los merges
    --download: almacena el contenido de las diferencias en la ruta especificada.
    --fullpaths, --fp: Fuerza al comando a imprimir rutas de workspace absolutas
         siempre que sea posible.
    --repositorypaths: imprime rutas de repositorio en lugar de rutas
         de workspace. (Ésta opción prevalece sobre la opción "--fullpaths").

== CMD_HELP_DIFF ==
Notas:

    Este comando muestra las diferencias en una rama si el segundo comando no se
    especifica o entre dos revisiones, changesets o etiquetas si se especifica
    el segundo parámetro.


  Comparar ramas:

    cm diff br:/main/task001
    cm diff br:/main/task001 \doc\readme.txt

  Comparar changesets:

    cm diff 19
    cm diff 19 25
    cm diff cs:19 cs:25
    cm diff cs:19 cs:23 --changed
    cm diff cs:19 cs:23 --repositorypaths
    cm diff cs:19 cs:23 \doc\readme.txt

  Comparar etiquetas:

    cm diff lb:EtiquetaPrimeraRelease lb:EtiquetaSegundaRelease
    cm diff lb:tag_193.2 cs:34214
    cm diff cs:31492 lb:tag_193.2

  Comaprar shelves:

    cm diff sh:2
    cm diff sh:2 sh:4

  Comparar revisiones:
    cm diff rev:readme.txt#cs:19 rev:readme.txt#cs:20
    cm diff serverpath:/doc/readme.txt#cs:19@myrepo \
        serverpath:/doc/readme.txt#br:/main@myrepo@localhost:8084

== CMD_DESCRIPTION_DIFFMETRICS ==
Muestra métricas sobre las diferencias de dos revisiones (líneas añadidas, cambiadas y borradas).

== CMD_USAGE_DIFFMETRICS ==
(líneas cambiadas, añadidas y borradas)

Sintaxis:

    cm diffmetrics [opciones] spec_revision1 spec_revision2

    spec_revision1: Especificación de revisión.
    spec_revision2: La otra especificación de revisión.

    Usa 'cm help objectspec' para más información sobre especificaciones.

Opciones:

    --format=str: Cadena de formato de salida. Ver notas para más información.
    --encoding=tipo_codificación: Cambia la codificación.
    --ignore=método_de_comparación: Cambia la forma de calcular las diferencias.

    tipo_codificación : ascii
                        unicode
                        bigendian
                        utf7
                        utf8

    método_de_comparación:
        none                 (por defecto)
        eol                  (ignora diferencias en retornos de carra)
        whitespaces          (ignora diferencias en espacios en blanco)
        eol&whitespaces  (las dos anteriores)

== CMD_HELP_DIFFMETRICS ==
Notas:

     Este comando acepta una cadena de formato para mostrar la salida.
     Cada parámetro de salida se identifica con un número, y el usuario se
     puede referir a él escribiéndolo entre los símbolos '{' y '}'.

     Los parámetros de salida de este comando son los siguientes:
         0: Número de líneas cambiadas
         1: Número de líneas añadidas
         2: Número de líneas borradas

     Éstas son cadenas de formato válidas:
         --format={0}{1}{2}
         --format="Hay {0} líneas cambiadas, {1} líneas añadidas y {2} líneas borradas"

Ejemplos:

    cm diffmetrics fichero.txt#br:/main#2 fichero.txt#br:/main/scm0211#4
    cm diffmetrics fichero.txt#br:/main#2 fichero.txt#br:/main#3 --encoding=utf8 --ignore=whitespaces

== CMD_DESCRIPTION_FASTEXPORT ==
Exporta los datos de un repositorio de Plastic SCM a un formato fast-export.

== CMD_USAGE_FASTEXPORT ==
Sintaxis:

    cm ^fast-export | ^fe <repspec> <fast-export-file>
                        [--^import-marks=<marks_file>]
                        [--^export-marks=<marks_file>]
                        [--^branchseparator=<chr_separator>]
                        [--^nodata] [--^from=<changesetid>] [--^to=<changesetid>]
Opciones:

    repspec             Repositorio cuyos datos serán exportados. 
                        (Usa 'cm help objectspec' para aprender cómo especificar
                        un repositorio.)
    fast-export-file    Fichero con los datos del repositorio en formato 
                        fast-export de Git.
    --import-marks      Fichero de marcas usado para la importación incremental.
                        Este fichero habrá sido previamente exportado con el
                        comando --export-marks. Los changesets descritos en este
                        fichero no serán importados porque ya lo fueron en una
                        importación previa.
    --export-marks      Fichero donde se guardan los changesets importados.
                        Este fichero podrá ser usado en una operación fast-import
                        para indicar los changesets que han sido importados.
    --branchseparator   Plastic SCM usa "/" como separador por defecto en la 
                        jerarquía de ramas. Esta opción permite usar un carácter
                        como separador de jerarquía. Por ejemplo, la rama 
                        main-task-sub será mapeada en Plastic como /main/task/sub.
    --nodata            Realiza la exportaciónExporta pero sin incluir datos.
                        Esta opción es útil si se desea comprobar que la
                        exportación se ejecutará sin problemas.
    --from              Exporta desde el changeset especificado.
    --to                Exporta hasta el changeset especificado.

== CMD_HELP_FASTEXPORT ==
Notas:

    - Para importar un repositorio de Plastic a Git, usa el siguiente comando:
      cat repo.fe.00 | git fast-import --export-marks=marks.git  --import-marks=marks.git

    - La exportación incremental es soportado usando un fichero de marcas que 
      contenga los changesets previamente importados (ficheros --import-marks y
      --export-marks).
      Esto significa que solamente los nuevos changesets que no fueron 
      exportados en una operación previa de fast-export serán exportados.

Ejemplos:

    cm fast-export repo@localhost:8087 repo.fe.00 --import-marks=marks.cm --export-marks=marks.cm
    (Exporta el repositorio "repo" en el servidor local al fichero "repo.fe.00"
    en formato fast-export de Git y crea el fichero de marcas para poder 
    realizar una futura exportación incremental.)

    cm ^fast-export repo@localhost:8087 repo.fe.00 --^from=20
    (Exporta el repositorio "repo" en el servidor local al fichero "repo.fe.00"
    en formato Git fast-export desde el changeset '20'.)

== CMD_DESCRIPTION_FASTIMPORT ==
Importa datos de fast-export de Git en el repositorio.

== CMD_USAGE_FASTIMPORT ==
Sintaxis:

    cm ^fast-import | ^fi <repspec> <fast-export-file>
                        [--^import-marks=<marks_file>]
                        [--^export-marks=<marks_file>]
                        [--^stats] [--^branchseparator=<chr_separator>]
                        [--^nodata] [--^ignoremissingchangesets] [--^mastertomain]

Opciones:

    repspec                     Repositorio en el cual se importarán los datos.
                                Si no existe en el momento de la operación, se
                                crea automáticamente. (Usa 'cm help objectspec'
                                para aprender cómo especificar un repositorio.)
    fast-export-file            Fichero con los datos en formato Git
                                fast-export.
    --import-marks              El fichero de etiquetas (marks) utilizado para
                                importaciones incrementales. Dicho fichero se
                                ha exportado previamente con --export-marks.
                                Los changesets descritos en este fichero no se
                                importarán porque ya existían de una importación
                                previa.
    --export-marks              El fichero en el cual se guardarán los changesets
                                importados. Dicho fichero se utiliza en una 
                                operación posterior de fast-import para señalar
                                los changesets que ya han sido importados.
    --stats                     Muestra estadísticas del proceso de importación.
    --branchseparator           Plastic SCM usa "/" como separador por defecto
                                en la jerarquía de ramas. Esta opción permite
                                usar un carácter como separador en esa
                                jerarquía. Por ejemplo, la rama main-task-sub
                                será mapeada en Plastic SCM como /main/task/sub.
    --nodata                    Realiza la importación pero sin incluir datos.
                                Esta opción es útil si se desea comprobar que la
                                importación se ejecutará sin problemas.
    --ignoremissingchangesets   Los changesets que no pueden ser importados se
                                descartan y la operación de fast-import continúa
                                sin ellos.
    --mastertomain              Realiza la importación usando "main" en lugar
                                de "master".

== CMD_HELP_FASTIMPORT ==
Notas:

    * Para exportar un repositorio de Git, utilice un comando como el
    siguiente:
    git fast-export --all -M --signed-tags=strip
    --tag-of-filtered-object=drop> ..\git-fast-export.dat
        La opción -M es importante para detectar ítems movidos.

    * El repositorio especificado se crea en caso de que no exista.

    * Se soporta una importación incremental utilizando ficheros de marcas que
    contienen los changesets ya importados (--import-marks and --export-marks).
    Esto significa que solamente se importarán los changesets que no fueron
    importados previamente.

Ejemplos:

    cm fast-import mynewrepo@atenea:8084  repo.fast-export
    Importa el contenido exportado en el fichero repo.fast-export en el
    repositorio "mynewrepo" del servidor atenea:8084.

    cm fast-import repo@server:8084  repo.fast-export --export-marks=rep.marks
    Importa el contenido del fichero de exportaciones repo.fast-export en el
    repositorio "mynewrepo" del servidor atenea:8084 y crea un archivo de
    marcas para importaciones incrementales posteriores.

    cm fast-import repo@server:8084  repo.fast-export --importmarks=repo.marks
    --export-marks=repo.marks
    Importa el contenido del fichero repo.fast-export. Solamente se importarán
    los changesets que no están en el fichero de marcas. Se utiliza el mismo
    fichero de marcas para guardar los changesets que se importarán esta vez,
    de nuevo con el fin de otra importación incremental posterior.

== CMD_DESCRIPTION_FILEINFO ==
Obtiene información detallada sobre elementos en el espacio de trabajo.

== CMD_USAGE_FILEINFO ==
Sintaxis:

    cm fileinfo <item_path> [--fields=field_list] [--xml[=output_file]]
                [--format=str_format] [--encoding=name]

    item_path           Elementos para mostrar, separados por espacios. Pueden
                        utilizarse comillas (") para aquellas rutas que
                        contengan espacios.

Opciones:

    --fields            Una cadena de valores separados por coma. Indica
                        qué campos se mostrarán por cada elemento.
                        Puede encontrar información adicional mediante el
                        comando 'cm help fileinfo'.
    --xml               Vuelca la salida en formato XML a la salida estándar.
                        Es posible especificar un fichero de salida. Esta opción
                        no puede combinarse con --format.
    --format            Obtiene el mensaje de salida en un formato específico.
                        Consulte las notas para más información. No puede
                        combinarse con --xml.
    --symlink           Aplica la operación fileinfo al enlace simbólico y no
                        a su destino.
    --encoding          Especifica la codificación de salida. P. ej.: UTF-8.
                        Consulte la documentación MSDN para obtener la lista de
                        codificaciones soportadas y su formato, al final de la
                        página. La columna "Name":
                        http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_FILEINFO ==
Notas:

    Este comando muestra una lista detallada de atributos para cada elemento
    seleccionado. Cada atributo se muestra en una nueva línea por defecto.

    Se puede modificar la lista de atributos para mostrar únicamente los
    atributos que el usuario necesite. A tal efecto se puede utilizar el
    argumento --fields=lista, que acepta una cadena de nombres de atributo
    separados por comas. De este modo, solo se mostrarán aquellos argumentos
    cuyo nombre esté presente en la lista.

    Revision Head Changeset:

    Esta opción está desactivada por defecto. Tenga en cuenta que la
    recuperación de este atributo es notablemete más lenta que el resto, por
    lo que recomendamos al usuario agrupar tantos ficheros por ejecución como
    sea posible. Esto mejora los tiempos de ejecución, al evitar numerosas
    ejecuciones 'cm fileinfo' separadas.
    Adicionalmente, esta característica no se encuentra disponible actualmente
    para directorios controlados por PlasticSCM.

    A continuación se encuentra la lista completa de nombres de atributo. Los
    nombres marcados con asterisco ('*') no se muestran por defecto:
        ClientPath              Ruta local del elemento en disco.
        RelativePath            Ruta del elemento relativa al workspace.
        ServerPath              Ruta del elemento en el repositorio.
                                (Nota: las rutas afectadas por workspace
                                transformables no están soportadas actualmente)
        Size                    Tamaño del elemento.
        Hash                    Suma 'hash' del elemento
        Owner                   Nombre del usuario propietario del elemento.
        RevisionHeadChangeset*  Changeset de la revisión cargada en el último
                                changeset de la rama (ver párrafo anterior).
        RevisionChangeset       Changeset de la revisión cargada en el workspace
        RepSpec                 Especificación del repositorio al que pertenece
                                el elemento (repositorio@servidor).
        Status                  Estado actual del elemento en el espacio de
                                trabajo (añadido, eliminado, checkout, etc.).
        Type                    Tipo de la revisión (texto, binario, directorio,
                                enlace simbólico o desconocido).
        Changelist              Lista de cambios a la que pertenece el elemento
                                (si la hubiere).
        IsLocked*               Muestra si el elemento está bloqueado o no.
        LockedBy*               Usuario que bloqueó el elemento mediante
                                checkout exclusivo.
        LockedWhere*            Localización del elemento bloqueado mediante
                                checkout exclusivo.
        IsUnderXlink            Muestra si el elemento se encuentra bajo un
                                Xlink o no.
        UnderXlinkTarget        Repositorio destino del Xlink en que se
                                encuentra el elemento, si lo hubiere.
        UnderXlinkPath          Ruta en el repositorio apuntado por el Xlink
                                en que se encuentra el elemento, si lo hubiere.
        UnderXlinkWritable      Muestra si el Xlink bajo el que se encuentra el
                                elemento es de escritura o no.
        UnderXlinkRelative      Muestra si el Xlink bajo el que se encuentra el
                                elemento es relativo o no.
        IsXlink                 Muestra si el elemento es un Xlink o no.
        XlinkTarget             Repositorio objetivo del Xlink, si el elemento
                                lo es.
        XlinkName               Nombre del Xlink, si el elemento lo es.
        XlinkWritable           Muestra si el elemento es un Xlink de escritura
                                o no.
        XlinkRelative           Muestra si el elemento es un Xlink relativo o no

    Personalización del formato de salida:

    Este comando acepta una cadena de formato para mostrar su salida.
    Los parámetros de salida de este comando son los siguientes:
        ClientPath
        RelativePath
        ServerPath
        Size
        Hash
        Owner
        RevisionHeadChangeset
        RevisionChangeset
        Status
        Type
        Changelist
        IsLocked
        LockedBy
        LockedWhere
        IsUnderXlink
        UnderXlinkTarget
        UnderXlinkPath
        UnderXlinkWritable
        UnderXlinkRelative
        IsXlink
        XlinkTarget
        XlinkName
        XlinkWritable
        XlinkRelative
        RepSpec

        Tenga en cuenta que las opciones --format y --xml son mutuamente
        exclusivas, por lo que no se pueden utilizar simultáneamente.

Ejemplos:

    cm fileinfo file1.txt file2.txt dir/
    cm fileinfo "New Project.csproj" --xml
    cm fileinfo assets.art --fields=ServerPath,Size,IsLocked,LockedBy
    cm fileinfo proj_specs.docx --fields=ServerPath,RevisionChangeset --xml
    cm fileinfo samples.ogg --format="{ServerPath}[{Owner}] -> {Size}"

== CMD_DESCRIPTION_FIND_QUERY ==
Obtiene una serie de objetos en base a unos criterios de búsqueda.

== CMD_USAGE_FIND_QUERY ==
Sintaxis:

    cm find objeto      [where str_condiciones] 
                        [on repository 'repspec' | on repositories <'repspec'>+]
                        [--format=str_format] [--dateformat=date_format]
                        [--nototal] [--file=dump_file] [--xml] [--encoding=name]


    cm find objeto [where condiciones] [on repositorios] [opciones]

    objeto              Objeto a buscar.
                        Lee la guía sobre'cm find' para ver los objetos que 
                        puedes buscar:
                        https://www.plasticscm.com/documentation/cmfind/plastic-scm-version-control-query-system-guide.shtml

Opciones:

    condiciones         Condiciones de búsqueda sobre los atributos del objeto.
    repspec             Nombre o especificación del repositorio donde buscar.
                        En el caso de "repositories", debes separar las 
                        especificaciones (repspec) por comas.
                        Usa 'cm help objectspec' para obtener más información
                        sobre las especificaciones de repositorios.
    --format            Devuelve el mensaje de salida en un formato determinado.
                        Lee la guía sobre 'cm find' para ver todos los atributos
                        de los objetos que puedes usar para formatear la salida:
                        https://www.plasticscm.com/documentation/cmfind/plastic-scm-version-control-query-system-guide.shtml
    --dateformat        Formato de las fechas. Por defecto "dd/MM/yyy HH:mm:ss".
    --nototal           No muestra el número total de registros.
    --file              Fichero en el que se vuelcan los resultados.
    --xml               Formatea salida como XML.
    --encoding          Especifica la codificación con la que se quiere mostrar
                        la salida del comando o escribir el fichero de 
                        resultado, por ejemplo, utf-8.
                        Consulte la documentación de MSDN para obtener 
                        la tabla completa de codificaciones soportadas y su 
                        formato (al final de la página, en la columna "Name"):
                        http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_FIND_QUERY ==
Notas:

    Si no se especifica ningún repositorio, la búsqueda se realiza sobre el
    repositorio actual.

    Cuando se ejecutan búsquedas desde la línea de comandos usando operadores de
    comparación (>, <, >=, <=), el intérprete de comandos (o shell) considera a
    estos operadores como redirecciones de E/S. Por lo que es necesario escribir
    la búsqueda entre dobles comillas.

    El comando cm find acepta una cadena de formato para mostrar la salida.
    Cada parámetro de salida se identifica con un nombre, y el usuario se
    puede referir a él escribiéndolo entre los símbolos '{' y '}'.
    Los parámetros de salida se corresponden en la mayoría de los casos con
    los atributos del objeto.

    Estas son cadenas de formato válidas:
        --format={id}{date}{name}
        --format="{item}#{branch} con fecha {date}"

    Consideraciones sobre XML y codificación (encoding):

    Cuando se especifica la opción --xml, se muestra por consola el resultado 
    como un texto XML. Por defecto se utiliza la codificación estándar del 
    sistema operativo. Es posible que si hay caracteres extraños (tildes o 
    eñes), no se visualicen correctamente en la consola. Pero si se redirige la
    salida a un fichero, el contenido se visualizará correctamente. 
    Cuando se especifican simultáneamente las opciones --xml y --file, se 
    utiliza por defecto la codificación UTF-8.

Ejemplos:

    cm find revision
    cm find revision "where changeset = 23 and owner = 'user'"
    cm find branch "on repository 'rep1'"
    cm find label "on repositories 'rep1', 'rep:default@localhost:8084'"
    cm find branch "where parent = 'br:/main' on repository 'rep1'"
    cm find revision "where item = 'item:.'" --format="{item}#{branch}"
    cm find revision "where item = 'item:.'" --xml --file=c:\queryresults\revs.xml

== CMD_DESCRIPTION_FINDCHANGED ==
Obtiene una lista de los ficheros que se han modificado fuera del control de
Plastic SCM. Este comando se considera obsoleto y se mantiene únicamente por
retrocompatibilidad. Reemplazado por cm status.

== CMD_USAGE_FINDCHANGED ==
fuera del control de Plastic

Sintaxis:

    cm findchanged [opciones][ruta]

    ruta: Ruta inicial de búsqueda.

Opciones:

    -R|-r|--recursive   Descender recursivamente dentro de directorios.
    --checkcontent      Comparar los ficheros por el contenido.
    --onlychanged       Con esta opción los elementos desprotegidos no serán
    devueltos entre los cambiados.

== CMD_HELP_FINDCHANGED ==
Notas:

El comando findchanged se utiliza para identificar los items que se han
modificado en el espacio de trabajo. Si no se utiliza opción
–checkcontent solamente se comparan los timestamp para obtener los ficheros
cambiados. Si se utiliza la opción –checkcontent, se compara el contenido del
fichero.

Cuando por alguna razón no podemos obtener conexión con el servidor y se
trabaja desconectado, y se modifica una serie de ficheros, se puede utilizar
este comando para identificar los elementos cambiados.

Ejemplos:

    cm findchanged .
    cm findchanged -R . | cm checkout - (desprotege los elementos cambiados)

== CMD_DESCRIPTION_FINDCHECKEDOUT ==
Obtiene un listado de desprotecciones pendientes. Este comando está deprecado y
se mantiene únicamente por retrocompatibilidad. Reemplazado por cm status.

== CMD_USAGE_FINDCHECKEDOUT ==
Sintaxis:

    cm findcheckouts [opciones]

Opciones:

    --all: Muestra desprotecciones de todos los usuarios.
    --format=cadena: Cadena de formato de salida.
    Ver notas para más información.

== CMD_HELP_FINDCHECKEDOUT ==
Notas:

    Este comando se utiliza para encontrar las protecciones pendientes en un
    espacio de trabajo. Se puede combinar con el comando 'checkin' para
    proteger todos los elementos desprotegidos, utilizando la redirección de
    la salida estándar. Vea los ejemplos para más información.

    Este comando acepta una cadena de formato para mostrar la salida.
    Cada parámetro de salida se identifica con un número, y el usuario se puede
    referir a él escribiéndolo entre los símbolos '{' y '}'.

    Los parámetros de salida de este comando son los siguientes:
         0: Fecha de modificación.
         1: Propietario.
         2: Información del espacio de trabajo.
         3: Máquina.
         4: Ruta del ítem.
         5: Información de repositorio y rama.

    Éstas son cadenas de formato válidas:
         --format={0}{1}{2}{3}{4}{5}
         --format="El fichero {4} está desprotegido por el usuario {1}"

Ejemplos:

    cm findcheckouts
    cm findcheckouts --all
    cm findcheckouts --format={4} | cm checkin -
    (Protege todos los items desprotegidos)
    cm findcheckouts --format={4} | cm uncheckout -
    (Deshace las desprotecciones de todos los items desprotegidos)

== CMD_DESCRIPTION_FINDPRIVATE ==
Obtiene un listado de items privados en el espacio de trabajo. Este comando
está deprecado y se mantiene únicamente por retrocompatibilidad. Reemplazado
por cm status.

== CMD_USAGE_FINDPRIVATE ==
Sintaxis:

    cm findprivate [opciones][ruta]

    rutas: Ruta inicial de búsqueda.

Opciones:

    -R|-r|--recursive   Descender recursivamente dentro de directorios.
    --exclusions        Ignora los elementos excluidos.

== CMD_HELP_FINDPRIVATE ==
Notas:

    Si no se proporciona una ruta, se tomará el directorio actual.

    Este comando es útil para añadir solamente los elementos privados de una
    ruta al repositorio, utilizando la redirección de la salida estándar.
    Ver ejemplos.

Ejemplos:

    cm findprivate .
    cm findprivate -R | cm add - --coparent
    (busca recursivamente items privados, y los añade al
    repositorio desprotegiendo los padres si es necesario)

== CMD_DESCRIPTION_GETCONFIG ==
Obtiene la información de configuración solicitada.

== CMD_USAGE_GETCONFIG ==
Sintaxis:

    cm getconfig setting

    setting: Parámetro de configuración que se quiere consultar.
    Los parámetros disponibles son:
        setfileasreadonly : indica si los ficheros protegidos se dejan en sólo lectura.
        location: devuelve la ruta del fichero de configuración del cliente.
        extensionworkingmode: devuelve el modo de trabajo de la extensión.
        extensionprefix: devuelve el prefijo de la extensión configurada.
        defaultrepserver: devuelve el servidor de repositorios configurado por defecto.

    Devuelve el valor de la clave solicitada.

== CMD_HELP_GETCONFIG ==
Ejemplos:

    cm getconfig setfileasreadonly

== CMD_DESCRIPTION_GETFILE ==
Obtiene una revisión especificada.

== CMD_USAGE_GETFILE ==
Sintaxis:

    cm cat spec [opciones]

    spec: Especificación de la revisión. Usa 'cm help objectspec' para obtener
          más información sobre especificaciones.

Opciones:

    --file=fichero: Fichero de salida, opcional. Si no se especifica
      el resultado, se escribe en la salida estándar.
    --debug: Cuando se especifica la revisión de un directorio, el
      comando muestra su id de revisión y sus permisos.

== CMD_HELP_GETFILE ==
Notas:

    Una especificación de revisión se define como:

    [rev:]RUTA[#(brSpec|csetSpec|lbSpec)][@repSpec]
    [rev:]revid:rev_id[@repSpec]
    [rev:]serverpath:ruta_de_servidor#(brSpec|csetSpec|lbSpec)[@repSpec]

    brSpec: br:NOMBRE_RAMA[#LAST]
    csetSpec: cs:NUMERO_CSET
    lbSpec: lb:NOMBRE_ETIQUETA
    repSpec: [rep:]NOMBRE_REPOSITORIO[@[repserver:]NOMBRE_SERVIDOR:PUERTO_SERVIDOR]

Ejemplos:

    Obtener la última revisión de la rama main del ítem fichero.txt:
      cm cat fichero.txt#br:/main

    Obtener la revisión del changeset 3 del ítem fichero.txt y escribirlo en el
    fichero tmp.txt:
      cm cat fichero.txt#cs:3 --file=tmp.txt

    Obtener la revisión id 1230:
      cm cat revid:1230@rep:myrepos@repserver:london:8084

    Obtener el fichero /src/foo.c en el último changeset de la rama
    br:/main/task003 del repositorio 'myrepo':
      cm cat serverpath:/src/foo.c#br:/main/task003@myrepo

== CMD_DESCRIPTION_GETREVISION ==
Trae una revisión especifica al espacio de trabajo actual

== CMD_USAGE_GETREVISION ==
Sintaxis:

    cm getrevision revision_spec

    revision_spec: Especificación de la revisión que se desea obtener. Usa 
    'cm help objectspec' para obtener más información sobre especificaciones.

== CMD_HELP_GETREVISION ==
Notas:

    Una especificación de revisión se define como:

    [rev:]RUTA[#(brSpec|csetSpec|lbSpec)][@repSpec]
    [rev:]revid:[#(brSpec|csetSpec|lbSpec)][@repSpec]

    brSpec: br:NOMBRE_RAMA[#LAST]
    csetSpec: cs:NUMERO_CSET
    lbSpec: lb:NOMBRE_ETIQUETA
    repSpec: [rep:]NOMBRE_REPOSITORIO[@[repserver:]NOMBRE_SERVIDOR:PUERTO_SERVIDOR]

Ejemplos:

    cm getrevision fichero.txt#cs:3 (Establece la revisión del changeset 3 del
    fichero.txt)

== CMD_DESCRIPTION_GETSTATUS ==
Obtiene el estado de un ítem.

== CMD_USAGE_GETSTATUS ==
Sintaxis:

    cm getstatus [opciones] rutas

    rutas: Rutas de los items sobre los que se desea consultar su estado.

Opciones:

    -R|-r|--recursive   Descender recursivamente dentro de directorios.

== CMD_HELP_GETSTATUS ==
Notas:

    Los estados posibles de un ítem son los siguientes:
        privado: El ítem no está controlado por Plastic SCM.
        desprotegido: El ítem está desprotegido, y por tanto controlado por Plastic SCM.
        protegido: El ítem está protegido, y por tanto controlado por Plastic SCM.

Ejemplos:

    cm getstatus fichero1.txt fichero2.txt

== CMD_DESCRIPTION_GETTASKBRANCHES ==
Obtiene las ramas asociadas con la tarea especificada.

== CMD_USAGE_GETTASKBRANCHES ==
Sintaxis:

    cm gettaskbranches tarea [opciones]

    tarea: el identificador de la tarea.

Opciones:

    --format=cadena: Cadena de formato de salida.
    --dateformat:    Formato de las fechas.

== CMD_HELP_GETTASKBRANCHES ==
Notas:

     Este comando admite una cadena de formato para mostrar la salida.

     Los parametros de salida de este comando son los siguientes:
         tab: Introduce un tabulador.
         newline: Introduce una nueva línea.
         name: El nombre de la rama.
         owner: El propietario de la rama.
         date: La fecha en la que fue creada la rama.
         type: El tipo de la rama ('T' si es smart o 'F' si no lo es).
         parent: La rama padre.
         comment: El comentario de la rama.
         repname: El repositorio donde se encuentra la rama.
         repserver: El nombre del servidor.

Ejemplos:

    cm gtb 4311
    cm gtb 4311 --format="br:{name}"
    cm gtb 4311 --format="br:{name} {date}" --dateformat="yyyy/MM/dd HH:mm:ss"

== CMD_DESCRIPTION_GETWWI ==
Muestra información acerca del selecetor del espacio de trabajo.

== CMD_USAGE_GETWWI ==
Uso:

    cm wi [ruta_workspace]

    ruta_workspace: Ruta en disco del workspace a consultar.

== CMD_HELP_GETWWI ==
Notas:
    Este comando muestra información acerca de la configuración del selector
    del espacio de trabajo (en qué repositorio, rama y etiqueta se está
    trabajando).

Ejemplos:
    cm wi c:\mywk

== CMD_DESCRIPTION_GWP ==
Obtiene información acerca del workspace a partir de un path.

== CMD_USAGE_GWP ==
Uso:

    cm getworkspacefrompath | gwp <ruta> [--format=str_format]

    ruta            Fichero o directorio en disco.

Opciones:
    --format        Devuelve el mensaje de salida con un formato determinado.
                    Más información en las notas.

== CMD_HELP_GWP ==
Notas:

    Este comando muestra por pantalla información del workspace al que
    pertenece una ruta determinada.

    Este comando acepta una cadena especificando el formato con el que se
    debe mostrar la salida. Los parámetros de salida son los siguientes:
        {0} | {wkname}          Nombre del workspace.
        {1} | {wkpath}          Ruta del workspace.
        {2} | {machine}         Nombre de la máquina del workspace.
        {3} | {owner}           Propietario del workspace.
        {4} | {guid}            GUID del workspace.

        {tab}                   Inserta un tabulador.
        {newline}               Inserta un salto de línea.

Ejemplos:

    cm gwp c:\myworkspace\code\file1.cpp --format="Nombre del wkspace: {wkname}"

== CMD_DESCRIPTION_HELP ==
Muestra ayuda acerca de un comando.

== CMD_USAGE_HELP ==
Sintaxis:

    cm help nombre_comando

== CMD_HELP_HELP ==

== CMD_DESCRIPTION_IOSTATS ==
Muestra estadísticas de rendimiento relativas al hardware

== CMD_USAGE_IOSTATS ==
Sintaxis:

    cm iostats [server_spec] list_of_tests [options]

    server_spec: Servidor válido de PlasticSCM para ejecutar las pruebas de red,
        tales como "serverUploadTest" y/o "serverDownloadTest".
        Si no se especifica ningún parámetro, se intentará usar el servidor
        configureado por defecto.
        Usa 'cm help objectspec' para aprender cómo indicar la especificación
        del servidor.

    list_of_tests: Test disponibles:

        --serverUploadTest: mide la velocidad de subida de datos a través de la
            red desde el cliente de Plastic SCM al servidor.

        --serverDownloadTest: mide la velocidad de bajada de datos a través de
            la red desde el servidor de Plastic SCM al cliente.

        --diskTest: mide la velocidad de escritura y lectura a disco.

        --systemNetworkUsage: muestra el uso actual de los recursos de red del
            sistema. (Se usan contadores de rendimiento del sistema operativo).
            (Sólo disponible en plataformas Windows).

        --systemDiskUsage: muestra el uso actual de los discos físico del
            sistema. (Se usan contadores de rendimiento del sistema operativo).
            (Sólo disponible en plataformas Windows).

Opciones (options):

    --netTotalMB: cantidad de datos de usuario (en MegaBytes) que se
        transmitirán en un test de red, tales como"serverDownloadTest"
        o "serverUploadTest".
        Debe ser un valor comprendido entre "4" y "512" (por defecto: 16).

    --networkIterations: indica el número de iteraciones para los tests de red:
        "serverUploadTest" o "serverDownloadTest".
        Debe ser un valor comprendido entre "1" y "100". (por defecto: 1).

    --diskDataSize: cantidad de datos (en MegaBytes) que se escribirán y leerán
        en el test de disco ("diskTest").
        Debe ser un valor comprendido entre "100" y "4096". (por defecto: 512).

    --diskTestPath: Ruta donde el test de disco escribe los datos para la
        realización de la prueba. Si no se especifica ningún parámetro, se
        intentará usar un directorio dentro del directorio temporal del sistema.

    --systemDisplayTime: Espacio de tiempo (en segundos) en el que se muestra el uso
        de los recursos del sistema. Éste parámetro es tenido en cuenta para los tests:
        "systemNetworkUsage" y "systemDiskUsage".
        Debe ser un valor comprendido entre "1" y "3600". (por defecto: 5 segundos).

    --systemDisplayTimeInterval: Periodo de tiempo (en segundos) entre las muestras
        que se toman sobre el uso de los recursos del sistema. Este parámetro
        es tenido en cuenta para los tests: "systemNetworkUsage" y "systemDiskUsage".
        Debe ser un valor comprendido entre "1" y "60". (por defecto: 1 segundo).

Ejemplo:

    cm iostats MYSERVER:8087 --serverUploadTest --serverDownloadTest --netTotalMB=32

== CMD_HELP_IOSTATS ==
Notas:

    Éste comando necesita un servidor de Plastic SCM que se usará para las
    pruebas de velocidad de la red ("serverUploadTest" y/o
    "serverDownloadTest").

    El parámetro "--diskTestPath" debe apuntar a una ruta que pertenezca a la
    unidad física de disco que se pretende probar.
    Si no se especifica ninguna ruta, el comando intentará utilizar la ruta
    de almacenamiento temporal del sistema.
    La unidad de disco del directorio de pruebas de disco debe contener suficiente
    espacio libre para ejecutar la prueba.

    Durante la ejecución del comando se puede experimentar una caída de rendimiento
    de la máquina debido a las pruebas realizadas.

== CMD_DESCRIPTION_ISSUETRACKER ==
Obtiene, actualiza o busca el estado de una tarea del sistema de incidencias especificado.

== CMD_USAGE_ISSUETRACKER ==
Sintaxis:

    cm issuetracker <name> status get <task_id> <parameter>+
    cm issuetracker <name> status update <task_id> <status> <parameter>+
    cm issuetracker <name> status find <status> <parameter>+
    cm issuetracker <name> connection check <parameter>+

    name:             Nombre del sistema de seguimiento de incidencias contra
                      el que se va a conectar.
                      Sólo Jira está soportado por el momento.
    task_id:          Número de la tarea que se quiere consultar o actualizar.
    status:           Un estado de tarea válido en el sistema especificado.

Parámetros de Jira (son todos obligatorios):

    --user=user         El usuario a autenticar.
    --password=pwd      La contraseña a autenticar.
    --host=url          La url del sistema de seguimiento de incidencias.
    --projectkey=clave  La clave del proyecto en Jira.
    
== CMD_HELP_ISSUETRACKER ==
Ejemplos:

    cm issuetracker jira status get 11 --user=user@mail.es --password=pwd --host=https://user.atlassian.net --projectkey=PRJ
    (Obtiene el estado de la tarea 11 para el proyecto PRJ)
       
    cm issuetracker jira status update 11 "Done" --user=user@mail.es --password=pwd --host=https://user.atlassian.net --projectkey=PRJ
    (Actualiza el estado a "Done" de la tarea 11 para el proyecto PRJ)
    
    cm issuetracker jira status find "Done" --user=user@mail.es --password=pwd --host=https://user.atlassian.net --projectkey=PRJ
    (Obtiene los ids de tarea cuyo estado es "Done" para el proyecto PRJ)
    
    cm issuetracker jira connection check --user=user@mail.es --password=pwd --host=https://user.atlassian.net
    (Comprueba si los parámetros de configuración son válidos o no)    

== CMD_DESCRIPTION_LICENSEINFO ==
Muestra información de la licencia y de su uso.

== CMD_USAGE_LICENSEINFO ==
Sintaxis:

    cm licenseinfo | li [--server=repserverspec] [--inactive] [--active] [--sort={name|status}]

Opciones:

    --server:           Obtiene la información de la licencia para el servidor
                        especificado. Si no se especifica ningún servidor, el
                        comando se ejecutará contra el servidor configurado en
                        el cliente.
                        Usa 'cm help objectspec' para obtener más información
                        sobre especificaciones.
    --inactive          Muestra únicamente usuarios inactivos en la sección de
                        "uso de licencia".
    --active            Muestra únicamente usuarios activos en la sección de
                        "uso de licencia".
    --sort              Ordena usuarios usando el campo especificado:
                        'name' o 'status'.

== CMD_HELP_LICENSEINFO ==
Notas:

   Se muestra información acerca de la fecha de expiración, los usuarios
   activos y no activos, etc.

Ejemplos:

   cm licenseinfo
   cm licenseinfo --server=myserver:8084

== CMD_DESCRIPTION_LINKTASK ==
Enlaza un changeset a tareas pertenecientes a un control de tareas.

== CMD_USAGE_LINKTASK ==
Sintaxis:

    cm linktask changesetSpec extensionPrefix taskKey

    changesetSpec: Especificación completa del changeset para ser enlazado a una
        tarea en el sistema de control de tareas. Usa 'cm help objectspec' para
        obtener más información sobre especificaciones.

    extensionPrefix: Prefijo del sistema de control de tareas configurado.

    taskKey: Identificador de la tarea para asociar al changeset especificado.

== CMD_HELP_LINKTASK ==
Ejemplos:

    cm lt cs:8@rep:default@repserver:localhost:8084 jira PRJ-1

== CMD_DESCRIPTION_LOCK_LIST ==
Muestra los elementos bloqueados (checkouts exclusivos) en el servidor especificado.

== CMD_USAGE_LOCK_LIST ==
Sintaxis:

    cm lock list [revspec [revspec ...]] [flags]

    revspec: especificación de revisión. Usa 'cm help objectspec' para aprender
    cómo indicar las especificaciones de las revisiones.
Opciones:

    flags:
        --server=<server>: muestra los elementos bloqueados en el
            servidor, sobreescribiendo el valor por defecto (tomado del espacio 
            de trabajo actual o del fichero client.conf).
            Usa 'cm help objectspec' para más información sobre especificaciones.

        --onlycurrentuser: Filtra los resultados mostrando únicamente los
            bloqueos efectuados por el usuario actual de Plastic SCM.

        --onlycurrentworkspace: Filtra los resultados mostrando únicamente los
            bloqueos efectuados en el espacio de trabajo actual. (Se cotejan
            los resultados por nombre de espacio de trabajo).

        --ignorecase: Ignora mayúsculas y minúsculas cuando una servepath spec
            es usada. Con esta opción el comando funcionará para "/src/foo.c"
            incluso si el usuario indica"/sRc/fOO.c".

== CMD_HELP_LOCK_LIST ==
Ejemplos:

    cm lock list
    cm lock ls --server=DIGITALIS:8084
    cm lock ls serverpath:/src/foo.c#cs:99@default@localhost:8084
    cm lock ls revid:3521@default itemid:2381@secondary --onlycurrentuser
    cm lock ls --onlycurrentuser
    cm lock ls --onlycurrentuser --onlycurrentworkspace

Notas:

    El comando muestra una lista de los elementos actualmente bloqueados en el
    servidor por defecto. También acepta una lista de especificaciones de
    revisión; en ese caso, solo se mostrarán los elementos bloqueados que
    estén asociados a al menos una de las revisiones especificadas como
    argumentos del comando. Adicionalmente, se puede utilizar el parámetro
    opcional --server=<server> para modificar el servidor que se
    consultará por defecto.

    El comando muestra una línea por cada bloqueo almacenado en el servidor,
    con la siguiente información:
      GUID del elemento bloqueado.
      Nombre de usuario que realizó el bloqueo.
      Ruta del elemento bloqueado (formato de ruta de servidor).
      Nombre del espacio de trabajo donde se realizó el bloqueo.

== CMD_DESCRIPTION_LISTUSERS ==
Lista los usuarios y grupos conocidos por el servidor.

== CMD_USAGE_LISTUSERS ==
Sintaxis:

    cm listusers server [opciones]

    server: especificación del servidor de repositorios. 
    Usa 'cm help objectspec' para más información sobre especificaciones.

Opciones:

    --onlyusers (-u): Lista sólo los usuarios.
    --onlygroups (-g): Lista sólo los grupos.
    --filter : Lista sólo aquellos usuarios y/o grupos que coincidan con el
    filtro de busqueda indicado.

== CMD_HELP_LISTUSERS ==
Ejemplos:

    cm listusers localhost:8084
    cm listusers localhost:8084 -u

== CMD_DESCRIPTION_LOCATION ==
Muestra la ruta completa donde se ubica el ejecutable del cliente.

== CMD_USAGE_LOCATION ==
Sintaxis:

    cm location

== CMD_HELP_LOCATION ==

== CMD_DESCRIPTION_LOCK ==
Use este comando para administrar workspaces.

== CMD_USAGE_LOCK ==
Sintaxis:

    cm lock command [options]

Comandos:

    list | ls
    unolck

    Para obtener más información sobre cada comando:
    cm lock comando --usage
    cm lock comando --help

== CMD_HELP_LOCK ==
Ejemplos:

    cm lock list
    cm lock
    (list es opcional si no hay argumentos)
    cm lock ls serverpath:/src/foo.c#cs:99@default@localhost:8084
    cm lock unlock 91961b14-3dfe-4062-8c4c-f33a81d201f5

== CMD_DESCRIPTION_LOG ==
Devuelve información sobre las revisiones creadas en la rama del changeset 
especificado, o de un intervalo de changesets.

== CMD_USAGE_LOG ==
Sintaxis:

    cm log [repSpec|csSpec] [--from|-f=csSpecFrom] [--allbranches|-a]
           [--csFormat=format] [--itemFormat=format] [--xml[=outputfile]]
           [--encoding] [--repositorypaths | --fullpaths]

    repSpec: Especificación del repositorio del cual se obtendrá información de
    las revisiones en sus changesets. Usa 'cm help objectspec' para más información.
    csSpec: Especificación del changeset del cual se obtendrá la información de
    sus revisiones. Usa 'cm help objectspec' para más información.

Opciones:

    --from, -f=csSpecFrom: Especificación del changeset a partir del cual se
    mostrará información de revisiones. Dicho changeset no se incluye en la
    salida. Ignorado si se indica una especificación de un repositorio.
    --allbranches, -a: Muestra información de los changesets creados en un
    intervalo especificado para cualquier rama.
    --ancestors: muestra la información acerca de los changesets alcanzables
    siguiendo los enlaces de parentesco y de merge para el changeset dado
    ([csSpec]). Si el changeset from ([csSpecFrom]) también es proporcionado,
    este será usado como límite inferior para todos los paths.
    Notas: los cambios de los changeset no se mostrarán con esta opción.
    --csFormat=format: Especificación del formato en el cual se desea obtener
    la información de los changesets.
    --itemFormat=format: Especificación del formato en el cual se desea obtener
    la información de los items involucrados en cada changeset.
    --xml: Permite volcar la salida del comando en formato xml a la salida
    estándar. También se permite especificar un fichero de salida
    (--xml=output.xml).
    --fullpaths, --fp: Fuerza al comando a imprimir rutas de workspace
    absolutas siempre que sea posible.
    --repositorypaths: imprime rutas de repositorio en lugar de rutas
    de workspace. (Ésta opción prevalece sobre la opción "--fullpaths").
    --encoding: si se utiliza con la opción --xml, permite especificar el
    encoding con el que se guardará la salida del comando. Consulte la
    documentación de la MSDN para obtener la tabla completa de codificaciones
    soportadas y su formato; al final de la página en la columna "Name":
    http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_LOG ==
Notas:

    Si no se especifica ni changeset ni opción, mostrará información de todos
    los changeset creados en el último mes en cualquier rama.
    Si solamente se incluye la opción -f=[csSpecFrom], se mostrará la
    información de todos los changesets desde el especificado hasta el momento
    actual en la rama en la cual se creó dicho changeset.
    Si se especifica la opción -a sin un intervalo, a todos los efectos el
    comando funcionará exactamente igual que si solamente se especificara
    [csSpec].
    Si se utiliza la opción -f=[csSpecFrom], la salida muestra información
    desde el changeset [csSpecFrom]+1 en adelante.
    El repositorio que se utiliza para mostrar la información de los changesets
    es el repositorio cargado en el path desde el cual se lanza el comando.

     Este comando acepta una cadena de formato para mostrar la salida.
     Se puede especificar un formato para la información de los changeset y
     otro para la información de los ítems.
     Cada parámetro de salida se identifica con un descriptor, y el usuario se
     puede referir a él escribiéndolo entre los símbolos '{' y '}'.

     Los parámetros de salida de este comando son los siguientes:
     csFormat=
         tab: Introduce un tabulador.
         newline: Introduce una nueva línea.
         changesetid: Número de changeset.
         branch: Información de rama.
         date: Fecha de creación del changeset.
         owner: Propietario del changeset.
         comment: Comentarios del changeset.
         items: Items afectados en el changeset.
         repository: Nombre del repositorio donde se encuentra el changeset.
         repserver: Nombre del servidor.
     itemFormat=
         tab: Introduce un tabulador.
         newline: Introduce una nueva línea.
         path: Ruta del ítem en disco.
         branch: Información de rama.
         owner: Propietario del changeset.
         date: Fecha de creación del changeset.
         shortstatus: Formato corto. Ver más abajo.
         fullstatus: Formato largo. Ver más abajo.

         Formato corto y su correspondiente formato largo:
         A = Added.
         C = Changed.
         M = Moved.
         D = Deleted.
     Éstas son cadenas de formato válidas:
         --csFormat="{newline}Changeset {changesetid} generado el día {date};{tab} ítems cambiados: {items}."
         --itemFormat="{newline}El ítem {path} se ha cambiado en la rama {branch} en el changeset {changesetid}."

Ejemplos:

    cm log
    (Muestra información de todos los changesets creados en el último mes en
    cualquier rama).

    cm log cs:16
    (Muestra la información de los cambios realizados en el changeset 16 en la
    rama en que se creó dicho changeset).

    cm log cs:16 --csFormat="{newline}Changeset {changesetid} generado el día {date};{tab} ítems cambiados: {items}."
    (Muestra la información el el formato especificado).

    cm log  --from=cs:20 cs:50
    (Muestra información de todos los cambios de cada changeset comprendido
    entre el 21 y el 50 en la rama br:/main).

    cm log --from=cs:20 cs:50 -a
    (Muestra información de todos los cambios de cada changeset comprendido
    entre el 21 y el 50 en todas las ramas del repositorio).

    cm log rep:myrep@localhost:8084
    (Muestra la información de todos los changeset de otro repositorio diferente
    al configurado en el selector del workspace. Puede ejecutarse fuera de
    un workspace).

== CMD_DESCRIPTION_LS ==
Lista el contenido de un workspace o de un árbol de changeset, rama o selector.

== CMD_USAGE_LS ==
Sintaxis:

    cm ls [opciones][rutas]

    rutas: Rutas de los items para obtener el listado.

Opciones:
    --format=cadena: cadena de formato
    --symlink: aplica la operación al propio symlink y no a su destino
    --selector: obtiene el contenido del selector del workspace actual
    --selector="selector": obtiene el contenido del selector especificado
    --tree=spec: lista el árbol de un changeset (a partir de su número o guid)
      o de una rama (a partir de su nombre completo). Usa 'cm help objectspec'
      para aprender cómo indicar una especificación.
    -R|-r|--recursive: recorre los directorios recursivamente
    --xml: Permite volcar la salida del comando en formato xml a la salida
      estándar. También se permite especificar un fichero de salida
      (--xml=output.xml).
    --encoding: si se utiliza con la opción --xml, permite especificar el
      encoding con el que se guardará la salida del comando. Consulte la
      documentación de la MSDN para obtener la tabla completa de codificaciones
      soportadas y su formato; al final de la página en la columna "Name":
      http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_LS ==
Notas:

    Las rutas se pueden escribir con metacaracteres (*, ?, ...)

    La salida del comando 'ls' se puede formatear usando una 'cadena de formato'
    en la cual cada parámetro se identifica mediante un nombre (o un número para
    mantener compatibilidad con las versiones anteriores).

    La cadena de formato por defecto es:
      "{<size>,10} {<date>:dd/MM/yyyy} {<date>:HH:mm} \
      {<type>,-6} {<location>,-12} {<co>,-5} \
      {name} {symlinktarget}"

    También se pueden especificar los nombres como {nombre} para cadenas de
    formato más sencillas:
      "{size} {date} {name}"

    Los nombres de los parámetros válidos para la cadena de formato son:
      size              0
      date              1
      type              2
      location          3   imprime br:branch#cset
      checkout          4
      co                4
      name              5
      changeset         6
      cset              6
      fullpath          7
      path              7
      repspec           8
      owner             9
      formattedsize     10
      revid             11
      parentrevid       12
      itemid            13
      brid              14
      repid             15
      server            16
      symlinktarget     17
      hash              18
      chmod             19
      wkpath            20  imprime un path relativo a la raíz del workspace
      branch            21
      newlocation       22  imprime cset@branch
      guid              23  imprime el guid de cada elemento (tarda más tiempo)
      itemguid          24
      transformed       25  muestra las reglas aplicadas en cada elemento que
                            haya sufrido transformación.

     Se puede personalizar la salida del comando ls sin necesidad de especificar
     --format cada vez, definiendo la variable de entorno PLASTIC_LS_FORMAT.

Ejemplos:

    cm ls
    cm ls c:\workspace\src
    cm ls --format={name} (muestra nombres de ficheros y directorios)
    cm ls --symlink (muestra información de los symlinks y no del fichero o
      directorio al que apunta. Disponible en entornos Linux/Mac/Unix)

    cm ls code --selector (muestra el contenido del subdirectorio 'code' cargado
      del selector asociado al workspace actual)

    cm ls /code --selector="rep 'arevalo' path '/' branch '/main'" (muestra el
      contenido del subdirectorio '/code' cargado del selector especificado.
      Es importante destacar que el path se especifica en "formato servidor")

    cm ls /code --tree=44@arevalo@cyl:7070 (lista el contenido del
      subdirectorio /code en el changeset 44 del repositorio 'arevalo' en el
      servidor 'cyl:7070')

    cm ls /code --tree=br:/main/scm13596@arevalo@cyl:7070 (lista el contenido del
      subdirectorio /code en el último changeset de la rama /main/scm13596
      del repositorio 'arevalo' en el servidor 'cyl:7070')

    cm ls /code --tree=ae1390ed-7ce9-4ec3-a155-e5a61de0dc77@arevalo@cyl:7070
      (lista el subdirectorio /code en el changeset con guid
       ae1390ed-7ce9-4ec3-a155-e5a61de0dc77
       en el repositorio 'arevalo' del servidor 'cyl:7070')

== CMD_DESCRIPTION_TRIGGER_LIST ==
Muestra la información relativa a los triggers de un determinado tipo.

== CMD_USAGE_TRIGGER_LIST ==
Sintaxis:

    cm trigger list [subtipo-tipo] [opciones]

    subtipo-tipo: momento de ejecución del trigger y operacion del trigger.
    Teclee 'cm showtriggertypes' para ver una lista completa de los tipos de
    trigger disponibles. Algunos ejemplos son:

        before-mkbranch
        after-mkwokspace
        after-setselector

Opciones:

    --server=servidor: Lista los triggers del servidor especificado.
    --format: formato de salida.

== CMD_HELP_TRIGGER_LIST ==
Notas:
    Si no se especifica tipo, muestra todos los triggers del servidor
    configurado en el cliente.

    Formato de salida:
    {0}: Posición.
    {1}: Nombre del trigger.
    {2}: Ruta del ejecutable.
    {3}: Propietario.
    {4}: Tipo.
    {5}: Filtro del trigger.

Ejemplos:
    cm trigger list after-mklabel
    cm tr ls before-mkbranch --server=myserver:8084

== CMD_DESCRIPTION_MANIPULATESELECTOR ==
Permite cambiar el selector para reflejar cambios en los comandos.

== CMD_USAGE_MANIPULATESELECTOR ==
Uso:

      cm manipulateselector [wkpath | wkspec] [options]

      path:     Ruta del espacio de trabajo.
      wkspec:   Especificación del espacio de trabajo. Usa 'cm help objectspec'
                para más información sobre especificaciones.

      Opciones:
      --atdate=date: Devuelve un selector que recreará el espacio de trabajo con
      los contenidos que se cargarían en la fecha especificada.

== CMD_HELP_MANIPULATESELECTOR ==
Notas:

      Si no se indica alguna de las rutas o especificaciones de espacio de
      trabajo el comando supondrá el directorio actual como ruta al espacio de
      trabajo.

      Ejemplos:

      cm manipulateselector c:\workspace --atdate=yyyy-MM-ddTHH:mm:ss
      cm manipulateselector --atdate=yyyy-MM-ddTHH:mm:ss
      cm manipulateselector > mySelector.txt --atdate=yyyy-MM-ddTHH:mm:ss
      cm manipulateselector wk:build_wk@BUILDER --atdate=yyyy-MM-ddTHH:mm:ss

== CMD_DESCRIPTION_MERGE ==
Mezcla el contenido de una rama con otra.

== CMD_USAGE_MERGE ==
Sintaxis:

    cm merge spec_origen [--merge] [--cherrypicking] [--forced]
                         [--mergetype=merge_type]
                         [--interval-origin=csetspec | --ancestor=csetspec]
                         [--keepsource | --ks] [--keepdestination | --kd]
                         [--automaticresolution=<conflict-types>+]
                         [--subtractive] [--mount] [--printcontributors]
                         [--noprintoperations] [--silent]
                         [(--to=brspec | --destination=brspec) [--shelve]]
                         [-c=str_comment | --commentsfile=<comments_file>]
                         [--resolveconflict --conflict=index 
                           --resolutionoption=src|dst|<rename --resolutioninfo=strname>
                           --mergeresultfile=path --solvedconflictsfile=path]
                         [--nointeractiveresolution]
                         [--machinereadable [--startlineseparator=sep]
                         [--endlineseparator=sep] [--fieldseparator=sep]]

    spec_origen          Especificación del origen del merge. Este puede ser:
                         - una rama: [br:]/nombre_rama
                         - una etiqueta: lb:nombre_etiqueta
                         - un changeset: cs:numero_changeset
                         - un shelve: sh:numero_shelve
                         Usa 'cm help objectspec' para más información sobre
                         especificaciones.

Opciones:

    --merge                   Realiza el merge. Si no se especifica esta opción,
                              se muestran los conflictos encontrados.
    --cherrypicking           Realiza el merge de los cambios incluidos en los
                              changesets origen. Esta opción no se considera si
                              el origen del merge es una etiqueta.
    --forced                  No comprueba si el origen y el destino ya están
                              conectados.
                              Esta opción solo es válida para el merge de intervalo
                              y para el cherrypicking.
    --mergetype               Especifica el tipo de merge. Puede ser uno de los
                              siguientes: onlyone, onlysrc, onlydst, try, forced.
    --interval-origin         Especificación del changeset que queremos que actúe
                              como origen del intervalo, de manera que el merge
                              introducirá los cambios realizados desde el
                              changeset común hasta el changeset especificado
                              como origen del merge.
    --ancestor                Alias para --interval-origin.
    --keepsource              Acepta todos los cambios del contribuidor origen
                              para elementos con conflictos.
    --keepdestination         Preserva los cambios del contribuidor destino
                              para elementos con conflictos.
    --automaticresolution     Opción para resolver conflictos de directorio. Esta
                              opción permite elegir si el contribuidor origen
                              (source) o el contribuidor destino (destination)
                              debe ser seleccionado automáticamente para
                              resolver el conflicto.
                              Debes especificar los tipos de conflictos separados
                              por punto y coma ";".
                              Más información en las notas.
    --subtractive             Se utiliza para quitar cambios ya introducidos en
                              el sistema, ya sea por un checkin o por un merge.
                              El parámetro que se pasa al comando (spec_origen)
                              es el origen desde donde se quieren eliminar los
                              cambios. Puede ser la especificación de un
                              changeset o de un intervalo de ellos. En el caso
                              de un intervalo de changesets, se utiliza la opción
                              --interval-origin para definir el origen del
                              intervalo.
    --mount                   El punto de montaje del respositorio especificado.
    --printcontributors       Imprime los contribuidores (base, origen y destino).
    --noprintoperations       Resuelve las mezclas de manera silenciosa sin
                              mostrar información sobre la resolución.
    --silent                  No muestra ninguna salida.
    --to | --destination      Realiza una operación de merge-to a la rama de
                              destino especificada, con resolución de conflictos
                              completa. Una mezcla "merge-to" (o mezcla sin
                              workspace) es una mezcla hecha en el lado del
                              servidor. Mientras que en mezclas normales el
                              destino es el workspace, en una operación de
                              "merge-to" se debe especificar el destino (por 
                              eso se llama "to", 'hacia' en inglés).
                              En la siguiente página se puede encontrar más
                              información sobre esta funcionalidad:
                              https://www.plasticscm.com/download/help/mergeto
    --shelve                  Crea un shelve con los cambios del resultado del
                              merge (incluida la trazabilidad) en lugar de crear
                              un changeset. Esta opción no es válida cuando el
                              origen del merge es un shelve. Esta opción sólo
                              está disponible para el merge en el lado del
                              servidor (merge-to). Por ello, se requieren las
                              opciones "--to" y "--merge". 
    --no-dst-changes          Asegura que el contribuidor destino no tiene cambios 
                              (que el changeset destino es también el antecesor
                              común). Cuando hay cambios en el destino, no se
                              permite hacer el merge.
    -c                        Añade un comentario al changeset creado en la
                              operación de mezcla.
    --commentsfile            Carga el comentario del fichero especificado y lo
                              añade al changeset creado en la operación de
                              mezcla.
    --resolveconflict         (Usado principalmente por plugins. Más información
                              en las notas.)
                              Usado para resolver un conflicto de directorio.
    --conflict                Usado con '--resolveconflict', especifica el
                              índice del conflicto a resolver empezando por 1.
    --resolutionoption        Usado con '--resolveconflict', indica el tipo de
                              resolución de conflicto. Puede ser una de las
                              siguientes opciones: src, dst, rename.
                              Más información en las notas.
    --resolutioninfo          Usado con '--resolveconflict', proporciona el
                              nombre que se usará cuando la opción 
                              '--resolutionoption' es "rename".
    --mergeresultfile         Usado con '--resolveconflict', guarda en un fichero
                              la información del resultado de la mezcla entre
                              diferentes llamadas. El fichero especificado se
                              crea durante la primera llamada y se actualiza en
                              cada siguiente llamada.
    --solvedconflictsfile     Usado con '--resolveconflict', guarda en un fichero
                              la información de los conflictos solucionados
                              entre diferentes llamadas. El fichero especificado
                              se crea durante la primera llamada y se actualiza
                              en cada siguiente llamada.
    --nointeractiveresolution (Usado principalmente por plugins. Más información
                              en las notas.)
                              Evita preguntar al usuario cuando hay un conflicto
                              manual. Así, por ejemplo, un conflicto de directorio
                              no podrá ser resuelto.
    --machinereadable         (Usado principalmente por plugins. Más información
                              en las notas.)
                              Muestra la salida en un formato fácil de tratar.
    --startlineseparator      Usado con '--machinereadable', especifica cómo
                              deben comenzar las líneas. Por defecto, una cadena
                              de texto vacía.
    --endlineseparator        Usado con '--machinereadable', especifica cómo
                              deben terminar las líneas. Por defecto, una cadena
                              de texto vacía.
    --fieldseparator          Usado con '--machinereadable', especifica cómo
                              deben separarse los campos. Por defecto, un
                              espacio en blanco.

== CMD_HELP_MERGE ==
Notas:

    Este comando se utiliza para meclar cambios entre dos ramas, o entre una
    etiqueta y una rama. El destino del merge siempre debe ser una rama.
    El origen del merge se especifica como argumento.
    El destino de la rama es (salvo en el merge-to) el contenido actual del
    workspace.
    Por ejemplo, para mostrar los elementos que serán mezclados desde la rama
    task001 a la rama principal, el selector debe apuntar a la rama principal,
    el espacio de trabajo debe estar actualizado, y entonces ejecutar:
        cm merge br:/task001

    Para que el merge se realice, se añade el modificador "--merge":
        cm merge br:/task001 --merge

    El origen del merge es la especificación de un objeto (rama, etiqueta,
    changeset o shelve).
    Usa 'cm help objectspec' para más información sobre especificaciones.

    Para resolver automáticamente conflictos de directorio debes usar la opción
    "--automaticresolution" y especificar el tipo de conflicto seguido por el
    contribuidor (origen o destino) que se seleccionará durante el merge.
    (Recuerda separar cada par "tipo de conflicto"-"contribuidor" con punto y
    coma (;).)
    Por ejemplo:
        cm merge cs:2634 --merge --automaticresolution=eviltwin-src;changedelete-src
        (La operación de merge desde el changeset 2634 resuelve los conflictos
        "eviltwin" y "changedelete" manteniendo al contribuidor origen ("-src")
        en ambos conflictos.)
    - El sufijo "-src" añadido después del tipo de conflicto indica al comando
      merge que debe mantener los cambios del contribuidor origen (source).
    - El sufijo "-dst" indicará que se mantendrán los cambios del contribuidor
      destino (destination).
    Esta es la lista de tipos de conflictos que soporta el comando merge: 
      "movedeviltwin", "eviltwin", "changedelete", "deletechange", "movedelete",
      "deletemove", "loadedtwice", "addmove", "moveadd", "divergentmove",
      "cyclemove", "all". 
    El valor "all" sobrescribe al resto de opciones. En el siguiente ejemplo,
    el conflicto "eviltwin-dst" será ignorado:
        cm merge br:/main/task062 --merge --automaticresolution=all-src;eviltwin-dst
    Consulta el siguiente enlace para aprender más sobre conflictos de merge:
    https://www.plasticscm.com/download/help/directorymerges

    Estas son las opciones para el argumento --mergetype:
        onlyone     Merge automático si solo uno de los contribuidores modificó
                    el elemento.
        onlysrc     Merge automático si solo el contribuidor origen modificó
                    el elemento.
        onlydst     Merge automático si solo el contribuidor destino modificó
                    el elemento.
        try         Merge automático si solo un contribuidor ha modificado la
                    parte del fichero en conflicto (para cada conflicto).
        forced      Intentar resolver siempre los conflictos no automáticos.

    Estas son las opciones que se usan principalmente por plugins e integraciones:
        - "--resolveconflict" para resolver un conflicto de directorio. Se 
          deben usar las siguientes opciones:
              - "--conflict" es el índice del conflicto que se quiere resolver
                (empezando por 1).
              - "--resolutionoption" indica el tipo de resolución de conflicto.
                Puede ser:
                    - "src" para mantener el cambio del origen y descartar el
                      cambio del destino
                    - "dst" para mantener el cambio del destino y descartar el
                      cambio del origen
                    - "rename" (solo si el tipo de conflicto soporta esta
                      resolución), para renombar el destino al nombre
                      proporcionado en la opción "--resolutioninfo".
                        - "--resolutioninfo" para proporcionar el nombre a usar
                          con el tipo de resolución "rename"
              - "--mergeresultfile" y "--solvedconflictsfile", ambos se usan
                para guardar informacación de la mezcla entre las diferentes
                llamadas.
        - "nointeractiveresolution" indica a la mezcla que no pregunte al usuario
          en caso de necesitarse una resolución manual de un conflicto.
        - "--machinereadable" y "--startlineseparator", "--endlineseparator",
          "fieldseparator" se usan para imprimir la salida a un formato fácil
          de leer, tratar o parsear.
        Por ejemplo:
        cm merge --machinereadable --startlineseparator=start@_@line 
          --endlineseparator=new@_@line --fieldseparator=def#_#sep 
          --mergeresultfile=C:\Users\Borja\AppData\Local\Temp\2tmp4D6C.tmp 
          --solvedconflictsfile=C:\Users\Borja\AppData\Local\Temp\2tmp4D6D.tmp 
          --resolveconflict --conflict=1 --resolutionoption=rename  --resolutioninfo=bin_dst 
          br:/main/task --merge

Ejemplos:

    cm merge br:/task001
    (No realiza la mezcla, simplemente escribe los elementos que van a ser
    mezclados.)

    cm merge br:/task001 --merge
    (Realiza el merge desde la rama task001.)

    cm merge cs:5 --merge --cherrypicking --interval-origin=cs:2
    (Cherrypick del intervalo de changesets (2,5].)

    cm merge cs:8 --merge --subtractive --keepdestination
    (Merge sustractivo del changeset 8, preservando los cambios del destino
    para aquellos elementos con conflictos.)

    cm merge br:/main/task001 --to=br:/main --merge -c="Integrated new UI"
    (Realiza el merge en el lado del servidor -a.k.a. "merge-to"-, desde la
    rama task001 hasta la rama main, con un comentario.)

    cm merge br:/main/task001 --to=br:/main --merge --shelve
    (Realiza el merge en el lado del servidor desde la rama task001 a la rama
    main y deja el resultado en un shelve.)

    cm merge sh:2 --to=br:/main --merge --no-dst-changes
    (Aplica el shelve 2 en la rama main solo si fue creado desde la cabeza
    actual de main.)

== CMD_DESCRIPTION_ATTRIBUTE_CREATE ==
Crea un atributo nuevo.

== CMD_USAGE_ATTRIBUTE_CREATE ==
Sintaxis:

    cm attribute create nombre

    nombre: Nombre del atributo.

Opciones:

    -c: Añade un comentario al atributo creado.
    --commentsfile=comment.txt: Carga el comentario del fichero especificado.

== CMD_HELP_ATTRIBUTE_CREATE ==
Ejemplos:

    cm attribute create Estado

== CMD_DESCRIPTION_BRANCH ==
Use este comando para administrar ramas.

== CMD_USAGE_BRANCH ==
Sintaxis:

    cm branch command [options]

Comandos:

    [(create)|delete|rename|history|showmain|showmerges]

    Para obtener más información sobre cada comando:
    cm branch command --usage
    cm branch command --help

== CMD_HELP_BRANCH ==
Ejemplos:

    cm branch /main/scm21345
    cm branch create /main/scm21345
    cm branch delete /main/scm21345
    cm branch rename /main/scm21345 scm21346
    cm branch history /main/scm21345
    cm branch showmain
    cm branch showmerges file.txt

== CMD_DESCRIPTION_BRANCH_CREATE ==
Crea una rama en el repositorio actual.

== CMD_USAGE_BRANCH_CREATE ==
Sintaxis:

    cm branch | br [create | mk] brspec [--changeset=csetspec | --label=lbspec]
                                [-c=str_comment | -commentsfile=<comments_file>]

    brspec         Nombre o especificación de la nueva rama. 
                   Usa 'cm help objectspec' para más información sobre 
                   especificaciones.

Opciones:

    --changeset         Changeset usado como punto de inicio de la nueva rama.
                    Especificación del changeset: [cs:]cs_number.
    --label             Etiqueta usada como punto de inicio de la nueva rama.
                        Usa 'cm help objectspec' para más información sobre
                        especificaciones.
    -c                  Rellena el comentario de la nueva rama con el texto
                        especificado.
    --commentsfile      Rellena el comentario de la nueva rama con el contenido
                        del fichero de texto especificado.

== CMD_HELP_BRANCH_CREATE ==
Notas:

    Para crear una rama de primer nivel, especifique el nombre sin jerarquía.
    Por ejemplo:

        cm br /dev

    Si no se especifica el parámetro 'changeset', se utilizará el último
    changeset de la rama madre. En caso de que la rama sea de primer nivel, se
    utilizará como base el changeset 0.

    Para especificar comentarios use el switch "-c" o "-m" del siguiente modo:

        cm branch main/task001 -c="Este es el comentario"
        cm branch main/task001 -m "Este es el comentario"

    Se puede escoger qué editor se lanzará para escribir el comentario
    mediante la variable de entorno PLASTICEDITOR. Si dicha variable de entorno
    tiene un valor, y no se especifica un comentario, el editor escogido se
    abrirá automáticamente para que se espefique el comentario.

Ejemplos:

    cm branch task001
    cm branch create task001
    cm branch mk task001
    cm br mk task001
    (Crea la rama de primer nivel 'task001' en el repositorio al que apunta
    el workspace actual.)

    cm branch br:/task001/task002
    (Crea la rama 'task002' como hija de 'task001'.)

    cm br /main/task001@myrep@myserver:8084 -c="my comment"
    (Crea la rama 'task001' como hija de 'main' en el repositorio
    'myrepo@myserver:8084' con el comentario 'my comment'.)

    cm br mk br:/main/task001 --changeset=2837 -commentsfile=commenttask001.txt
    (Crea la rama 'task001' tomando como base el changeset '2837' de la rama
    'main' con el comentario contenido en el fichero 'commenttask001.txt'.)

== CMD_DESCRIPTION_BRANCH_DELETE ==
Borra una o más ramas.

== CMD_USAGE_BRANCH_DELETE ==
Sintaxis:

    cm branch | br delete | rm <spec_rama>+

    spec_rama:      Ramas a borrar, separadas por espacios.
                    Usa 'cm help objectspec' para obtener más información
                    sobre la especificación de ramas.

== CMD_HELP_BRANCH_DELETE ==
Notas:

   Este comando borra una o más ramas.

Ejemplos:

   cm branch delete /main/task001
    (Borra la rama con nombre 'task001' que sea hija de 'main' en el
    repositorio al que apunta el workspace actual.)

    cm br rm main/task002 /main/task012@reptest@myserver:8084
    (Borra la rama '/main/task002' del repositorio al que apunta el workspace
    actual, y la rama '/main/task012' del repositorio 'reptest@myserver:8084'.)

== CMD_DESCRIPTION_BRANCH_RENAME ==
Renombra una rama.

== CMD_USAGE_BRANCH_RENAME ==
Sintaxis:

    cm branch | br rename spec_rama nuevo_nombre

    spec_rama:      Especificación de la rama que se va a renombrar.
                    Usa 'cm help objectspec' para obtener más información sobre
                    la especificación de ramas.
    nuevo_nombre    Nuevo nombre para la rama.

== CMD_HELP_BRANCH_RENAME ==
Notas:

    Este comando renombra una rama.

Ejemplos:

   cm branch rename /main/task0 task1
   (Renombra la rama '/main/task0' a '/main/task1'.)

   cm br rename br:/main@reptest@server2:8084 secondary
   (Renombra la rama principal del repositorio 'reptest' a 'secondary'.)

== CMD_DESCRIPTION_BRANCH_HISTORY ==
Muestra la historia de una rama (merges y punto de partida).

== CMD_USAGE_BRANCH_HISTORY ==
Sintaxis:

    cm branch | br history spec_rama
                        [--dateformat=date_format] [--machinereadable]

    spec_rama       Especificación de la rama para obtener la historia.
                    Usa 'cm help objectspec' para obtener más información.

Opciones:

    --dateformat            Formato utilizado para mostrar fechas.
    --machinereadable       Devuelve el resultado en un formato sencillo de
                            parsear.

== CMD_HELP_BRANCH_HISTORY ==
Ejemplos:

    cm branch history br:/main/scm001@myrepository@myserver:8084
    (Muestra la historia de '/main/scm001' en el repositorio 'myrepository'.)

    cm br history main --dateformat="yyyy, dd MMMM" --machinereadable
    (Muestra la historia de 'main' con un formato de fecha determinado y con
    un formato sencillo de parsear.)

== CMD_DESCRIPTION_BRANCH_SHOWMAIN ==
Muestra la rama principal del repositorio.
Este es un comando de automatización, diseñado para automatizar el comando cm.
Muy probablemente la rama principal de sus repositorios sea /main.

== CMD_USAGE_BRANCH_SHOWMAIN ==
Sintaxis:

    cm branch | br showmain [repspec] [--encoding=name]
                        [--format=format_str] [--dateformat=date_format]

    repspec     Especificación del repositorio donde buscar la rama principal.
                Si no se especifica, se utilizará el repositorio al que apunte
                el workspace actual.

Opciones:

    --encoding          Permite especificar la codificación con el que se
                        guardará la salida del comando. Consulte la
                        documentación de la MSDN para obtener la tabla completa
                        de codificaciones soportadas y su formato; al final de
                        la página en la columna "Name":
                        http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
    --format            Devuelve el mensaje de salida con un formato determinado.
                        Más información en las notas.
    --dateformat        Formato utilizado para mostrar fechas.

== CMD_HELP_BRANCH_SHOWMAIN ==
Notas:

    Este comando muestra la rama principal de un repositorio.

    Este comando acepta una cadena especificando el formato con el que se
    debe mostrar la salida. Los parámetros de salida son los siguientes:
        {id}                Id de la rama.
        {comment}           Comentario.
        {date}              Fecha.
        {owner}             Propietario.
        {name}              Nombre.
        {parent}            Nombre de la rama madre.
        {repository}        Repositorio.
        {repname}           Nombre del repositorio.
        {repserver}         Servidor.
        {changeset}         Id del último changeset de la rama.

Ejemplos:

    cm branch showmain
    (Muestra la rama principal del repositorio del workspace actual.)

    cm branch showmain repo@repserver:8084
    (Muestra la rama principal del repositorio 'repo' en el servidor
    'repserver:8084'.)

    cm br showmain --dateformat="yyyy, dd MMMM" --encoding=utf-8
    (Muestra la rama principal del repositorio, con las fechas en un determinado
    formato, y la salida está codificada en utf-8.)

    cm br showmain --format="{id} - {name}"
    (Muestra la rama principal del repositorio, devolviendo únicamente su id y
    nombre.)


== CMD_DESCRIPTION_BRANCH_SHOWMERGES ==
Muestra información sobre elementos pendientes en ramas a mezclar.

== CMD_USAGE_BRANCH_SHOWMERGES ==
Este es un comando de automatización, diseñado para automatizar el comando cm.

Sintaxis:

    cm branch | br showmerges <item_path>+
                            [--format=format_str] [--dateformat=date_format]

Opciones:

    --format            Devuelve el mensaje de salida con un formato determinado.
                        Más información en las notas.
    --dateformat        Formato utilizado para mostrar fechas.

== CMD_HELP_BRANCH_SHOWMERGES ==
Notas:

    Este comando acepta una cadena especificando el formato con el que se
    debe mostrar la salida. Los parámetros de salida son los siguientes:
        {id}                Id de la rama.
        {comment}           Comentario.
        {date}              Fecha.
        {name}              Nombre.
        {owner}             Propietario.
        {parent}            Nombre de la rama madre.
        {parentid}          Id de la rama madre.
        {repid}             Id del repositorio.
        {repository}        Repositorio.
        {repname}           Nombre del repositorio.
        {repserver}         Servidor.

Ejemplos:

    cm branch showmerges file.txt
    (Muestra las ramas involucradas en el merge pendiente del fichero file.txt.)

    cm branch showmerges file.txt --format="{date} {name}" --dateformat="ddMMyy"
    (Muestra las ramas involucradas en el merge, mostrando solo la fecha y el
    nombre, con las fechas en un determinado formato.)

== CMD_DESCRIPTION_REPOSITORY ==
Administra repositorios.

== CMD_USAGE_REPOSITORY ==
Sintaxis:

    cm repository | repo commmand [options]

Comandos:

    create | mk
    delete | rm
    list   | ls
    rename
    add

    Para obtener más información sobre cada comando:
    cm repository command --usage
    cm repository command --help

== CMD_HELP_REPOSITORY ==
Ejemplos:

    cm repository
    cm repository list
    cm repository newrepo
    cm repository create newrepo
    cm repository rename oldname newname
    cm repository add C:\repo\

== CMD_DESCRIPTION_REPOSITORY_CREATE ==
Crea un repositorio en un servidor.

== CMD_USAGE_REPOSITORY_CREATE ==
Sintaxis:

    cm repository rep_name
    cm repository servidor <nombre_repositorio>+
    cm repository [create | mk] rep_name

    servidor                Especificación del servidor.
                            Usa 'cm help objectspec' para más información sobre
                            especificaciones.
    nombre_repositorio      Nombre del nuevo repositorio.

== CMD_HELP_REPOSITORY_CREATE ==
Ejemplos:

    cm repository MyRep
    cm repo 192.168.1.140:8087 Rep01 Rep01/ModuleA Rep01/ModuleB
    cm repo create Rep01
    cm repo mk list

== CMD_DESCRIPTION_REPOSITORY_DELETE ==
Borra un repositorio del servidor.

== CMD_USAGE_REPOSITORY_DELETE ==
Sintaxis:

    cm repository delete | rm repositoryspec

    repositoryspec      Especificación del repositorio a borrar.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de repositorios.

== CMD_HELP_REPOSITORY_DELETE ==
Nota:

    Elimina un repositorio del servidor de repositorios.
    No borra los datos del sistema gestor de bases de datos,
    simplemente desconecta el repositorio del sistema de modo
    que ya no sea accesible (los datos pueden ser añadidos de
    nuevo, véase 'cm repository add').

Ejemplos:

    cm repository delete myrepository@repserver:myserver:8084
    cm repository rm myrepository@myserver:8084
    cm repo rm myrepository

== CMD_DESCRIPTION_REPOSITORY_LIST ==
Lista los repositorios de un servidor.

== CMD_USAGE_REPOSITORY_LIST ==
Sintaxis:

    cm repository
    cm repository list [servidor] [--format=str_format]

    servidor        Especificación del servidor.
                    Usa 'cm help objectspec' para más información sobre
                    especificaciones.
    --format        Devuelve la salida en el formato especificado.

== CMD_HELP_REPOSITORY_LIST ==
Notas:

    Este comando acepta una cadena de texto formateada para mostrar la
    salida.

    Los parámetros de salida del comando son los siguientes:

        {repid}     | {0}           Identificador del repositorio.
        {repname}   | {1}           Nombre del repositorio.
        {repserver} | {2}           Nombre del servidor del repositorio.
        {repowner}  | {3}           Propietario del repositorio.
        {repguid}   | {4}           Identificador único del repositorio.
        {tab}                       Inserta un tabulador.
        {newline}                   Inserta una nueva línea.

    Si el valor del formato es "TABLE", la salida se imprimirá en formato
    tabla con los siguientes campos: {repid}, {repname} y {repserver}.

Ejemplos:

    cm repository
    (Lista todos los repositorios.)

    cm repository list localhost:8084 --format="{1, -20} {3}"
    (Escribe el campo "nombre del repositorio" utilizando 20 espacios,
    alineado a la izquierda, un espacio, y a continuación el propietario.)

    cm repository ls localhost:8084 --format="{repname, -20} {repowner}"
    (Escribe lo mismo que el ejemplo anterior.)

    cm repo ls localhost:8084 --format=TABLE
    (Escribe la lista de repositorios en formato tabla con los siguientes
    campos: el id del repositorio, el nombre del repositorio, y el nombre
    del servidor de repositorios.)

== CMD_DESCRIPTION_REPOSITORY_RENAME ==
Renombra un repositorio.

== CMD_USAGE_REPOSITORY_RENAME ==
Sintaxis:

    cm repository rename [spec_repositorio] nuevo_nombre

    spec_repositorio        Especificación del repositorio a renombrar.
                            Usa 'cm help objectspec' para obtener más
                            información sobre la especificación de repositorios.
    nuevo_nombre            Nuevo nombre para el repositorio.

== CMD_HELP_REPOSITORY_RENAME ==
Notas:

   Este comando renombre un repositorio.
   Si no se proporciona ninguna especificación de repositorio, se tomará el 
   repositorio actual como spec_repositorio.

Ejemplos:

   cm repository rename desarrollo
   (El repositorio actual se renombra a 'desarrollo'.)

   cm repo rename rep:default@SERVER:8084 desarrollo
   (El repositorio 'default' del servidor 'SERVER' se renombra a 'desarrollo'.)

== CMD_DESCRIPTION_REPOSITORY_ADD ==
Añade una base de datos de repositorio al sistema.

== CMD_USAGE_REPOSITORY_ADD ==
Uso:

    cm repository add databasename nombre repserverspec

    databasename            El nombre de la base de datos a reconectar.
    nombre                  Nombre del repositorio.
    repserverspec           Especificación del servidor de repositorios.
                            Usa 'cm help objectspec' para obtener más
                            información sobre la especificación de servidores.

== CMD_HELP_REPOSITORY_ADD ==
Nota:

    Reconecta una base de datos de repositorio al servidor. Puede
    usarse para mover un repositorio de un servidor a otro o para
    restaurar datos.

Ejemplos:

    cm repository add rep_27 myrepository myserver:8084

== CMD_DESCRIPTION_TRIGGER_CREATE ==
Crea un nuevo trigger en un determinado servidor.

== CMD_USAGE_TRIGGER_CREATE ==
Sintaxis:

    cm trigger create subtipo-tipo nombre script [opciones]

    subtipo-tipo: momento de ejecución del trigger y operacion del trigger.
    Teclee 'cm showtriggertypes' para ver una lista completa de los tipos de
    trigger disponibles. Algunos ejemplos son:

        before-mkbranch
        after-mkwokspace
        after-setselector

    nombre: nombre que queremos dar al trigger.
    script: ruta del servidor en la que se encuentra el script
    que deseamos ejecutar. Si esta ruta comienza por "webtrigger ", se
    considerará como web trigger. Consulte la ayuda del comando para obtener
    detalles adicionales.

Opciones:

    --position=posicion: Intenta crear el trigger en la posición especificada
    si esta no esta cogida por otro del mismo tipo.
    --filter=filtro: Comprueba sólo aquellos elementos que coincidan con el
    filtro de busqueda indicado. Se pueden especificar varios filtros
    separados por comas, si es así el el trigger se ejecutará si el elemento
    coincide con cualquiera de los filtros. Si uno de los filtros comienza
    con "rep:", el trigger se ejecutara sólo para las operaciones realizadas
    sobre el repositorio con el nombre especificado (ver ejemplo).
    --server=servidor: Crea el trigger en el servidor especificado. Si no se
    especifica ninguno se crea en el servidor configurado en el cliente.

== CMD_HELP_TRIGGER_CREATE ==
Notas:

    Web triggers: Para crear web triggers, escriba "webtrigger <target-uri>"
    como comando de trigger. En este caso, el trigger ejecutará una consulta
    POST contra el URI especificado, en la que el cuerpo de la petición
    contiene un diccionario JSON con las variables de entorno del trigger.
    También estará presente una clave INPUT apuntando a un vector de cadenas de
    texto para aquellos triggers que escriban en la entrada estándar de sus
    comandos asociados.

Ejemplos:
    cm trigger create after-setselector "backup" "/path/al/script" --position=4

    cm tr mk before-mklabel new "/path/al/script" --server=myserver:8084

    cm tr mk after-mklabel Log "/path/al/script" --filter="rep:myRep,LB*"
       Este trigger se ejecutará sólo si el nombre de la etiqueta creada
       comienza por 'LB' y si está siendo creada en el repositorio 'myrep'.

    cm tr mk after-checkin Notify "webtrigger http://myserver.org/endpoint"

== CMD_DESCRIPTION_MOVE ==
Mueve o renombra un ítem.

== CMD_USAGE_MOVE ==
Sintaxis:

    cm move ruta_origen ruta_destino

    ruta_origen: Ruta origen del ítem.
    ruta_destino: Ruta destino del ítem.

== CMD_HELP_MOVE ==
Notas:

    Este comando mueve o renombra un ítem en el repositorio.
    Los cambios también se realizan en el sistema de ficheros local.
    Si la ruta de origen es un fichero, el destino puede ser un fichero o un
    directorio. En el primer caso, el fichero se renombra, si no, el ítem se
    mueve al directorio destino.
    Si la ruta de origen es un directorio, la ruta destino ha de serlo también.

    Requisitos para mover o renombrar un ítem:
        El ítem ha de estar controlado por Plastic SCM.
        El directorio padre del ítem origen y del ítem destino han de estar desprotegidos.

Ejemplos:

    cm move fichero.txt fichero.old (renombra el ítem)
    cm move .\fichero.old .\antiguos (mueve fichero.old al directorio antiguos)
    cm move .\src .\src2 (renombra el directorio)

== CMD_DESCRIPTION_LABEL ==
Este comando permite al usuario efectuar operaciones con etiquetas.

== CMD_USAGE_LABEL ==
Sintaxis:

    cm label | lb command [options]

Comandos:

    create | mk
    delete | rm
    rename

    Para obtener más información sobre cada uno de los comandos ejecute:
    cm label command --usage
    cm label command --help

== CMD_HELP_LABEL ==
Ejemplos

    cm label myNewLabel cs:42
    (el comando 'create' es opcional)
    cm label rename myNewLabel newLabelName
    cm label delete newLabelName

== CMD_DESCRIPTION_LABEL_CREATE ==
Crea una etiqueta nueva o etiqueta una changeset dado.

== CMD_USAGE_LABEL_CREATE ==
Sintaxis:

    cm label [create] spec_etiqueta [spec_changeset | ruta]
                        [--allxlinkedrepositories]
                        [-c=str_comment | -commentsfile=<comments_file>]

    spec_etiqueta: Especificación de la etiqueta. Usa 'cm help objectspec' para
    obtener más información sobre especificaciones.
    spec_changeset: Nombre o especificación del changeset a etiquetar. Usa 
    'cm help objectspec' para obtener más información sobre especificaciones.
    ruta: Ruta del workspace a etiquetar

    Si no se especifica spec_changeset ni ruta se asumirá el directorio actual
    como workspace a etiquetar.

Opciones:

    --allxlinkedrepositories (-s): Crea la etiqueta en todos los repositorios
      enlazados.
    -c: Añade un comentario a la etiqueta creada.
    --commentsfile=comment.txt: Carga el comentario del fichero especificado.

== CMD_HELP_LABEL_CREATE ==
Notas:

    Si existe una variable de entorno llamada PLASTICEDITOR apuntando al
    ejecutable de un editor de texto el editor se abrirá automáticamente
    para que especifique un comentario.

Ejemplos:

    cm label create lb:BL001 cs:1203 -commentsfile=commentlb001.txt
    cm label BL002 cs:=1203 -c="first release"

== CMD_DESCRIPTION_LABEL_DELETE ==
Borra una o más etiquetas.

== CMD_USAGE_LABEL_DELETE ==
Sintaxis:

    cm label delete spec_etiqueta1 spec_etiqueta2 ...

    spec_etiqueta:  Etiquetas a borrar, separadas por espacios.
                    Usa 'cm help objectspec' para obtener más información
                    sobre la especificación de etiquetas.

== CMD_HELP_LABEL_DELETE ==
Notas:

   Este comando borra una o más etiquetas creadas previamente.

Ejemplos:

   cm label delete lb:BL001 (Se borra la etiqueta 'BL001')
   cm label delete lb:BL001 lb:BL002

== CMD_DESCRIPTION_LABEL_RENAME ==
Renombra una etiqueta.

== CMD_USAGE_LABEL_RENAME ==
Sintaxis:

    cm label rename spec_etiqueta nuevo_nombre

    sepec_etiqueta: Especificación de la etiqueta que se va a renombrar.
                    Usa 'cm help objectspec' para obtener más información sobre
                    la especificación de etiquetas.
    nuevo_nombre:   Nuevo nombre para la etiqueta.

== CMD_HELP_LABEL_RENAME ==
Notas:

   Este comando renombra una etiqueta.

Ejemplos:

   cm label rename lb:BL001 BL002
   (La etiqueta 'BL001' se renombra a 'BL002')

== CMD_DESCRIPTION_OBLITERATE ==
DEPRECATED

== CMD_USAGE_OBLITERATE ==


== CMD_HELP_OBLITERATE ==


== CMD_DESCRIPTION_OBJECTSPEC ==
Explica cómo escribir object specs (especificaciones de objetos).

== CMD_USAGE_OBJECTSPEC ==
Sintaxis:
    cm objectspec
    Para obtener toda la información sobre cómo construir specs de objetos.

== CMD_HELP_OBJECTSPEC ==
Muchos comandos de Plastic SCM esperan 'object specs' como entrada para
referirse a un objeto concreto (normalmente una rama, un changeset, un
repositorio, etc.).

Esta documentación describe los diferentes tipos de "specs" disponibles y
cómo construirlas.

Cada tipo de especificación comienza con un tag único, por ejemplo "rep:" o "cs:".
El tag se debe indicar para comandos que reciban especificaciones generales
de objetos, como por ejemplo "cm setowner object_spec", pero a menudo se pueden
omitir en comandos que solo acepten un tipo de especificación, como por ejemplo
"cm getfile revision_spec".

== Repository server spec (repserverspec) ==
    repserver:name:port

    Ejemplos:
        cm lrep repserver:skull:8084
        cm lrep skull:8084

    Nota:
        Lo llamamos "rep" server spec (con el 'rep' delante) en lugar de
        simplemente 'server spec' por motivos históricos. Hace mucho tiempo
        Plastic tenía servidores de workspaces y repositorios separados, y
        el nombre ha sobrevivido.

== Repository spec (repspec) ==
    rep:rep_name@[repserverspec]

    Ejemplos:
        cm showowner rep:codice@localhost:6060
        (Aquí la "rep:" es necesaria porque el comando showowner admite
         todo tipo de objetos).

== Branch spec (brspec) ==
    br:[/]br_name[@repspec]

    Ejemplos:
        cm switch br:/main@rep:plastic@repserver:skull:9095
        (En este caso "br:", "rep:" y "repserver:" no son necesarios así
         que el comando se puede escribir de forma mucho más compacta:
         "cm switch main@plastic@skull:9095" .)

        cm find revisions "where branch='br:/main/task001'"

    Nota:
        La barra inicial '/' en las ramas no es obligatoria. Solíamos escribir
        todas las ramas como /main, /main/task001, etc. Pero ahora preferimos
        user formatos más cortos tipo main, main/task001.

== Changeset spec (csetspec) ==
    cs:cs_number|cs_guid[@repspec]

    Se puede especificar el número o el GUID del changeset.

    Ejemplos:
        cm ls /code --tree=ae1390ed-7ce9-4ec3-a155-e5a61de0dc77@code@skull:7070

== Label spec (labelspec) ==
    lb:lb_name[@repspec]

    Ejemplos:
        cm switch lb:RELEASE2.0
        cm switch lb:RELEASE1.4@myrep@MYSERVER:8084

== Revision spec ==
Hay distintos tipos de specs de revisiones:

    rev:item_path[#(brspec|csetspec|labelspec)]

    rev:serverpath:item_path#(brspec|cset_spec|lb_spec)

    rev:revid:rev_id[@rep_spec]

    rev:itemid:item_id#(br_spec|cset_spec|lb_spec)

    Ejemplos:
        cm diff rev:readme.txt#cs:19 rev:readme.txt#cs:20

        cm diff serverpath:/doc/readme.txt#cs:19@myrepo \
            serverpath:/doc/readme.txt#br:/main@myrepo@localhost:8084

        cm cat revid:1230@rep:myrep@repserver:myserver:8084

== Item spec ==
Se usa muy raras veces.
    item:path

    Ejemplo:
        cm find revision "where item='item:.'"

== Attribute spec ==
    att:att_name[@repspec]

    Ejemplo:
        cm rmattributereal att:merged@code@doe:8084 cs:25@code@doe:8084

== Workspace specs ==
    wk:name@clientmachine

Se usa muy poco porque solamente aplica a los comandos relacionados con los
workspaces. Es útil para indicar el nombre del workspace en lugar del path.

    Ejemplo:
        cm showselector wk:codebase@modok

    Nota:
        Estas specs vienen de los viejos tiempos de Plastic SCM 2.x en los que
        los 'workspace servers' eran una forma de almacenar metadatos de forma
        centralizada. Se eliminaron por cuestiones de rendimiento.

== CMD_DESCRIPTION_PARTIAL ==
Ejecuta comandos en un espacio de trabajo parcial.

== CMD_USAGE_PARTIAL ==
Sintaxis:

    cm partial comando [opciones]

Comandos:

    configure
    add
    undo
    co   | checkout
    unco | undocheckout
    ci   | checkin
    mv   | move
    rm   | remove
    stb  | switch
    upd  | update

    Para obtener más información de cada uno de los comandos ejecute:
    cm partial comando --usage
    cm partial comando --help

== CMD_HELP_PARTIAL ==
Ejemplos:

    cm partial configure +/fondo-azul.png
    cm partial update paisaje-1024.png
    cm partial checkin ojos-verde.png ojos-negro.png

== CMD_DESCRIPTION_PARTIAL_ADD ==
Añade un ítem al repositorio.

== CMD_USAGE_PARTIAL_ADD ==
Sintaxis:

    cm partial add [-R | -r | --recursive] [--silent] [--parents] [--ignorefailed] 
                   [--skipcontentcheck] <rutas>+

    rutas               Rutas de los ítems a añadir separados por espacios.
                        Usa comillas (") para especificar rutas con espacios.
                        Usa * para añadir todo el contenido del directorio 
                        actual.

Opciones:

    -R                  Añade los ítems recursivamente.
    --silent            No muestra ninguna salida.
    --parents           Incluye los directorios padre de los ítems indicados en
                        la operación.
    --ignorefailed      Si un ítem no se puede añadir, la operación de add
                        continuará sin él. Importante: si un directorio no se 
                        puede añadir, su contenido tampoco se añadirá.
    --skipcontentcheck  Cuando la extensión no es suficiente para determinar si 
                        el fichero es de tipo texto o binario, se asumirá que es
                        binario en lugar de usar el contenido para detectar el
                        tipo.
== CMD_HELP_PARTIAL_ADD ==
Notas:

    Requisitos para añadir ítems:
    - El directorio padre del ítem a añadir debe existir en el repositorio.

Ejemplos:

    cm partial add pic1.png pic2.png
    (Añade los ítems pic1.png y pic2.png.)

    cm partial add c:\workspace\imagen.png
    (Añade el ítem imagen.png en el directorio c:\workspace.)

    cm partial add -R c:\workspace\src
    (Añade recursivamente todos los ítems del directorio especificado.)
    
    cm partial add --parents ejemplos\diseño01.png
    (Añade el ítem diseño01.png y su directorio padre ejemplos.)
    
    cm partial add -R *
    (Recursively adds all the contents of the current directory.)

== CMD_DESCRIPTION_PARTIAL_CHECKIN ==
Crea una nueva revisión de un ítem.

== CMD_USAGE_PARTIAL_CHECKIN ==
Sintaxis:

    cm partial checkin | ci [opciones] [<ruta>+]

    ruta                Rutas de los ítems a proteger, separados por espacios.
                        Usa comillas (") para especificar rutas con espacios.
                        Usa . para aplicar la operación de checkin al directorio
                        actual.

Opciones:

    -c                  Añade un comentario al changeset creado en la operación
                        de protección.
    -commentsfile       Añade el comentario existente en el fichero especificado
                        añ changeset creado en la operación de protección.
    --all | -a          Los ítems cambiados, movidos y borrados localmente en
                        las rutas especificadas también son protegidos.
    --applychanged      Protege los ítems cambiados localmente junto con los 
                        ítems desprotegidos.
    --keeplock          Mantiene el bloqueo de aquellos elementos que estaban
                        bloqueados después de la operación de protección.
    --symlink           Realizar la operación de checkin sobre el fichero de
                        link y no al que apunta.
    --ignorefailed      Los cambios locales que no se pueden aplicar (porque el
                        bloqueo (checkout exclusivo) no se puede obtener o 
                        porque están en conflicto con los cambios del servidor)
                        son descartados y el checkin continúa sin ellos.

== CMD_HELP_PARTIAL_CHECKIN ==
Notas:

    - Si no se especifican [opciones] ni [rutas], la operación involucrará a
    todos los cambios pendientes en el espacio de trabajo.
    - La operación de protección se aplica siempre recursivamente desde la
    ruta indicada.
    - Requisitos para proteger un ítem:
      - El ítem debe estar controlado por Plastic SCM.
      - El ítem ha de estar desprotegido.
      - Si un ítem ha sido cambiado pero no desprotegido, no es necesario
        especificar la opción --applychanged, salvo que en las rutas a ser
        protegidas se incluyan directorios o rutas con wildcards ('*').

    La revisión ha de tener cambios. Es decir, no se pueden proteger los
    mismos datos.

    Si existe una variable de entorno llamada PLASTICEDITOR apuntando al
    ejecutable de un editor de texto, y no se especifica un comentario al
    hacer checkin, el editor se abrirá automáticamente para que especifique
    un comentario.

Ejemplos:

    cm partial checkin figura.png paisaje.png
    (Protege los ítems figura.png and paisaje.png.)

    cm partial checkin . -commentsfile=micomentario.txt
    (Protege los ítems de la ruta actual y aplica el comentario existente en el
    fichero micomentario.txt.)

    cm partial ci fondo.png -c="Nuevo fondo añadido" --keeplock
    (Protege el ítem fondo.png, incluye el comentario especificado y mantiene el
    bloqueo.)

    cm partial checkin --applychanged
    (Protege todos los cambios pendientes en el espacio de trabajo.)
    
    cm partial checkin link --symlink
    (Proteger el fichero de link y no al que apunta, opción disponible en UNIX)

== CMD_DESCRIPTION_PARTIAL_CHECKOUT ==
Desprotege los ítems dejándolos preparados para ser modificados.

== CMD_USAGE_PARTIAL_CHECKOUT ==
Síntaxis:

    cm partial checkout | co [<ruta>+] [--resultformat=str_format] 
                     [--silent] [--ignorefailed]

Opciones:

    ruta                Rutas de los ítems a desproteger, separados por 
                        espacios.
                        Usa comillas (") para especificar rutas con espacios.
                        Usa . para aplicar la operación de checkout al 
                        directorio actual.
    --resultformat      Devuelve la salida en el formato especificado.
    --silent            No muestra ninguna salida.
    --ignorefailed      Si un ítem no se puede desproteger/bloquear (no se puede
                        hacer un checkout exclusivo), la operación de checkout
                        continuará sin él.

== CMD_HELP_PARTIAL_CHECKOUT ==
Notas: 

    Para desproteger un ítem:
    - El ítem debe estar controlado por Plastic.
    - El ítem debe estar protegido.
        
    Si se han configurado bloqueos en el servidor (existe el fichero lock.conf),
    entonces cada vez que se produzca una desprotección, Plastic comprobará si 
    se aplica alguna de las reglas. Si es así, la ruta permanecerá en checkout
    exclusivo (bloqueada), con lo que nadie podrá desprotegerlo simultáneamente.
    Puedes obtener todos los bloqueos del servidor usando 'cm listlocks'.
    Lee la documentación Administrator Guide para más información.

Examples:

    cm partial checkout imagen1.png imagen2.png
    (Desprotege los ítems imagen1.png and imagen2.png.)
    
    cm partial co *.png
    (Desprotege todos los ítems png.)

    cm partial checkout . 
    (Desprotege el directorio actual.)
    
    cm partial checkout -R c:\workspace\paisaje
    (Desprotege recursivamente el directorio paisaje.)

    cm partial co diseño01.png --exclusive 
    (Desprotege el ítem exclusivamente.)

== CMD_DESCRIPTION_PARTIAL_CONFIGURE ==
Permite configurar tu espacio de trabajo, cargando o descargando elementos.

== CMD_USAGE_PARTIAL_CONFIGURE ==
Sintaxis:

    cm partial configure <+|-ruta>+ [--silent] [--ignorefailed] [--ignorecase]
                                    [--restorefulldirs]

    ruta           Rutas a cargar o descargar, separadas por espacios. 
                   Usa comillas (") para especificar rutas con espacios.
                   Todas las rutas deben comenzar con "/".

Opciones:

    --silent            No muestra ninguna salida.
    --ignorefailed      Ignora cualquier error durante la operación.
    --ignorecase        Ignora mayúsculas y minúsculas. Con esta opción el
                        comando funcionará para "/Data/Textures" incluso si el
                        usuario indica "/data/teXtures".
    --restorefulldirs   Resetea una configuración de directorio incorrecta
                        (ocurre cuando una operación no parcial es ejecutada en
                        un espacio de trabajo parcial).
                        Los directorios de esta lista se configuran por
                        completo (full check), lo que significa que bajarán
                        automáticamente el nuevo contenido durante el update.
                        Esta operación no descarga ningún fichero, simplemente
                        restaura la configuración de directorio en un espacio
                        de trabajo parcial.

== CMD_HELP_PARTIAL_CONFIGURE ==
Notas:

    El comando siempre asume recursividad.

Ejemplos:

    cm partial configure +/paisaje-gris.png
    (Carga paisaje-gris.png.)

    cm partial configure -/paisaje-negro.png
    (Descarga paisaje-negro.)

    cm partial configure +/textura -/textura/textura01.png
    (Carga todo el contenido del directorio textura excepto textura01.png.)

    cm partial configure -/
    (Descarga todo el directorio de trabajo.)

    cm partial configure -/ +/
    (Carga todo el directorio de trabajo.)

    cm partial configure +/figura-64.png --ignorefailed
    (Carga figura-64.png, estuviera o no ya cargado previamente.)

    cm partial configure +/ --restorefulldirs
    (Fija todos los directorios para que descarguen el nuevo contenido automáticamente.)

    cm partial configure +/src/lib --restorefulldirs
    (Fija sólo /src/lib y sus subdirectorios para que descarguen el nuevo contenido automáticamente.)

== CMD_DESCRIPTION_PARTIAL_MOVE ==
Mueve o renombra un archivo o directorio.

== CMD_USAGE_PARTIAL_MOVE ==
Sintaxis:

    cm partial move | mv src_path dst_path [--format=str_format]

    src_path            Ruta origen del ítem.
    dst_path            Ruta destino del ítem.

Options:

    --format            Devuelve la salida en el formato especificado.

== CMD_HELP_PARTIAL_MOVE ==
Notas:

    Este comando mueve o renombra un ítem en el repositorio.
    Los cambios también se aplican localmente.
    
    Si la ruta de origen es un fichero, el destino puede ser un fichero o un
    directorio. En el primer caso, el fichero se renombra. En el segundo, el
    fichero se renombra.
    Si la ruta de origen en un directorio, el destino ha de serlo también.

    El ítem a mover o renombrar debe existir.

    Formato:
        {0}             Ruta de origen.
        {1}             Ruta de destino.

Examples:

    cm partial move fichero.png fichero-azul.png
    (Renombra el ítem.)

    cm partial mv .\fichero-azul.png .\azulFicheros
    (Mueve fichero-azul.png a azulFicheros.)

    cm partial move .\diseño .\marketing
    (Renombra un directorio.)

== CMD_DESCRIPTION_PARTIAL_RM ==
Borra un ítem del control de versiones.

== CMD_USAGE_PARTIAL_RM ==
Sintaxis:

    cm partial remove | rm <ruta>+ [--nodisk]

    ruta            Ítems a borrar, separados por espacios.
                    Usa comillas (") para especificar rutas con espacios.

Opciones:

    --nodisk            Borra del control de versiones, pero mantiene el ítem en
                        disco.

== CMD_HELP_PARTIAL_RM ==
Notas:

    Los ítems se borran de disco. Los ítems borrados son borrados del directorio
    padre en el control de versiones.

    Requisitos:
    - El ítem debe estar controlado.

Ejemplos:

    cm partial remove src
    (Borra src. Si src es un directorio, equivale a ejecutar: 
    cm partial remove -R src.)

    cm partial remove c:\workspace\pic01.png --nodisk
    (Borra pic01.png del control de versiones, pero lo mantiene en el disco.)

== CMD_DESCRIPTION_PARTIAL_SWITCH ==
Establece la rama especificada como rama de trabajo.

== CMD_USAGE_PARTIAL_SWITCH ==
Sintaxis:

    cm switch branch_spec [--report | --silent] [--workspace=path]
    (Establece la rama de trabajo y actualiza el workspace.)
    
    cm switch branch_spec --configure <+|-ruta>+ [--silent]
                          [--ignorefailed] [--ignorecase] [--workspace=path]
    (Establece la rama de trabajo y configura el workspace como haría el
    comando 'cm partial configure'.)

    branch_spec              Especificación de rama.
    ruta                     Rutas a cargar o descargar, separadas por espacios.
                             Usa comillas (") para especificar rutas con espacios.
                             Todas las rutas deben comenzar con "/".
                        
Opciones:               
                        
    --silent                 No muestra salida.
    --report                 Imprime una lista de los cambios efectuados una vez
                             termina la operación. Pierde efecto si se utiliza
                             la opción --silent conjuntamente.
    --configure              Configura (carga / descarga rutas) el espacio de
                             trabajo después de haber actualizado la rama de trabajo.
                             Usa 'cm partial configure --help' para aprender más
                             sobre como especificar las rutas a configurar.
    --ignorefailed           Ignora cualquier error durante la operación
                             de configuración.
    --ignorecase             Ignora mayúsculas y minúsculas en las rutas a
                             configurar. Con esta opción el comando funcionará
                             para "/Data/Textures" incluso si el usuario indica
                             "/data/teXtures".
    --workspace=path        Ruta del espacio de trabajo a cambiar.
    --forcedetailedprogress Fuerza mostrar progreso detallado incluso cuando se
                            redirige la salida estándar.

Usa 'cm help objectspec' para aprender más sobre cómo indicar especificaciones
de ramas.

== CMD_HELP_PARTIAL_SWITCH ==
Notas:

    Este comando permite a los usuarios especificar una rama, como rama de
    trabajo. Después de actualizar la rama, actualiza el espacio de trabajo
    a la nueva rama como haría un 'cm partial update'. Sin embargo, si se
    especifica la opción --configure, permite configurar el espacio de trabajo
    teniendo en cuenta los elementos cargados en la nueva rama como haría un
    'cm partial configure'.

Ejemplos:

    cm switch br:/main/task
    (Establece /main/task como rama de trabajo y actualiza el espacio de
    trabajo.)

    cm switch br:/main/task --configure +/art/images
    (Establece /main/task como rama de trabajo y configura el directorio
    /art/images.)

== CMD_DESCRIPTION_PARTIAL_UNCO ==
Deshace la desprotección de un ítem.

== CMD_USAGE_PARTIAL_UNCO ==
Sintaxis:

    cm partial undocheckout | unco <ruta>+ [--silent]

    ruta                Ítems sobre los que aplicar la operación, separados por
                        espacios. 
                        Usa comillas (") para especificar rutas con espacios.
                        Usa . para aplicar la operación al directorio actual.

Opciones:

    --silent            No muestra ninguna salida.

== CMD_HELP_PARTIAL_UNCO ==
Notas:

    Si un ítem está desprotegido y no quieres protegerlo, puede deshacer la 
    desprotección usando este comando. 
    Se puede deshacer la desprotección tanto a ficheros como a carpetas.
    El ítem se actualizará al estado anterior previo a ser desprotegido.

    Requisitos: 
      - El ítem debe estar controlado.
      - El ítem debe estar desprotegido.

Ejemplos:

    cm partial undocheckout . 
    (Deshace las desprotecciones del directorio actual.)

    cm partial undocheckout pic1.png pic2.png
    cm unco c:\workspace\diseño01.png
    (Deshace las desprotecciones de los ítems especificados.)

== CMD_DESCRIPTION_PARTIAL_UNDO ==
Deshace cambios en un workspace.

== CMD_USAGE_PARTIAL_UNDO ==
Syntaxis:

    cm partial undo [path]+ [--symlink] [-r | --recursive] [Filtros]+
                                                    [Opciones de salida]

    path                    Rutas de los ficheros o carpetas a los que aplicar
                            la operación, separados por espacios. Se pueden
                            utilizar comillas (") para especificar rutas con
                            espacios. Si no se especifica ninguna ruta, por
                            defecto la operación se ejecutará sobre los ficheros
                            en el directorio actual.

Opciones:

    --symlink               Aplica la operación de undo al enlace simbólico y
                            no a su destino.
    -r                      Ejecuta el undo de manera recursiva.

Filtros:

    Si ninguna de estas opciones está presente, por defecto se deshacen todos
    los tipos de cambio, pero los ficheros pueden filtrarse utilizando estas
    opciones.
    Si un fichero o directorio tiene uno o más de los tipos de cambio
    especificados, todos los cambios en ese fichero o directorio serán
    deshechos.
    Por ejemplo, si se especifica tanto --checkedout como --moved, si un fichero
    está tanto movido como checkedout, ambos cambios se desharán.

    --checkedout            Selecciona ficheros y directorios marcados para
                            cambios.
    --unchanged             Selecciona ficheros sin modificaciones en su
                            contenido.
    --changed               Selecciona ficheros y directorios cambiados o
                            marcados para cambios.
    --deleted               Selecciona ficheros y directorios eliminados.
    --moved                 Selecciona ficheros y directorios movidos.
    --added                 Selecciona ficheros y directorios añadidos.

Opciones de salida:

    --silent | --machinereadable [--startlineseparator=sep]
                                [--endlineseparator=sep] [--fieldseparator=sep]

    --silent                No muestra ninguna salida.
    --machinereadable       Muestra la salida en un formato fácil de tratar.
    --startlineseparator    Usado en conjunto con la opción '--machinereadable',
                            especifica cómo deberían comenzar las líneas.
    --endlineseparator      Usado en conjunto con la opción '--machinereadable',
                            especifica cómo deberían terminar las líneas.
    --fieldseparator        Usado en conjunto con la opción '--machinereadable',
                            especifica cómo deberían separarse las líneas.

== CMD_HELP_PARTIAL_UNDO ==
Notas:

    El comand undo es peligroso - deshace trabajo de una manera irreversible.
    Una vez que el undo termina, no hay manera posible de recuperar el estado
    anterior de los ficheros y directorios afectados. Si no se especifica
    ninguna ruta en los argumentos, por defecto se desharán los cambios en todos
    los elementos del directorio actual, pero NO de manera recursiva.
    Estos comandos son equivalentes ejecutados desde el directorio /src:

        /src
        |- file.txt
        |- code.cs
        \- /test
           |- test_a.py
           \- test_b.py

        $ cm partial undo
        $ cm partial undo *
        $ cm partial undo file.txt code.cs /test

        $ cm partial undo .
        $ cm partial undo /src file.txt code.cs

    Si se quiere que la operación sea recursiva, se necesita especificar la
    opción -r.

    Para deshacer todos los cambios debajo de un directorio (incluyendo los
    cambios sobre el propio directorio):

        $ cm partial undo dirpath -r

    Si dirpath es la ruta de un workspace, todos los cambios dentro del
    workspace serán deshechos.

Examples:

    $ cm partial undo . -r
    (Deshace todos los cambios en el directorio actual de manera recursiva. Si
    se ejecuta desde la raíz del workspace, deshace todos los cambios en el
    workspace completo.)

    $ cm partial co file.txt
    $ cm partial undo file.txt
    (Deshace el checkout en file.txt.)

    $ echo content >> file.txt
    $ cm partial undo file.txt
    (Deshace el cambio local en file.txt.)

    $ cm partial undo src
    (Deshace los cambios en el directorio src y en todos los ficheros
    controlados que contenga)

    $ cm partial undo src/*
    (Deshace los cambios en todos los elementos contenidos en src, sin afectar
    al propio directorio. Por la expansión del wildcard, es equivalente a
    'cm partial undo src/file1.txt src/file2.txt').

    $ cm partial undo *.cs
    (Deshace cambios en cada elemento que encaje con el patrón *.cs en el
    directorio actual.)

    $ cm partial undo *.cs -r
    (Deshace cambios en cada elemento que encaje con el patrón *.cs en el
    directorio actual, y en cada directorio por debajo de una manera recursiva.)

    $ cm partial co file1.txt file2.txt
    $ echo content >> file1.txt
    $ cm partial undo --unchanged
    (Deshace el checkout en file2.txt por no estar modificado, ignorando
    file1.txt ya que tiene cambios locales.)

    $ echo content >> file1.txt
    $ echo content >> file2.txt
    $ cm partial co file1.txt
    $ cm partial undo --checkedout
    (Deshace el cambio en el fichero en checkout file1.txt, ignorando file2.txt
    ya que no está en checkout.)

    $ cm partial add file.txt
    $ cm partial undo file.txt
    (Deshace el añadido de file.txt, dejándolo de nuevo como privado.)

    $ rm file1.txt
    $ echo content >> file2.txt
    $ cm partial add file3.txt
    $ cm partial undo --deleted --added *
    (Deshace el borrado de file1.txt y el añadido de file3.txt, ignorando
    el cambio en file2.txt.)

== CMD_DESCRIPTION_PARTIAL_UPDATE ==
Actualiza el espacio de trabajo parcial.

== CMD_USAGE_PARTIAL_UPDATE ==
Sintaxis:

    cm partial update [<ruta>+]
                      [--changeset=número]
                      [--silent | --report]

    ruta            Rutas a actualizar, separadas por espacios. Las dobles 
                    comillas (") deben usarse para especificar rutas que 
                    contienen espacios.
                    Si se usa . entonces se actualiza el directorio actual.
                    Si no se especifica ninguna ruta, entonces se actualiza todo
                    el espacio de trabajo parcial.

Opciones:

    --changeset     Actualiza el espacio de trabajo parcial al changeset 
                    especificado.
    --silent        No muestra salida.
    --report        Imprime una lista de los cambios efectuados una vez que
                    termina la operación. Esta opción no tiene efecto si se 
                    utiliza la opción --silent.
    --dontmerge     No procesa los conflictos de fichero. El resto de cambios
                    se procesan con normalidad. Esta opción puede ser útil en
                    automatización para evitar interacción con el usuario.


== CMD_HELP_PARTIAL_UPDATE ==
Notas:

    El comando update actualiza los ficheros desactualizados.

    El comando update siempre asume recursividad.

    Si todas las rutas especificadas son ficheros dentro del mismo xlink y
    se usa la opción --changeset, entonces las versiones a actualizar se buscan
    dentro del changeset del repositorio del xlink.

Ejemplos:

    cm partial update
    (Actualiza todo el espacio de trabajo parcial.)

    cm partial update .
    (Actualiza todos los hijos del directorio actual.)

    cm partial update fichero1.txt
    (Actualiza el fichero fichero1.txt.)

    cm partial update fichero1.txt fichero2.txt
    (Actualiza los ficheros fichero1.txt y fichero2.txt.)

    cm partial update src --report
    (Actualiza todos los hijos del directorio src, mostrando una lista de los
    cambios aplicados al finalizar.)

    cm partial update src --changeset=4
    (Actualiza todos los hijos del directorio src, al contenido
    que cargaban en el changeset 4.)
    
    cm partial update xlink/first.png --changeset=4
    (Actualiza el fichero xlink/first.png al contenido que cargaba en el
    changeset 4 del repositorio del xlink.)

== CMD_DESCRIPTION_PATCH ==
Genera un parche a partir de una spec o aplica un parche generado en el workspace actual.

== CMD_USAGE_PATCH ==
Sintaxis:

    cm patch [source_spec] source_spec
                        [--output=output_file] [--tool=/path/to/diff]

    cm patch --apply patch_file [--tool=/path/to/patch]

    source_spec         Especificación de rama o changeset
    output_file         Fichero que contendrá la salida del comando. Se
                        mostrará en pantalla si no se especifica.

Opciones:

    --output            Indica el fichero de destino para almacenar los
                        contenidos del parche.
    --tool              Especifica la ruta hacia la herramienta necesaria para
                        ejecutar la operación (diff o patch).

== CMD_HELP_PATCH ==
Notas:

    Este comando genera un fichero patch que contiene las diferencias de una
    rama o un changeset, así como las diferencias entre changesets. Encuentra
    diferencias para ficheros tanto de texto como binarios.

    El parámetro --apply permite aplicar los contenidos de un fichero patch 
    en el workspace actual.

Limitaciones:

    Si el fichero de salida de patch ya existe, el comando no lo
    sobreescribirá.

    Si el fichero con modificaciones en el patch no existe, el comando no
    creará uno nuevo para aplicar los cambios.

Importante:

    Este comando requiere las utilidades Diff y Patch, disponibles
    en http://gnuwin32.sourceforge.net/packages/patch.htm y 
    http://gnuwin32.sourceforge.net/packages/diffutils.htm
    
    Tras su instalación se recomienda agregar su ubicación a la variable
    de entorno PATH.

Ejemplos:

    cm patch cs:4@default@localhost:8084
    (Muestra en pantalla las diferencias del changeset 4 en formato patch.)

    cm patch br:/main --output=file.patch
    (Obtiene un fichero file.patch con las diferencias de la rama "main".)

    cm patch br:/main --output=file.patch --tool=C:\gnu\diff.exe
    (Misma operación con un ejecutable indicado explícitamente.)
    
    cm patch cs:2@default cs:4@default
    (Muestra en pantalla las diferencias entre los changeset 2 y 4.)

    cm patch --apply file.patch --tool=C:\gnu\patch.exe
    (Aplica el parche contenido en file.patch al workspace actual con un
    ejecutable indicado explícitamente.)

== CMD_DESCRIPTION_QUERY ==
Ejecuta una consulta SQL contra la base de datos del servidor.

== CMD_USAGE_QUERY ==
Uso:

    cm query comandosql [--outputfile=ruta]
                        [--solveuser=nombre_columna1,nombre_columna2,...]
                        [--solvepath=nombre_columna1,nombre_columna2,...]
                        [--columnwidth=valor]

    --outputfile: Escribe en un fichero el resultado de la consulta.
    --solveuser: Indica al intérprete de consultas que la(s) columna(s)
    especificada(s) contiene(n) usuarios. Se tratarán de resolver
    identificadores de usuario a nombres de usuario.
    --solvepath: Indica al intérprete de consultas que la(s) columna(s)
     especificadas(s) contiene(n) identificadores de ítem. Se tratarán de
     resolver los identificadores a rutas de disco.
    --columnwidth: Especifica la anchura de cada columna del resultado de la
    consulta.

== CMD_HELP_QUERY ==
Notas:

    Este comando permite a los usuarios ejecutar consultas SQL directamente
    contra la base de datos del servidor.
    A continuación se detalla el esquema (tablas y campos de cada tabla)
    disponibles para realizar consultas.

    ITEMS
        OBJECTID        (integer)
        CREATIONDATE    (datetime)
        OWNER           (string)

    REVISIONS
        OBJECTID        (integer)
        SIZEBYTES       (integer)
        ITEMID          (integer)
        BRANCHID        (integer)
        CHANGESET       (integer)
        COMMENT         (string)
        CREATIONDATE    (datetime)
        OWNER           (string)

    CHECKOUTS
        REVISIONID      (integer)
        WORKSPACESERVER (string)
        CLIENTMACHINE   (string)
        EXCLUSIVE       (char)
        CREATIONDATE    (datetime)
        OWNER           (string)

    BRANCHES
        OBJECTID        (integer)
        NAME            (string)
        PARENTBRANCHID  (integer)
        CREATIONDATE    (datetime)
        OWNER           (string)

    LABELS
        OBJECTID        (integer)
        NAME            (string)
        CREATIONDATE    (datetime)
        OWNER           (string)

    LABELEDREVISIONS
        LABELID         (integer)
        REVISIONID      (integer)
        CREATIONDATE    (datetime)
        OWNER           (string)

    LINKS
        OBJECTID        (integer)
        NAME            (string)
        CREATIONDATE    (datetime)
        OWNER           (string)

     LINKEDOBJECTS
        LINKID              (integer)
        SOURCEOBJECTID      (integer)
        DESTINATIONOBJECTID (integer)
        CREATIONDATE        (datetime)
        OWNER               (string)

    ATTRIBUTES
        OBJECTID        (integer)
        NAME            (string)
        CREATIONDATE    (datetime)
        OWNER           (string)

    OBJECTSWITHATTRIBUTES
        ATTRIBUTEID     (integer)
        SOURCEOBJECTID  (integer)
        ATTRIBUTEVALUE  (string)
        CREATIONDATE    (datetime)
        OWNER           (string)

    CHANGESETS
        CHANGESETNUMBER (integer)
        CREATIONDATE    (datetime)
        OWNER           (string)

Además, a la hora de escribir consultas, existen dos functiones predefinidas
para trabajar con usuarios y rutas de disco.
Estas funciones son las siguientes:

* SolveUser(nombre_usuario), resuelve el nombre de usuario dado al formato que
maneja Plastic SCM.
* SolvePath(path), resuelve rutas de disco a identificadores de ítem itemid.

Para mostrar el resultado de las consultas de forma legible al usuario, se
puede indicar al intérprete de consultas que convierta identificadores de
usuario a nombres de usuario, e identificadores de ítem a rutas de disco.
Para ello se utilizan las opciones:

--solveuser=nombre_columna
--solvepath=nombre_columna

Se pueden especificar varios nombres de columnas separados por comas.

Ejemplos:

    cm query "SELECT * FROM revision"

    cm query "SELECT b.sname as br_name, o.dtimestamp as date from branch b, object o, seid s
    where b.iobjid=o.iobjid and o.fidowner=s.iseidid and s.scode='SolveUser(juan)'"

    cm query "SELECT * FROM REVISION WHERE itemid=SolvePath(c:\mi_workspace)"

    cm query "SELECT r.iobjid, r.fiditem as ruta, s.scode as nombre_usuario FROM revision r, object o, seid s
    WHERE r.iobjid=o.iobjid and o.fidowner=s.iseidid" --solveuser=nombre_usuario --solvepath=ruta

== CMD_DESCRIPTION_ATTRIBUTE_DELETE ==
Borra uno o más atributos.

== CMD_USAGE_ATTRIBUTE_DELETE ==
Sintaxis:

    cm attribute delete spec_atributo1 spec_atributo2 ...

    spec_atributo       Atributos a borrar, separados por espacios.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de atributos.


== CMD_HELP_ATTRIBUTE_DELETE ==
Notas:


   Este comando borra uno o más atributos creados previamente.
   Los parámetros son especificaciones de atributos, dados en el formato
   att:nombre.

Ejemplos:

   cm attribute delete att:Status
   (Borra el atributo 'Status'.)

    cm att rm status att:integrated@reptest@server2:8084
    (Borrar los atributos 'status' e 'integrated'.)

== CMD_DESCRIPTION_ATTRIBUTE_UNSET ==
Borra un atributo que ha sido fijado previamente en un objeto.

== CMD_USAGE_ATTRIBUTE_UNSET ==
Sintaxis:

    cm attribute unset spec_atributo spec_objeto

    spec_atributo       Especificación del atributo.
    spec_objeto         Especificación del objeto sobre el que fijar
                        el atributo.
                        Se pueden fijar atributos sobre ramas, changesets,
                        shelvesets, etiquetas, items y revisiones.

    Usa 'cm help objectspec' para obtener más información sobre especificación
    de objetos.

== CMD_HELP_ATTRIBUTE_UNSET ==
Notas:

    Un atributo que ha sido fijado previamente a un objeto puede ser borrado
    con este comando. Se borra la realización del atributo en el objeto pero
    no el atributo.

    Usa 'cm help objectspec' para aprender cómo indicar especificaciones de
    objetos.

Ejemplo:

    cm attribute unset att:Status br:/main/SCM105

== CMD_DESCRIPTION_ATTRIBUTE_RENAME ==
Renombra un atributo.

== CMD_USAGE_ATTRIBUTE_RENAME ==
Sintaxis:

    cm attribute rename spec_atributo nuevo_nombre

    spec_atributo:  Especificación del atributo que se va a renombrar.
                    Usa 'cm help objectspec' para obtener más información sobre
                    la especificación de atributos.
    nuevo_nombre:   Nuevo nombre para el atributo.

== CMD_HELP_ATTRIBUTE_RENAME ==
Notas:

   Este comando renombra un atributo.

Ejemplos:

   cm attribute rename att:Status state
   (El atributo 'Status' se renombra a 'state')

== CMD_DESCRIPTION_ATTRIBUTE_EDIT ==
Editar el comentario de un atributo.

== CMD_USAGE_ATTRIBUTE_EDIT ==
Sintaxis:

    cm attribute edit spec_atributo nuevo_comentario

    spec_atributo:     Especificación del atributo objetivo del cambio.
                       Usa 'cm help objectspec' para obtener más información sobre
                       la especificación de atributos.
    nuevo_comentario:  Nuevo comentario para el atributo. También puedes
                       especificar una lista de valores por defecto para el 
                       atributo.

== CMD_HELP_ATTRIBUTE_EDIT ==
Notas:

    Este comando cambia el comentario de un atributo.

    Para especificar la lista de valores por defecto para un atributo, solo
    tienes que incluir un texto como este en el comentario del atributo:
    'default: valor_uno, "valor dos", valor3, "Valor final"'.

Ejemplos:

    cm attribute edit att:status "The status of a branch in the CI pipeline."
    (Edita el comentario del atributo "status".)

    cm attribute edit att:status "Status of a branch. default: open, resolved, reviewed"
    (Edita el comentario del atributo "status". Y también especifica una lista
    de valores. De este modo, cuando apliques el atribute "status" a un objeto,
    podrás seleccionar uno de los siguientes valores: "open", "resolved" o 
    "reviewed".)

== CMD_DESCRIPTION_REPLICATE ==
ATENCIÓN: Este comando se ha declarado obsoleto.

Ha sido reemplazado por 'pull' (equivalente a 'replicate') y por 'push'
(equivalente a 'replicate --push').

Replica datos desde un repositorio remoto.

== CMD_USAGE_REPLICATE ==
Uso:

    cm replicate br_spec dst_rep_spec [--nodata] [translateOptions] [authOptions]
    cm replicate hydrate br_spec [src_rep_spec] [authOptions]
    cm replicate hydrate cs_spec [src_rep_spec] [authOptions]
    cm replicate br_spec --package=packagename [--changeset=número]
    cm replicate dst_rep_spec --import=packagename

    br_spec: la rama para ser replicada/hidratada. Es una especificación
    completa de rama con el siguiente formato:
      br:/NOMBRE_RAMA[@rep:NOMBRE_REP[@repserver:NOMBRE_SERVIDOR:puerto]]

    cs_spec: changeset para ser hidratado. Es una espec. de changeset:
        cs:NUMERO_CHANGESET[@rep:NOMBRE_REP[@repserver:NOMBRE_SERVIDOR:puerto]]

    src_rep_sec: repositorio origen de los datos. Es una especificación
    completa de repositorio:
      rep:NOMBRE_REPOSITORIO@repserver:NOMBRE_SERVIDOR:puerto

    dst_rep_sec: repositorio destino de la replica. Es una especificación
    completa de repositorio:
      rep:NOMBRE_REPOSITORIO@repserver:NOMBRE_SERVIDOR:puerto

Opciones:

    --package para crear un paquete de replicación.
    --import para importar un paquete concreto.
    --nodata para replicar los cambios de una rama sin replicar sus datos. Esta
        opción no se puede usar para la réplica con paquetes ni con la opción
        --push.

Opciones de traducción:

    --trmode=[copy | name | table] para especificar cómo tratar los
        nombres de usuario cuando se importen los datos en el
        repositorio de destino:
        * copy  -> es el utilizado por defecto. Copia los SEIDs en el
          repositorio de destino.
        * name  -> realiza una traducción por nombre entre el modo
          de autentificación de origen y el de destino.
        * table -> se usará una tabla de traducción en la que se
          especifican los nombres de origen y cómo han de quedar
          en el destino.

    --trtable=[translationTable]
        una tabla de traducción es un fichero que contiene entradas
        en la forma nombre antiguo;nombre nuevo.

Opciones de autentificación:

    Hay dos formas de especificar los datos de autentificación:

    1) Especificando un fichero de autentificación.

       --authfile=fichero, un fichero que contiene dos líneas: el modo de
           autentificación en la primera línea y los datos de autentificación
           (ver --authdata) o una cadena vacía en la segunda.

    2) Especificando la autentificación mediante parámetros.

       Para ello hay que especificar el modo de autentificación mediante el
       modificador:

       --authmode=[NameWorkingMode | NameIDWorkingMode |
            LDAPWorkingMode | ADWorkingMode | UPWorkingMode]

        Si está trabajando en UPWorkingMode o LDAPWorkingMode, puede
        especificar los datos de autentificación de dos formas:

        2.1) Para UPWorkingMode o LDAPWorkingMode:

            --authdata=datos_de_autentificación

            Ejemplos:
              --authdata=ActiveDirectory:192.168.1.3:389:john.doe@factory.com:fPBea2rPsQaagEW3pKNveA==:dc=factory,dc=com (LDAPWorkingMode)
              --authdata=john:fPBea2rPsQaagEW3pKNveA== (UPWorkingMode)

        2.2) Solamente para UPWorkingMode:

             --user=usuario
             --password=contraseña

== CMD_HELP_REPLICATE ==
Notas:

    El comando 'replicate' replica datos desde una rama hacia un
    repositorio de destino. Todos los datos de la rama de origen, incluyendo
    revisiones, ítems, changesets, etiquetas, revisiones de código, links
    y seguridad serán replicados.

    Su cliente Plastic SCM debe estar configurado para trabajar con el
    repositorio de destino.

    La replicación también gestiona la 'reconciliación' de ramas que han
    sido modificadas tanto en origen como en destino, mediante la creación
    de 'ramas de entrega' (fetch branches) que podrán ser integradas
    posteriormente para resolver los conflictos.

    La replicación puede funcionar en tres modos diferentes:

    1- Comunicación directa entre servidores: lo que significa que el servidor
    de destino se comunicará con el de origen para sincronizar la rama
    especificada.

    2- Generación de paquete de exportación: el cliente se conectará
    únicamente con el destino para generar un paquete de replicación con los
    datos y los metadatos de la rama especificada. Se usará el modificador
    --package. El usuario podrá especificar, opcionalmente, un changeset
    inicial desde el cual generar la replicación.

    3- Importar un paquete generado previamente, usando la opción --import.

    En los modos 1 y 2 será necesaria la autentificación contra el servidor
    de origen. El comando 'replicate' acepta parámetros para especificar los
    diferentes modos de autentificación.

Ejemplos:

    cm replicate br:/main@rep:default@repserver:LONDRES:8084 rep:myrep@repserver:MADRID:9090
    cm replicate br:/main@rep:default@repserver:LONDRES:8084 rep:myrep@repserver:MADRID:9090 --trmode=name
    cm replicate br:/main@rep:default@repserver:LONDRES:8084 rep:myrep@repserver:MADRID:9090 --trmode=table --trtable=tabla.txt

    cm replicate br:/main@rep:default@repserver:LONDRES:8084 rep:myrep@repserver:MADRID:9090 --authmode=NameWorkingMode --user=john.doe
      Significa que se autentificará contra el servidor 'MADRID' usando NameWorkingMode como usuario 'john.doe'

    cm replicate br:/main/releaseBL060@rep:blackbird@repserver:barcelona:9090 --package=replicationpackage.data
      Creará un paquete de replicación

    cm replicate rep:mine@repserver:casa:9094 --import=replicationpackage.data
      Importará el paquete creado con anterioridad

    cm replicate br:/main/releaseBL060@rep:blackbird@repserver:barcelona:9090 --package=replicationpackage.data --changeset=1230
      Generará un paquete de replicación de la rama br:/main/releaseBL060 desde el changeset 1230

    cm replicate /main@project1@LONDRES:8084 projectx@localhost:8084 --nodata
      Replicará la rama /main del servidor LONDRES a mi servidor sin replica los datos.

    cm replicate hydrate /main@projectx@localhost:8084 project1@LONDRES:8084
      Hidratará los datos de la rama /main de mi servidor, usando los datos del servidor LONDRES.

Nota adicional:
    La tabla de traducción tiene entradas (una por línea) con el siguiente
    formato:
    nombre antiguo;nombre nuevo

== CMD_DESCRIPTION_PULL ==
Replica datos desde un repositorio remoto.

== CMD_USAGE_PULL ==
Uso:

    cm pull src_br_spec dst_rep_spec
            [--preview] [--nodata] [translateOptions]
            [--user=usr_name [--password=pwd] | AuthOptions]
     (Replicación directa entre servidores. Hace pull de una rama desde un
      repositorio.)

    cm pull dst_rep_spec --package=pack_file [AuthOptions]
     (Replicación basada en paquetes. Importa el paquete en el servidor de
      destino.)

    cm pull hydrate dst_br_spec [src_rep_spec]
            [--user=usr_name [--password=pwd] | AuthOptions]
     (Introduce los datos restantes para todos los changesets de una rama
      replicada previamente con la opción --nodata. Si no se especifica un
      repositorio del que obtener los datos, Plastic intentará usar el origen
      de replicación original de la rama.)

    cm pull hydrate dst_cs_spec [src_rep_spec]
            [--user=usr_name [--password=pwd] | AuthOptions]
     (Introduce los datos restantes para un changeset replicado previamente
      con la opción --nodata. Si no se especifica un repositorio del que obtener
      los datos, Plastic intentará usar el origen de replicación original de
      la rama.)

    src_br_spec        La rama a ser replicada desde un repositorio remoto.
    dst_br_spec        La rama a ser hidratada.
                       Especificación de ramas:
                       [br:][/]nombre_rama[@[rep:]nombre_rep[@[repserver:]nombre_servidor:puerto]]
    dst_cs_spec        El changeset a ser hidratado.
                       Especificación de changesets:
                       cs:numero_cset[@[rep:]nombre_rep[@[repserver:]nombre_servidor:puerto]]
    dst_rep_spec       El repositorio de destino.
                       Especificación de repositorio:
                       [rep:]nombre_rep[@[repserver:]nombre_servidor:puerto]
    --package          El fichero de donde se importa un paquete de replicación 
                       creado anteriormente.
                       Es útil para mover datos entre servidores sin una
                       conexión de red directa.
                       Consule 'cm push' para crear paquetes de replicación.

Opciones:

    --preview           Proporciona información sobre qué cambios serán traídos
                        durante el pull, pero no se ejecuta ninguna acción más.
                        Esta opción es útil para comprobar qué datos serán
                        replicados antes de ejecutar el pull.
    --user, --password  Credenciales para utilizar en caso de que el modo de
                        autenticación de los servidores origen y destino 
                        difieran, y no exista un profile para autenticarse 
                        contra el remoto.
    --nodata            Replica los metadatos de una rama sin replicar los
                        datos. Esta opción no se puede utilizar al importar un
                        paquete de replicación.

Opciones de traducción (translateOptions):

    --trmode={copy|name|table}
        El servidor de origen y de destino pueden utilizar modos distintos de
        autenticación. Este argumento especifica cómo se han de traducir los
        nombres de usuario del origen al destino.
        - copy    El modo por defecto, indica que los nombres de usuario serán
                  simplemente copiados.
        - name    Los nombres de usuario serán emparejados entre origen y
                  destino por coincidencia.
        - table   Se utilizará una tabla de traducción (más información a
                  continuación).

    --trtable={translation_table_file}
        Si el modo de traducción es 'table', entonces una tabla de traducción
        es un fichero que contiene líneas de la forma nombreantiguo;nombrenuevo.
        Cuando la rama se escribe en el repositorio de destino, los objetos
        creados por un usuario identificado por "nombreantiguo" en el
        repositorio de origen serán asignados al usuario identificado por
        "nombrenuevo" en el repositorio de destino.

Opciones de autentificación (AuthOptions):

    Hay dos formas de especificar los datos de autentificación:

    1) Especificando la autentificación mediante parámetros:

        --authmode={NameWorkingMode|LDAPWorkingMode|ADWorkingMode|UPWorkingMode}
        (LDAPWorkingMode) --authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
        (UPWorkingMode)   --authdata=dave:fPBea2rPsQaagEW3pKNveA==

        El parámetro '--authdata' es el contenido del campo <SecurityConfig>
        en los ficheros client.conf o profiles.conf. El fichero profiles.conf
        puede ser generado desde la GUI de Plastic SCM (Windows).

        Si se utiliza UPWorkingMode, se puede especificar simplemente:

        --authmode=UPWorkingMode --user=user --password=pwd

        2.1) Para UPWorkingMode o LDAPWorkingMode:

            --authdata=datos_de_autentificación

            Ejemplos:
              --authdata=ActiveDirectory:192.168.1.3:389:john.doe@factory.com:fPBea2rPsQaagEW3pKNveA==:dc=factory,dc=com (LDAPWorkingMode)
              --authdata=john:fPBea2rPsQaagEW3pKNveA== (UPWorkingMode)

        2.2) Solamente para UPWorkingMode:

             --user=usuario
             --password=contraseña

    1) Especificando un fichero de autentificación. Se pueden tener varios
       ficheros de autenticación, uno por servidor al que se conecte,
       conteniendo las credenciales específicas para dicho servidor.

       --authfile=fichero
            Contiene 2 líneas:
            Línea 1) modo de autenticación, igual que para --authmode.
            Línea 2) datos de autenticación, igual que para --authdata.

== CMD_HELP_PULL ==
Notas:

    El comando pull replica ramas (junto a sus changesets) entre un repositorio
    origen y otro destino. Los repositorios pueden encontrarse en diferentes
    servidores.

    Hay dos operaciones de replicación: push y pull.

    Una operación de 'pull' significa que la operación de replicación hará que
    el servidor destino obtenga datos desde el origen. El cliente se conectará
    con el servidor destino, y, desde ese host, establecerá una conexión con el
    repositorio origen para recuperar los datos pedidos. Durante el pull, será
    el servidor destino el que se conecte al origen.

    Aunque en un escenario distribuido típico el desarrollador haga pùsh de los
    cambios en su servidor local al servidor central, también puede ser
    necesario hacer pull de los últimos cambios en el servidor central al
    servidor local.

    La replicación puede resolver situaciones en las que se hagan cambios
    concurrentes en la misma rama en dos repositorios replicados:

    - Push: si se intenta hacer push de datos locales a un repositorio que tenga
      datos más nuevos que los que se están enviando, el sistema pedirá hacer
      pull de los últimos cambios, resolver el merge resultante y, finalmente,
      tratar de repetir el push.

    - Pull: cuando se hace pull de changesets de una rama remota, estos estarán
      correctamente enlazados a sus changesets padre. Si el changeset que se ha
      traído no es un hijo del último changeset de la rama, entonces aparecerá
      un escenario de múltiples cabezas. La rama tendrá más de una 'cabeza', o
      dicho de otro modo, más de un changeset final de rama. Será necesario
      hacer merge de ambas cabezas antes de que se pueda hacer push de nuevo.

    El pull puede funcionar de dos modos:

    1) Comunicación directa entre servidores: lo que significa que el servidor
    de destino se comunicará con el de origen para sincronizar la rama
    especificada.

    2) Importación de un paquete de replicación generado con push, con la opción
    --package.

    El modo 1) requere que el usuario que ejecute el comando esté autenticado
    contra el servidor remoto, bien o usando la autenticación por defecto en
    el fichero client.conf, mediante un profile creado previamente, o
    especificando los argumentos --authmode y --authdata (o --user y --password
    en caso de que el modo de autenticación sea UPWorkingMode).

    El modo 2) require usar un paquete de replicación generado previamente con
    el comando push.

    Recuerde que la replicación pull funciona de una manera indirecta. Cuando
    se ejecuta, el comando pide al repositorio destino que se conecte con el
    origen para obtener la rama especificada.

    Sin embargo, esto se puede hacer de manera directa utilizando el comando
    push, que hará que sea el repositorio origen quien envíe los datos
    directamente al destino.

Ejemplos:

    cm pull br:/main@project1@remoteserver:8084 projectx@myserver:8084
    (Hace pull de la rama principal de remoteserver a myserver. En este caso,
    ambos servidores están configurados con el mismo modo de autenticación.)

    cm pull br:/main@project1@remoteserver:8084 projectx@myserver:8084 --authmode=LDAPWorkingMode --authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
    (Hace pull de la misma rama que antes, pero ahora el servidor remoto está
    configurado para autenticar usuarios contra un Active Directory. Por ejemplo,
    se puede conectar de una máquina Linux a un servidor Windows configurado
    para usar Active Directory. Para ello, se especificará el usuario y la
    contraseña cifrada.)

    cm pull br:/main@project1@remoteserver:8084 projectx@myserver:8084 --authmode=UPWorkingMode --user=dave --password=mysecret
    (Hace pull de la misma rama, pero ahora ambos usuarios están autenticados
    en el servidor remoto mediante el sistema de gestión de usuarios integrado
    en Plastic SCM.)

    cm pull br:/main@project1@remoteserver:8084 projectx@myserver:8084 --nodata
    (Hace pull de la rama principal de remoteserver a myserver pero sin datos.)

    cm pull hydrate br:/main@projectx@myserver:8084 projectx@remoteserver:8084
    (Introduce los datos de todos los changesets de la rama principal obteniendo
    dichos datos del repositorio en remoteserver.)

    cm pull hydrate cs:122169@projectx@myserver:8084 projectx@remoteserver:8084
    (Introduce los datos del changeset 122169 en myserver obteniendo dichos
    datos del repositorio en remoteserver.)

Nota adicional:
    La tabla de traducción tiene entradas (una por línea) de la forma:
        nombre antiguo;nombre nuevo

== CMD_DESCRIPTION_PUSH ==
Replica datos hacia un repositorio remoto.

== CMD_USAGE_PUSH ==
Uso:

    cm push src_br_spec dst_rep_spec
            [--preview] [translateOptions]
            [--user=usr_name [--password=pwd] | AuthOptions]
     (Replicación directa entre servidores. Hace push de una rama hacia un
      repositorio.)

    cm push src_br_spec --package=pack_file [AuthOptions]
     (Replicación basada en paquetes. Crea un paquete de replicación con la
      rama especificada.)

    src_br_spec        La rama a ser replicada desde un repositorio remoto.
                       Especificación de ramas:
                       [br:][/]nombre_rama[@[rep:]nombre_rep[@[repserver:]nombre_servidor:puerto]]
    dst_cs_spec        El changeset a ser hidratado.
                       Especificación de changesets:
                       cs:numero_cset[@[rep:]nombre_rep[@[repserver:]nombre_servidor:puerto]]
    dst_rep_spec       El repositorio de destino.
                       Especificación de repositorio:
                       [rep:]nombre_rep[@[repserver:]nombre_servidor:puerto]
    --package          Exporta un paquete de replicación al fichero especificado.
                       Es útil para mover datos entre servidores sin una
                       conexión de red directa.

Opciones:

    --preview           Proporciona información sobre qué cambios serán enviados
                        durante el push, pero no se ejecuta ninguna acción más.
                        Esta opción es útil para comprobar qué datos serán
                        replicados antes de ejecutar el push.
    --user, --password  Credenciales para utilizar en caso de que el modo de
                        autenticación de los servidores origen y destino 
                        difieran, y no exista un profile para autenticarse 
                        contra el remoto.
    --nodata            Replica los metadatos de una rama sin replicar los
                        datos. Esta opción no se puede utilizar al exportar un
                        paquete de replicación.

Opciones de traducción (translateOptions):

    --trmode={copy|name|table}
        El servidor de origen y de destino pueden utilizar modos distintos de
        autenticación. Este argumento especifica cómo se han de traducir los
        nombres de usuario del origen al destino.
        - copy    El modo por defecto, indica que los nombres de usuario serán
                  simplemente copiados.
        - name    Los nombres de usuario serán emparejados entre origen y
                  destino por coincidencia.
        - table   Se utilizará una tabla de traducción (más información a
                  continuación).

    --trtable={translation_table_file}
        Si el modo de traducción es 'table', entonces una tabla de traducción
        es un fichero que contiene líneas de la forma nombreantiguo;nombrenuevo.
        Cuando la rama se escribe en el repositorio de destino, los objetos
        creados por un usuario identificado por "nombreantiguo" en el
        repositorio de origen serán asignados al usuario identificado por
        "nombrenuevo" en el repositorio de destino.

Opciones de autentificación (AuthOptions):

    Hay dos formas de especificar los datos de autentificación:

    1) Especificando la autentificación mediante parámetros:

        --authmode={NameWorkingMode|LDAPWorkingMode|ADWorkingMode|UPWorkingMode}
        (LDAPWorkingMode) --authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
        (UPWorkingMode)   --authdata=dave:fPBea2rPsQaagEW3pKNveA==

        El parámetro '--authdata' es el contenido del campo <SecurityConfig>
        en los ficheros client.conf o profiles.conf. El fichero profiles.conf
        puede ser generado desde la GUI de Plastic SCM (Windows).

        Si se utiliza UPWorkingMode, se puede especificar simplemente:

        --authmode=UPWorkingMode --user=user --password=pwd

        2.1) Para UPWorkingMode o LDAPWorkingMode:

            --authdata=datos_de_autentificación

            Ejemplos:
              --authdata=ActiveDirectory:192.168.1.3:389:john.doe@factory.com:fPBea2rPsQaagEW3pKNveA==:dc=factory,dc=com (LDAPWorkingMode)
              --authdata=john:fPBea2rPsQaagEW3pKNveA== (UPWorkingMode)

        2.2) Solamente para UPWorkingMode:

             --user=usuario
             --password=contraseña

    1) Especificando un fichero de autentificación. Se pueden tener varios
       ficheros de autenticación, uno por servidor al que se conecte,
       conteniendo las credenciales específicas para dicho servidor.

       --authfile=fichero
            Contiene 2 líneas:
            Línea 1) modo de autenticación, igual que para --authmode.
            Línea 2) datos de autenticación, igual que para --authdata.

== CMD_HELP_PUSH ==
Notas:

    El comando pull replica ramas (junto a sus changesets) entre un repositorio
    origen y otro destino. Los repositorios pueden encontrarse en diferentes
    servidores.

    Hay dos operaciones de replicación: push y pull.

    Una operación de 'push' significa que la operación de replicación enviará
    datos desde el repositorio origen al repositorio destino. En este caso, el
    cliente se conectará al repositorio origen, recuperando los datos para ser
    replicados, y entonces los enviará al repositorio destino. Mientras que el
    origen necesita tener conectividad con el destino, el destino no se
    conectará con el origen.

    En un escenario distribuido típico el desarrollador hace push de los
    cambios en su servidor local al servidor central. También puede ser
    necesario hacer pull de los últimos cambios en el servidor central al
    servidor local.

    La replicación puede resolver situaciones en las que se hagan cambios
    concurrentes en la misma rama en dos repositorios replicados:

    - Push: si se intenta hacer push de datos locales a un repositorio que tenga
      datos más nuevos que los que se están enviando, el sistema pedirá hacer
      pull de los últimos cambios, resolver el merge resultante y, finalmente,
      tratar de repetir el push.

    - Pull: cuando se hace pull de changesets de una rama remota, estos estarán
      correctamente enlazados a sus changesets padre. Si el changeset que se ha
      traído no es un hijo del último changeset de la rama, entonces aparecerá
      un escenario de múltiples cabezas. La rama tendrá más de una 'cabeza', o
      dicho de otro modo, más de un changeset final de rama. Será necesario
      hacer merge de ambas cabezas antes de que se pueda hacer push de nuevo.

    El push puede funcionar de dos modos:

    1) Comunicación directa entre servidores: lo que significa que el servidor
    de origen se comunicará con el de destino para sincronizar la rama
    especificada.

    2) Exportación de un paquete de replicación: El cliente únicamente se
    conectará con el origen y generará un paquete de replicación que contenga
    tanto los datos como los metadatos para la rama especificada. Para ello
    se utilizará el argumento --package.

    Ambos modos requeren que el usuario ejecutando el comando esté autenticado
    contra el servidor, bien o usando la autenticación por defecto en el fichero
    client.conf, mediante un profile creado previamente, o especificando los
    argumentos --authmode y --authdata (o --user y --password en caso de que
    el modo de autenticación sea UPWorkingMode).

    La replicación push funciona de una manera directa. Cuando se ejecuta, el
    comando replicará la rama seleccionada del origen al destino, en vez de
    pedir al repositorio destino que se conecte al repositorio origen para
    obtener la rama especificada (como hace pull).

Ejemplos:

    cm push br:/main@project1@myserver:8084 projectx@remoteserver:8084
    (Hace push de la rama main desde myserver a remoteserver. En este caso,
    ambos servidores están configurados con el mismo modo de autenticación.)

    cm push br:/main@project1@remoteserver:8084 projectx@myserver:8084 --authmode=LDAPWorkingMode --authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
    (Hace push de la misma rama que antes, pero ahora el servidor remoto está
    configurado para autenticar usuarios contra un Active Directory. Por ejemplo,
    se puede conectar de una máquina Linux a un servidor Windows configurado
    para usar Active Directory. Para ello, se especificará el usuario y la
    contraseña cifrada.)

    cm push br:/main@project1@remoteserver:8084 projectx@myserver:8084 --authmode=UPWorkingMode --user=dave --password=mysecret
    (Hace push de la misma rama, pero ahora ambos usuarios están autenticados
    en el servidor remoto mediante el sistema de gestión de usuarios integrado
    en Plastic SCM.)

Nota adicional:
    La tabla de traducción tiene entradas (una por línea) de la forma:
        nombre antiguo;nombre nuevo

== CMD_DESCRIPTION_CLONE ==
Clona un repositorio remoto.

== CMD_USAGE_CLONE ==
Sintaxis:

    cm clone src_rep_spec [dst_rep_spec | repserver:dst_repserver_spec]
                [--user=usr_name [--password=pwd] | AuthOptions]
                [TranslateOptions]
     (Clonado directo repositorio-a-repositorio.)

    cm clone src_rep_spec --package=pack_file
                [--user=usr_name [--password=pwd] | AuthOptions]
     (Clonado utilizando un paquete intermedio, que se podrá importar
     posteriormente al repositorio destino mediante un pull.)

    src_rep_spec        Repositorio origen de la operación de clonado.
    dst_rep_spec        Repositorio destino de la operación de clonado.
                        Si existe, debe estar vacío. Si no existe, será creado
                        automáticamente.
                        Si no se especifica, el comando utilizará el servidor
                        de repositorios por defecto.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de repositorios.
    dst_repserver_spec  Servidor de repositorios destino de la operación de
                        clonado. Si existe un repositorio con el mismo nombre
                        que src_rep_spec, debe estar vacío. Si no existe, será
                        creado automáticamente.
                        Si no se especifica, el comando utilizará el servidor
                        de repositorios por defecto.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación servidores de repositorio.
    pack_file           Ruta de destino del paquete.

Options:

    --user, --password  Credenciales para utilizar en caso de que el modo de
                        autenticación de los servidores origen y destino 
                        difieran, y no exista un profile para autenticarse 
                        contra el remoto.
    --package           Exporta un paquete de replicación al fichero
                        especificado.
                        Es útil para mover datos entre servidores sin una
                        conexión de red directa.
                        El paquete resultante ha de ser importado mediante el
                        comand pull.

Opciones de traducción (TranslateOptions):

    --trmode={copy|name|table}
        El servidor de origen y de destino pueden utilizar modos distintos de
        autenticación. Este argumento especifica cómo se han de traducir los
        nombres de usuario del origen al destino.
        - copy    El modo por defecto, indica que los nombres de usuario serán
                  simplemente copiados.
        - name    Los nombres de usuario serán emparejados entre origen y
                  destino por coincidencia.
        - table   Se utilizará una tabla de traducción (más información a
                  continuación).

    --trtable={translation_table_file}
        Si el modo de traducción es 'table', entonces una tabla de traducción
        es un fichero que contiene líneas de la forma nombreantiguo;nombrenuevo.
        Cuando la rama se escribe en el repositorio de destino, los objetos
        creados por un usuario identificado por "nombreantiguo" en el
        repositorio de origen serán asignados al usuario identificado por
        "nombrenuevo" en el repositorio de destino.

Opciones de autentificación (AuthOptions):

    Hay dos formas de especificar los datos de autentificación:

    1) Especificando la autentificación mediante parámetros:

        --authmode={NameWorkingMode|LDAPWorkingMode|ADWorkingMode|UPWorkingMode}
        (LDAPWorkingMode) --authdata=::0:dave:fPBea2rPsQaagEW3pKNveA
        (UPWorkingMode)   --authdata=dave:fPBea2rPsQaagEW3pKNveA==

        El parámetro '--authdata' es el contenido del campo <SecurityConfig>
        en los ficheros client.conf o profiles.conf. El fichero profiles.conf
        puede ser generado desde la GUI de Plastic SCM (Windows).

        Si se utiliza UPWorkingMode, se puede especificar simplemente:

        --authmode=UPWorkingMode --user=user --password=pwd

        2.1) Para UPWorkingMode o LDAPWorkingMode:

            --authdata=datos_de_autentificación

            Ejemplos:
              --authdata=ActiveDirectory:192.168.1.3:389:john.doe@factory.com:fPBea2rPsQaagEW3pKNveA==:dc=factory,dc=com (LDAPWorkingMode)
              --authdata=john:fPBea2rPsQaagEW3pKNveA== (UPWorkingMode)

        2.2) Solamente para UPWorkingMode:

             --user=usuario
             --password=contraseña

    1) Especificando un fichero de autentificación. Se pueden tener varios
       ficheros de autenticación, uno por servidor al que se conecte,
       conteniendo las credenciales específicas para dicho servidor.

       --authfile=fichero
            Contiene 2 líneas:
            Línea 1) modo de autenticación, igual que para --authmode.
            Línea 2) datos de autenticación, igual que para --authdata.

== CMD_HELP_CLONE ==
Notas:

    El comando clone replica ramas (junto a sus changesets, etiquetas, atributos,
    reviews, etc.) desde un repositorio origen a otro repositorio destino.
    Los repositorios pueden encontrarse en diferentes servidores.

    El repositorio destino puede existir de antemano, pero si contiene datos
    previos, la operación de clone fallará.

    La operación de clone NO clona submódulos, ni repositorios que se encuentren
    debajo de un xLink.

Ejemplos:

    cm clone awesomeProject@tardis@cloud
    (Clona el repositorio 'awesomeProject' de la organización Cloud tardis@cloud 
    en un repositorio local del mismo nombre.)

    cm clone repo@server.home:9095 repo-local
    (Clona 'repo' desde 'server.home:9095' en 'repo-local' localizado en el 
    servidor de repositorios por defecto del usuario.)

    cm clone project@192.168.111.130:8084 repserver:192.168.111.200:9095
    (Clona 'project' desde '192.168.111.130:8084' en
    'project@192.168.111.200:9095'.)

    cm clone project@ldapserver:8084 --authfile=credentials.txt --trmode=table --trtable=table.txt
    (Clona el repositorio 'project' desde 'ldapserver:8084' utilizando un fichero
    para autenticarse contra el servidor remoto, y traduciendo los usuarios
    siguiendo la tabla de traducción especificada.)

    cm clone project@server.home:9095 --package=project.plasticpkg
    cm mkrep project@mordor.home:8084
    cm pull --package=project.plasticpkg project@mordor.home:8084
    (Clona 'project' desde 'server.home:9095' al paquete 'project.plasticpkg',
    que se importa posteriormente en el repositorio 'project' de
    'mordor.home:8084' mediante una operación de pull.)

Nota adicional:
    La tabla de traducción tiene entradas (una por línea) de la forma:
        nombre antiguo;nombre nuevo

== CMD_DESCRIPTION_REVERT ==
Carga en el espacio de trabajo la revisión especificada y desprotege el elemento.

== CMD_USAGE_REVERT ==
Sintaxis:

    cm revert cset_spec

    cset_spec   Especificación del changeset que contiene la revisión del ítem
    cuyo contenido se desea cargar en el espacio de trabajo.
                Usa 'cm help objectspec' para obtener más información sobre la
                especificación de changesets.

== CMD_HELP_REVERT ==
Notas:

     El ítem ha de esta estar protegido.

      Ejemplos:

      cm revert dir#cs:0
      cm revert C:\mywks\dir\file1.txt#cs:23456

== CMD_DESCRIPTION_REVISION_HISTORY ==
Muestra la historia de revisiones de un ítem.

== CMD_USAGE_REVISION_HISTORY ==
Sintaxis:

    cm history [opciones] rutas

    rutas:      Rutas de los ítems a mostrar, separadas por comas.
                También pueden ser especificaciones de revisiones en servidor.
                Usa comillas (") para indicar rutas que contengan espacios.
                Usa 'cm help objectspec' para obtener más información sobre la
                especificación de estas rutas.

Opciones:

    -R: Descender recursivamente dentro de los directorios.
    --long: Muestra información adicional.
    --format: Muestra la salida con el formato especificado.
      No compatible con la opción '--long'. Significado:
      {0} fecha, {1} changeset, {2} rama, {3} etiquetas,
      {4} comentario, {5} propietario, {6} revisionid
    --symlink: Efectúa la operación "history" sobre el fichero de link y
      no sobre el ítem al que apunta
    --xml: Permite volcar la salida del comando en formato xml a la salida
      estándar. También se permite especificar un fichero de salida
      (--xml=output.xml).
    --encoding: si se utiliza con la opción --xml, permite especificar el
      encoding con el que se guardará la salida del comando. Consulte la
      documentación de la MSDN para obtener la tabla completa de codificaciones
      soportadas y su formato; al final de la página en la columna "Name":
      http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_REVISION_HISTORY ==
Notas:

    Este comando muestra una lista con todas revisiones de un ítem determinado.
    Para cada una de ellas se muestra la rama a la que pertenece, comentarios
    de checkin y información sobre las etiquetas.

    Este comando acepta formato para mostrar la salida.
    Los parámetros que acepta son los siguientes:
        {0} | {date}              Fecha.
        {1} | {changesetid}       Número de changeset.
        {2} | {branch}            Rama.
        {4} | {comment}           Comentario.
        {5} | {owner}             Propietario.
        {6} | {id}                Id de revisión.
        {7} | {repository}        Repositorio.
        {8} | {server}            Servidor.
        {9} | {repspec}           Especificación de repositorio.
        {tab}                     Inserta un tabulador.
        {newline}                 Inserta una nueva línea.

Ejemplos

    cm history fichero1.txt fichero2.txt
    cm history c:\workspace
    cm history link --symlink
    (Recupera la historia del fichero de link y no sobre el elemento al que
    apunta)

    cm history serverpath:/src/foo/bar.c#br:/main/task001@myserver
    (Recupera la historia del elemento /src/foo/bar.c presente en el último
    changeset de la rama /main/task001 del repositorio 'myserver')

== CMD_DESCRIPTION_REVISION_TREE ==
Muestra un árbol de revisiones para el ítem dado.

== CMD_USAGE_REVISION_TREE ==
Sintaxis:

    cm tree ruta

    ruta: Ruta del ítem sobre el que se mostrará el árbol.

Opciones:

    --symlink: Efectúa la operación sobre el fichero de link y no sobre el ítem
    al que apunta.

== CMD_HELP_REVISION_TREE ==
Ejemplos:

    cm tree fichero1.txt
    cm tree c:\workspace
    cm tree link --symlink
    (Efectúa la operación sobre el fichero de link
    y no sobre el que apunta, disponible en entornos UNIX).

== CMD_DESCRIPTION_RM ==
Use este comando para borrar ficheros y directorios.

== CMD_USAGE_RM ==
Sintaxis:

    cm remove | em comando [opciones]

Comandos:

    controlled (opcional)
    private

    Para obtener más información sobre cada comando:
    cm remove comando --usage
    cm remove comando --help

== CMD_HELP_RM ==
Ejemplos:

    cm remove \fichero_controlado.txt
    cm remove private \fichero_privado.txt

== CMD_DESCRIPTION_RM_CONTROLLED ==
Borra un ítem del control de versiones.

== CMD_USAGE_RM_CONTROLLED ==
Sintaxis:

    cm remove [opciones] rutas

    rutas: Rutas de los ítem a borrar.

Opciones:

    -R: Descender recursivamente dentro de directorios.

== CMD_HELP_RM_CONTROLLED ==
Notas:

    El ítem nunca borra del disco.

    Requisitos para borrar:

        El ítem ha de estar controlado en Plastic SCM.
        El directorio padre debe estar desprotegido.
        El elemento no debe estar desprotegido.
        Si el ítem es un directorio, no debe tener desprotecciones pendientes.

Ejemplos:

    cm remove src (borra el directorio 'src')
    cm remove c:\workspace\fichero.txt

== CMD_DESCRIPTION_RM_PRIVATE ==
Borra ficheros y directorios privados.

Advertencia: este comando elimina permanentemente ficheros y directorios, y no
son recuperables. Es recomendable utilizar antes la opción '--dry-run' para
comprobar qué ficheros y directorios serán afectados por el comando.

== CMD_USAGE_RM_PRIVATE ==
Sintaxis:

    cm remove | rm private <ruta>+ [-r] [--verbose] [--dry-run]

    ruta                Ruta del fichero o directorio a borrar.
                        Se pueden usar comillas (") para especificar rutas que
                        contengan espacios.

Opciones:

    --r                 Elimina ficheros privados recursivamente dentro de
                        directorios controlados.
    --ignored           También se elimina ficheros y directorios ignorados y
                        cloaked.
    --verbose           Muestra todos las rutas afectadas.
    --dry-run           Ejecuta el comando sin hacer cambios en disco.

== CMD_HELP_RM_PRIVATE ==
Notas:

    Si la ruta especificada corresponde a un fichero o directorio privados, este
    será eliminado de disco.
    Si la ruta corresponde a un fichero bajo control de versiones, el comando
    fallará.
    Si la ruta pertenece a un directorio bajo control de versiones, el comando
    fallará salvo que se especifique la opción '-r', en cuyo caso se borrarán
    todos los ficheros y directorios privados dentro del directorio controlado
    especificado.

Ejemplos:

    cm remove private private_directory
    (Eliminina el directorio 'private_directory'.)

    cm remove private c:\workspace\controlled_directory
    (Falla, pues el directorio 'controlled_directory' no es privado.)

    cm remove private -r c:\workspace\controlled_directory
    (Elimina todos los ficheros y directorios privados dentro de
    'controlled_directory'.)

    cm rm private --dry-run --verbose c:\workspace\controlled_directory -r
    (Muestra todas las rutas afectadas por la operación de borrado de elementos
    privados dentro de 'controlled_directory' sin borrar nada.)

    cm rm private --verbose c:\workspace\controlled_directory -r
    (Muestra todas las rutas afectadas por la operación de borrado de elementos
    privados dentro de 'controlled_directory', ejecutando el borrado.)

== CMD_DESCRIPTION_TRIGGER_DELETE ==
Elimina un trigger identificado por un tipo y una posicion de un servidor dado.

== CMD_USAGE_TRIGGER_DELETE ==
Sintaxis:

    cm trigger delete subtipo-tipo posicion [opciones]

    subtipo-tipo: momento de ejecución del trigger y operacion del trigger.
    Teclee 'cm showtriggertypes' para ver una lista completa de los tipos
    de trigger disponibles. Algunos ejemplos son:

        before-mkbranch
        after-mkwokspace
        after-setselector

    posicion: posicion que se le asigno al trigger en el momento de su creación.

Opciones:

    --server=servidor: Elimina el trigger del servidor especificado.
    Si no se especifica ninguno lo elimina en aquél configurado
    en el cliente.

== CMD_HELP_TRIGGER_DELETE ==
Ejemplos:
    cm trigger delete after-setselector 4
    cm tr rm after-setselector 4

== CMD_DESCRIPTION_ATTRIBUTE_SET ==
Fija un atributo al objeto indicado.

== CMD_USAGE_ATTRIBUTE_SET ==
Sintaxis:

    cm attribute set spec_atributo spec_objeto valor_atributo

    spec_atributo       Especificación del atributo.
    spec_objeto         Especificación del objeto sobre el que fijar el atributo.
                        Objetos válidos para este comando son: rama, changeset,
                        shelveset, etiqueta, item y revisión.
    valor_atributo      Valor con el que se quiere fijar el atributo indicado
                        para ese objeto.

Usa 'cm help objectspec' para obtener más información sobre especificaciones.

== CMD_HELP_ATTRIBUTE_SET ==
Notas:

   A los objetos se les puede fijar un atributo para poder guardar información
   adicional en el objeto.
   Se pueden fijar atributos sobre los siguientes objetos:
   ramas, changesets, shelvesets, etiquetas, items y revisiones.

Ejemplo:

    cm attribute set att:Status br:/main/SCM105 Integrated

== CMD_DESCRIPTION_SETOWNER ==
Establece el propietario de un objeto.

== CMD_USAGE_SETOWNER ==
Sintaxis:

    cm setowner | sto --user=usuario | --group=grupo spec_objeto

    --user              Nombre de usuario. Nuevo propietario del objeto.
    --group             Nombre de grupo. Nuevo propietario del objeto.
    spec_objeto         Especificación del objeto sobre el que asignar el nuevo
                        propietario.
                        Se puede asignar nuevo usuario a los siguientes objetos:
                        repserver, repositorio, rama, changeset, etiqueta, item,
                        revisión y atributo.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de objetos.

== CMD_HELP_SETOWNER ==
Notas:

    Es posible modificar el propietario de un objeto mediante el comando
    setowner. El propietario de un objeto puede ser un usuario o un grupo.
    Para especificar un usuario se utiliza la opción –-user=xxx y para
    especificar un grupo se utiliza la opción -–group=xxx. El objeto que se
    quiere modificar se especifica mediante una especificación de objeto.

    Se puede modificar el propietario de los siguientes objetos:
    servidor de repositorios, repositorio, rama, changeset, etiqueta, item,
    revisión y atributo.

Ejemplos:

    cm setowner --user=danipen repserver:localhost:8084
    (establece a 'danipen' como propietario del servidor de repositorios)
    cm sto --group=development rep:principal@PlasticServer:8084
    (establece al grupo 'development' como el propietario del repositorio 'principal')

== CMD_DESCRIPTION_SETSELECTOR ==
Establece un selector para un espacio de trabajo.

== CMD_USAGE_SETSELECTOR ==
Sintaxis:
    cm setselector [opciones] [wk_ruta | wk_spec]

    wk_ruta                 Ruta del espacio de trabajo sobre el que establecer el
                            selector.
    wk_spec                 Especificación del espacio de trabajo sobre el que 
                            establecer el selector.
                            Usa 'cm help objectspec' para obtener más información
                            sobre especificaciones de espacios de trabajo.

Opciones:
    --file                  Fichero del que cargar un selector.
    --ignorechanges         Ignora el mensaje de aviso de cambios pendientes que se
                            muestra si existen cambios pendientes cuando se 
                            actualiza el espacio de trabajo.
    --forcedetailedprogress Fuerza mostrar progreso detallado incluso cuando se
                            redirige la salida estándar. 

== CMD_HELP_SETSELECTOR ==
Notas:

    Este comando establece un selector para un espacio de trabajo determinado.

    Un workspace necesita información acerca de dónde obtener las revisiones
    con las que trabajará el usuario. Para especificar esa información se
    utilizan los selectores.

    Mediante un selector se puede indicar, por ejemplo, que se carguen las
    revisiones desde una rama determinada o desde la rama ‘main’, desde una
    etiqueta, y especificar la rama donde se alojarán las desprotecciones.

    Si no se especifica ningún fichero del que cargar el selector se abrirá
    un editor de texto.

    Indicar una ruta o una especificación de workspace es opcional. Si no se
    especifica ninguno el selector se fijará para el espacio de trabajo en
    el que se encuentra el usuario.

    Un selector de ejemplo:

    repository "default" // indica el repositorio con el que se trabaja
      path "/"           // se aplica al path raíz
        branch "/main"   // se obtendrán las últimas revisiones de br:/main
        checkout "/main" // los checkouts se ubicarán en la rama br:/main

Ejemplos:

    cm setselector
    cm setselector --file=c:\selectores\miRama.xml
    cm setselector --file=c:\selectores\rama5.xml MiWorkspace
    cm setselector wk:workspace_projA@BEARDTONGUE

== CMD_DESCRIPTION_SHELVE ==
El comando shelve almacena el contenido de las revisiones en checkout.

== CMD_USAGE_SHELVE ==
Este comando está obsoleto. Se ha reemplazado por 'cm shelveset'.

Sintaxis:

    cm shelve [opciones] [rutas]

    rutas: rutas de los items a guardar.

Opciones:
    --apply=shelve_spec : Restaura los contenidos almancenados en el
      repositorio, identificados por "shelve_spec" en el espacio de trabajo
      local.
    --delete=shelve_spec: Elimina los contenidos almancenados en el repositorio
      identificados por "shelve_spec"
    --all (-a): Los ítems cambiados, movidos y borrados localmente, en las
      rutas dadas, también serán guardados.
    --dependencies: Incluir las dependencias de los cambios locales entre los
      ítems a guardar.
    -c=comentarios: Añade un comentario al shelve creado en la operación.
    --commentsfile=comment.txt: Carga el comentario del fichero especificado.
    --mount: El punto de montaje del respositorio especificado.
    --encoding=codificación: Especifica la codificación de los ficheros de
      origen (por ejemplo, UTF-8 o Unicode)
    --comparisonmethod=tipo: cualquiera de las siguientes opciones:
      IgnoreEol:            Ignora diferencias de final de línea.
      IgnoreWhitespaces:    Ignora diferencias de espacios en blanco.
      IgnoreEolWhitespaces: Ignora diferencias de final de línea y espacios en
                            blanco.
      NotIgnore:            Detecta diferencias de final de línea y espacios en
                            blanco.

== CMD_HELP_SHELVE ==

Notas:

    - Si no se especifican [opciones] ni [rutas], la operación involucrará a
      todos los cambios pendientes en el espacio de trabajo.

    - La operación de shelve se aplica siempre recursivamente desde la
      ruta indicada.

    - Requisitos para hacer shelve de un ítem:
      * El ítem debe estar controlado por Plastic SCM.
      * El ítem ha de estar desprotegido.

Ejemplos:

    cm shelve
    cm shelve fichero1.txt fichero2.txt

Comentarios:

    Para especificar comentarios use el switch "-c" o "-m" del siguiente modo:
      cm shelve -c="my comment"
      cm shelve -m "my comment"

    Si existe una variable de entorno llamada PLASTICEDITOR apuntando al
    ejecutable de un editor de texto, y no se especifica un comentario al
    crear una shelve, el editor se abrirá automáticamente para que especifique
    un comentario.

Ejemplo: Aplicar un shelve almacenado en el repositorio:
    cm shelve --apply=sh:3

Ejemplo: Eliminar un shelve almacenado en el repositorio
    cm shelve --delete=sh:3

Ejemplo: Shelve 'changelist'

      cm status --short --changelist=pending_to_review | cm shelve -
      (El comando listará los paths en el changelist llamado 'pending_to_review'
      y dicha lista será redirigida a la entrada del comando 'shelve').

== CMD_DESCRIPTION_SHELVESET ==
Use este comando para administrar shelvesets.

== CMD_USAGE_SHELVESET ==
Sintaxis:

    cm shelveset comando [opciones]

Comandos:

    create | mk
    delete | rm
    apply

    Para obtener más información sobre cada comando:
    cm shelveset command --usage
    cm shelveset command --help

== CMD_HELP_ATTRIBUTE ==
Ejemplos:

    cm shelveset create -c="my comment"
    cm shelveset delete sh:3
    cm shelve apply sh:3

== CMD_DESCRIPTION_SHELVESET_CREATE ==
El comando shelve almacena los cambios pendientes.

== CMD_USAGE_SHELVESET_CREATE ==
Sintaxis:
    cm shelveset create [opciones] [rutas]

    rutas: rutas de los items a guardar.

Opciones:
    --all (-a): Los ítems cambiados, movidos y borrados localmente, en las
      rutas dadas, también serán guardados.
    --dependencies: Incluir las dependencias de los cambios locales entre los
      ítems a guardar.
    -c=comentarios: Añade un comentario al shelve creado en la operación.
    --commentsfile=comment.txt: Carga el comentario del fichero especificado.

== CMD_HELP_SHELVESET ==
Ejemplos:

    cm shelveset create -c="my comment"
    cm shelveset delete sh:3
    cm shelve apply sh:3

== CMD_HELP_SHELVESET_CREATE ==
El comando shelveset create almacena los ítems en checkout especificados
    dentro del repositorio. De este modo el contenido queda almacenado en el
    servidor sin necesidad de hacer check in.

Notas:

    - Si no se especifican [opciones] ni [rutas], la operación involucrará a
      todos los cambios pendientes en el espacio de trabajo.

    - La operación de shelve se aplica siempre recursivamente desde la
      ruta indicada.

    - Requisitos para hacer shelve de un ítem:
      * El ítem debe estar controlado por Plastic SCM.
      * El ítem ha de estar desprotegido.

Ejemplos:

    cm shelveset create
    cm shelveset fichero1.txt fichero2.txt

Comentarios:

    Para especificar comentarios use el switch "-c" o "-m" del siguiente modo:
      cm shelveset -c="my comment"
      cm shelveset -m "my comment"

    Si existe una variable de entorno llamada PLASTICEDITOR apuntando al
    ejecutable de un editor de texto, y no se especifica un comentario al
    crear una shelve, el editor se abrirá automáticamente para que especifique
    un comentario.

Ejemplo: Shelve 'changelist'

      cm status --short --changelist=pending_to_review | cm shelveset -
      (El comando listará los paths en el changelist llamado 'pending_to_review'
      y dicha lista será redirigida a la entrada del comando 'shelve').

== CMD_DESCRIPTION_SHELVESET_DELETE ==
El comando shelveset delete borra un shelveset.

== CMD_USAGE_SHELVESET_DELETE ==
Sintaxis:
    cm shelveset delete shelve_spec

    shelve_spec: Elimina los contenidos almancenados en el repositorio
    identificados por "shelve_spec"

== CMD_HELP_SHELVESET_DELETE ==
El comando shelveset delete borra un shelveset creado anteriormente.

Ejemplo: Eliminar un shelve almacenado en el repositorio

    cm shelveset delete sh:3

== CMD_DESCRIPTION_SHELVESET_APPLY ==
El comando shelveset apply restaura los contenidos almancenados en el
repositorio.

== CMD_USAGE_SHELVESET_APPLY ==
Sintaxis:
    cm shelveset apply shelve_spec [opciones]

    shelve_spec: Restaura los contenidos almancenados en el repositorio
    identificados por "shelve_spec"

Opciones:
    --mount: El punto de montaje del respositorio especificado.
    --encoding=codificación: Especifica la codificación de los ficheros de
      origen (por ejemplo, UTF-8 o Unicode)
    --comparisonmethod=tipo: cualquiera de las siguientes opciones:
      IgnoreEol:            Ignora diferencias de final de línea.
      IgnoreWhitespaces:    Ignora diferencias de espacios en blanco.
      IgnoreEolWhitespaces: Ignora diferencias de final de línea y espacios en
                            blanco.
      NotIgnore:            Detecta diferencias de final de línea y espacios en
                            blanco.

== CMD_HELP_SHELVESET_APPLY ==
El comando shelveset apply restaura los contenidos almancenados en el
repositorio.

Ejemplo: Aplicar un shelve almacenado en el repositorio:

    cm shelveset apply sh:3

== CMD_DESCRIPTION_SHOW_FIND_OBJECTS ==
Muestra la lista de objetos disponibles y sus atributos correspondientes.

== CMD_USAGE_SHOW_FIND_OBJECTS ==
Sintaxis:

    cm showfindobjects

== CMD_HELP_SHOW_FIND_OBJECTS ==
Objetos y atributos disponibles: 

attribute:
    Se puede buscar atributos filtrando por los siguientes campos:

    Type    : string.
    Value   : string.
    Date    : fecha.
              Consulte la sección "constantes de fecha" en esta guía para más
                info.
    Owner   : usuario.
              Admite el usuario especial 'me'.
    GUID    : Identificador Global Único.
              Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Comment : string.
    SrcObj  : object spec.
    ID      : integer.

attributetype:
    Se puede buscar tipos de atributo filtrando por los siguientes campos:

    Name    : string.
    Value   : string.
    Date    : fecha.
              Consulte la sección "constantes de fecha" en esta guía para más
                info.
    Owner   : usuario.
              Admite el usuario especial 'me'.
    GUID    : Identificador Global Único.
              Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Comment : string.
    Source  : object spec.
    ID      : integer.

    Campos de replicación. Consulte la sección "campos relacionados con la réplica"
    en esta guía para más información sobre:
        ReplLogId
        ReplSrcDate
        ReplSrcId
        ReplSrcRepository
        ReplSrcServer

branch:
    Se puede buscar ramas filtrando por los siguientes campos:

    Name       : string.
    Date       : fecha.
                 Consulte la sección "constantes de fecha" en esta guía para más
                   info.
    Changesets : fecha (de los changesets en la rama).
                 Consulte la sección "constantes de fecha" en esta guía para más
                   info.
    Attribute  : string.
    AttrValue  : string.
    Owner      : usuario.
                 Admite el usuario especial 'me'.
    Parent     : branch spec.
    Comment    : string.
    GUID       : Identificador Global Único.
                 Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Item       : item spec or item id (integer).
    ID         : integer.

    Campos de replicación. Consulte la sección "campos relacionados con la réplica"
    en esta guía para más información sobre:
        ReplLogId
        ReplSrcDate
        ReplSrcId
        ReplSrcRepository
        ReplSrcServer

changeset:
    Se puede buscar changesets filtrando por los siguientes campos:

    Branch            : branch spec.
    ChangesetId       : integer.
    Attribute         : string.
    AttrValue         : string.
    Date              : fecha.
                        Consulte la sección "constantes de fecha" en esta guía
                          para más info.
    Owner             : usuario.
                        Admite el usuario especial 'me'.
    GUID              : Identificador Global Único.
                        Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Comment           : string.
    OnlyWithRevisions : boolean.
    ReturnParent      : boolean.
    Parent            : changeset id (integer).
    ID                : integer.

    Campos de replicación. Consulte la sección "campos relacionados con la réplica"
    en esta guía para más información sobre:
        ReplLogId
        ReplSrcDate
        ReplSrcId
        ReplSrcRepository
        ReplSrcServer

label:
    Se puede buscar etiquetas filtrando por los siguientes campos:

    Name      : string.
    Attribute : string.
    AttrValue : string.
    Date      : fecha.
                Consulte la sección "constantes de fecha" en esta guía para más
                  info.
    Owner     : usuario.
                Admite el usuario especial 'me'.
    GUID      : Identificador Global Único.
                Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Branch    : branch spec.
    Branchid  : integer.
    Changeset : changeset id (integer).
    Comment   : string.
    ID        : integer.

    Campos de replicación. Consulte la sección "campos relacionados con la réplica"
    en esta guía para más información sobre:
        ReplLogId
        ReplSrcDate
        ReplSrcId
        ReplSrcRepository
        ReplSrcServer

merge:
    Se puede buscar merges filtrando por los siguientes campos:

    SrcBranch    : branch spec.
    SrcChangeset : changeset id (integer).
    DstBranch    : branch spec.
    DstChangeset : changeset id (integer).
    Date         : fecha.
                   Consulte la sección "constantes de fecha" en esta guía para
                     más info.
    Owner        : usuario.
                   Admite el usuario especial 'me'.
    GUID         : Identificador Global Único.
                   Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Type         : string.
                   Los posibles valores son 'merge', 'cherrypick',
                     'cherrypicksubstractive', 'interval', 'intervalcherrypick'
                     e 'intervalcherrypicksubstractive'
    ID           : integer.

replicationlog:
    Se puede buscar replication log filtrando por los siguientes campos:

    Branch         : branch spec.
    RepositoryName : string.
    Owner          : usuario.
                     Admite el usuario especial 'me'.
    Date           : fecha.
                     Consulte la sección "constantes de fecha" en esta guía para
                       más info.
    Server         : string.
    Package        : boolean.
    ID             : integer.

review:
    Se puede buscar code reviews filtrando por los siguientes campos:

    Status     : string.
    Assignee   : string.
    Title      : string.
    Target     : object spec.
    TargetId   : integer.
    TargetType : string.
                 Los posibles valores son 'branch' y 'changeset'.
    Date       : fecha.
                 Consulte la sección "constantes de fecha" en esta guía para más
                   info.
    Owner      : usuario.
                 Admite el usuario especial 'me'.
    GUID       : Identificador Global Único.
                 Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Id         : integer.

revision:
    Se puede buscar revisiones filtrando por los siguientes campos:

    Branch              : branch spec.
    Changeset           : changeset id (integer).
    Item                : string o integer.
    ItemId              : integer.
    Attribute           : string.
    AttrValue           : string.
    Archived            : boolean.
    Comment             : string.
    Date                : fecha.
                          Consulte la sección "constantes de fecha" en esta guía
                            para más info.
    GUID                : Identificador Global Único.
                          Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Owner               : usuario.
                          Admite el usuario especial 'me'.
    Parent              : revision id (integer).
    ReturnParent        : boolean.
    Shelve              : shelve id (integer).
    Size                : integer (en bytes).
    Type                : string.
                          Los posibles valores son 'dir', 'bin' y 'txt'.
    WorkspaceCheckoutId : integer.
    ID                  : integer.

    Campos de replicación. Consulte la sección "campos relacionados con la réplica"
    en esta guía para más información sobre:
        ReplLogId
        ReplSrcDate
        ReplSrcId
        ReplSrcRepository
        ReplSrcServer

shelve:
    Se puede buscar shelves filtrando por los siguientes campos:

    Owner     : usuario.
                Admite el usuario especial 'me'.
    Date      : fecha.
                Consulte la sección "constantes de fecha" en esta guía para más
                  info.
    Attribute : string.
    AttrValue : string.
    Comment   : string.
    GUID      : Identificador Global Único.
                Id hexadecimal con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Parent    : integer.
    ShelveId  : integer.
    ID        : integer.

    Campos de replicación. Consulte la sección "campos relacionados con la réplica"
    en esta guía para más información sobre:
        ReplLogId
        ReplSrcDate
        ReplSrcId
        ReplSrcRepository
        ReplSrcServer


Campos relacionados con la réplica:
    Muchos objetos mantienen información de replicación, lo que significa que
    Plastic mantiene el rastro de dónde se crearon originalmente.

    Los campos que se pueden utilizar son:

        ReplSrcServer : Significa "servidor origen de la réplica", y es el
                        servidor de donde se trajeron los objetos.

              Ejemplo:
              cm find branch "where replsrcserver='skull.codicefactory.com:9095'"

        ReplSrcRepository : string. Significa "repositorio origen de la réplica",
                            y es el repositorio de donde se trajeron los objetos.

              Ejemplo:
              cm find branch "where \
              replsrcserver = 'skull.codicefactory.com:9095' \
              and replsrcrepository = 'codice'"

        ReplLogId : integer. El identificador de la operación de réplica. En
                    Plastic, cada vez que un objeto nuevo se crea de una réplica,
                    también se crea un nuevo 'replicationlog'.

              Ejemplo:
              cm find replicationlog
              324054   9/13/2018 02:00:15 /main/scm23064 sluisp   plasticscm.com T
              327255   9/11/2018 12:33:38 /main/scm23042 maria    plasticscm.com T
              329631   9/17/2018 13:06:49 /main/scm23099 sluisp   plasticscm.com T

              Ahora se pueden buscar las ramas creadas en la réplica 327255, en
              caso de haber alguna:

              cm find branch "where replogid=327255"

        ReplSrcDate: fecha. Es la fecha en la que la operación de réplica tuvo
                     lugar. Los objetos replicados mantienen la fecha en la que
                     fueron creados originalmente, por lo que este campo es útil
                     si se necesita buscar objetos que fueron replicados en un
                     determinado marco temporal.

              Ejemplo:
              cm find replicationlog "where date > 'one week ago'"
              8780433  27/09/2018 8:49:38 codice@BACKYARD:8087 F   mbarriosc

              Ahora se puede verificar que la rama replicada se creó antes de la
              propia operación de réplica:

              cm find branch "where repllogid = 8780433"
              8780443  26/09/2018 12:20:55 /main/scm23078 maria    codice T

        ReplSrcId: integer. Es el ID del servidor origen de la réplica
                   (ReplSrcServer). Este ID se puede descubrir buscando objetos
                   de tipo 'replicationsource' con el comando 'cm find'.

              Ejemplo:
              cm find replicationsource
              7860739  codice@AFRODITA:8087 d9c4372a-dc55-4fdc-ad3d-baeb2e975f27
              8175854  codice@BACKYARD:8087 66700d3a-036b-4b9a-a26f-adfc336b14f9

              Ahora se pueden buscar los changesets replicados desde
              codice@AFRODITA:8087 de la siguiente forma:

              cm find changesets "where replsrcid = 7860739"


Constantes de fecha:
    Se pueden usar fechas formateadas siguiendo la configuración de localización
    del Sistema Operativo. Por ejemplo, si el SO muestra fechas en el formato
    'dd/MM/yyyy', se pueden utilizar fechas como '31/12/2018' en las consultas.

    Sin embargo, también se pueden utilizar las siguientes constantes para
    facilitar la escritura de las queries:
        'today'         : la fecha de hoy.
        'yesterday'     : la fecha de ayer.
        'this week'     : la fecha del lunes de la semana actual.
        'this month'    : la fecha del primer día del mes actual.
        'this year'     : la fecha del 1 de enero del año actual.
        'one day ago'   : un día antes de la fecha actual.
        'one week ago'  : una semana antes de la fecha actual.
        'one month ago' : un mes antes de la fecha actual.
        'n days ago'    : 'n' días antes de la fecha actual.
        'n months ago'  : 'n' meses antes de la fecha actual.
        'n years ago'   : 'n' años antes de la fecha actual.

    Las siguientes cláusulas 'where' son válidas para campos que admitan fechas:
        '(...) where date > 'today' (...)'
        '(...) where date < 'yesterday' (...)'
        '(...) where date > 'this week' (...)'
        '(...) where date > 'this month' (...)'
        '(...) where date < 'one day ago' and date > '3 days ago' (...)'
        '(...) where date < 'one week ago' and date > '3 weeks ago' (...)'
        '(...) where date < 'one month ago' and date > '3 months ago' (...)'
        '(...) where date > '1 year ago' (...)'

    También se puede forzar un determinado formato de fecha en el comando
    'cm find' utilizando el flag --dateformat. Lee 'cm find --help' para más
    información.

== CMD_DESCRIPTION_TRIGGER_SHOWTYPES ==
Muestra la lista de los tipos de triggers disponibles.

== CMD_USAGE_TRIGGER_SHOWTYPES ==
Sintaxis:

    cm trigger showtypes

== CMD_DESCRIPTION_SHOWACL ==
Muestra la ACL (Lista de Control de Acceso) de un elemento.

== CMD_USAGE_SHOWACL ==
Sintaxis:

    cm showacl [opciones] spec_objeto

    spec_objeto         Especificación del objeto sobre el que mostrar el ACL.
                        Objetos válidos para este comando son repserver,
                        repositorio, rama, changeset, etiqueta, item y atributo.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de objetos.

Opciones:

    --extended          Muestra información detallada.
    --xml               Permite volcar la salida del comando en formato xml
                        a la salida estándar. También se permite especificar
                        un fichero de salida (--xml=output.xml).
    --encoding          Si se utiliza con la opción --xml, permite especificar
                        el encoding con el que se guardará la salida del
                        comando. Por ejemplo: --encoding=utf-8
                        Consulte la documentación de la MSDN para obtener la
                        tabla completa de codificaciones soportadas y su formato;
                        al final de la página en la columna "Name":
      http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_SHOWACL ==
Notas:

    Este comando se utiliza para obtener una lista de permisos de un usuario o
    un grupo sobre un elemento del repositorio.

Ejemplos:

    cm showacl repserver:PlasticServer:8084
    cm showacl br:/main --extended

== CMD_DESCRIPTION_SHOWCOMMANDS ==
Muestra todos los comandos disponibles.

== CMD_USAGE_SHOWCOMMANDS ==
Sintaxis:

    cm showcommands

== CMD_HELP_SHOWCOMMANDS ==

== CMD_DESCRIPTION_SHOWOWNER ==
Muestra el propietario de un elemento del repositorio.

== CMD_USAGE_SHOWOWNER ==
Sintaxis:

    cm showowner spec_objeto

    spec_objeto         Especificación del objeto para mostar su propietario.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de objetos.
                        El objeto debe ser uno de los siguientes: repserver,
                        repositorio, rama, changeset, etiqueta, atributo,
                        revisión e item.

== CMD_HELP_SHOWOWNER ==
Notas:

    Este comando muestra el propietario de un elemento del repositorio.
    Puede ser un usuario o un grupo.
    El propietario se puede modificar con el comando 'cm setowner'.

Ejemplos:

    cm showowner repserver:PlasticServer:8084
    cm showowner rev:fichero.cs#br:/main#LAST

== CMD_DESCRIPTION_SHOWPERMISSIONS ==
Muestra la lista de los permisos disponibles.

== CMD_USAGE_SHOWPERMISSIONS ==
Sintaxis:

    cm showpermissions

== CMD_HELP_SHOWPERMISSIONS ==
Ejemplos:

    cm showpermissions

== CMD_DESCRIPTION_SHOWSELECTOR ==
Muestra el selector del espacio de trabajo actual.

== CMD_USAGE_SHOWSELECTOR ==
Sintaxis:

    cm showselector [wk_ruta | wk_spec]

    wk_ruta         Ruta del espacio de trabajo para mostrar su selector
    wk_spec         Especificación del espacio de trabajo para mostrar su
                    selector.
                    Usa 'cm help objectspec' para obtener más información sobre
                    especificaciones de espacios de trabajo.

== CMD_HELP_SHOWSELECTOR ==
Notas:

    Si no se especifica una ruta o un especificador de espacio de trabajo,
    el comando tomará como ruta el directorio actual.

Ejemplos:

    cm showselector c:\workspace
    cm showselector
    cm showselector > miSelector.txt
    cm showselector wk:build_wk@BUILDER

== CMD_DESCRIPTION_SUPPORT ==
Este comando permite al usuario efectuar operaciones de soporte.

== CMD_USAGE_SUPPORT ==
Sintaxis:

    cm support comando [opciones]

Comandos:

    bundle

    Para obtener más información sobre cada uno de los comandos ejecute:
    cm support comando --usage
    cm support comando --help

== CMD_HELP_SUPPORT ==
Ejemplos:

    cm support
    cm support bundle
    cm support bundle c:\outputfile.zip

== CMD_DESCRIPTION_SUPPORT_BUNDLE ==
Crea el paquete de soporte con los ficheros de log relevantes. 
Este paquete se puede adjuntar cuando se solicita la ayuda, cuando 
se pregunte por información extra o cuando se envíe un error.

== CMD_USAGE_SUPPORT_BUNDLE ==
Sintaxis:

    cm support bundle [outputfile]

Opciones:

    outputfile          Crea el paquete de soporte en la ruta especificado.

== CMD_HELP_SUPPORT_BUNDLE ==
Notas:

    Este comando permite al usuario crear un paquete de soporte con los
    ficheros de log relevantes. Es posible especificar un fichero de salida.

Ejemplos:

    cm support bundle
    (Crea el paquete de soporte en el directorio temporal)

    cm support bundle c:\outputfile.zip
    (Crea el paquete de soporte en la ruta especificado)

== CMD_DESCRIPTION_SWITCH ==
Actualiza el espacio de trabajo a la rama, etiqueta, changeset o shelve especificado.

== CMD_USAGE_SWITCH ==
Sintaxis:

    cm switch brspec | csetspec | lbspec | shspec [--repository=name]
              [--workspace=path]

Opciones:

    --workspace         Ruta del espacio de trabajo a cambiar.
    --repository        Repositorio al que se va a cambiar.

    Usa 'cm help objectspec' para aprender más sobre cómo indicar
    especificaciones de changesets, ramas y etiquetas.

== CMD_HELP_SWITCH ==
Notas:

    Este comando permite a los usuarios actualizar el espacio de trabajo
    con el contenido del objeto especificado (rama, etiqueta o changeset).

Ejemplos:

    cm switch br:/main
    cm switch lb:Rel1.1
    cm switch Rel2.0
    cm switch cs:4375
    cm switch 5632
    cm switch sh:2

== CMD_DESCRIPTION_SWITCH_TO_BRANCH ==
Establece la rama especificada como rama de trabajo.

== CMD_USAGE_SWITCH_TO_BRANCH ==
Sintaxis:

    cm switchtobranch [opciones] [spec_rama]

    spec_rama: Especificación de rama.

Opciones:

    --label=nombre | --changeset=número: Carga las revisiones de la etiqueta
      o changeset especificado. Si no se especifica spec_rama, una de
      estas opciones es obligatoria.

    --workspace | -wk=path: Ruta del espacio de trabajo a cambiar.

== CMD_HELP_SWITCH_TO_BRANCH ==
Notas:

    Este comando permite a los usuarios especificar una rama, como rama de
    trabajo. Adicionalmente se puede especificar una etiqueta o un changeset,
    desde la cual se cargarán las revisiones.
    Si no se especifica rama, se ha de especificar una etiqueta o un changeset
    obligatoriamente. Consulte el manual para obtener más información.
    Si no se especifica repositorio, la rama se fija sobre el repositorio
    actual.

Ejemplos:

    cm switchtobranch br:/main
    cm switchtobranch br:/main/tarea001
    cm switchtobranch --label=BL050
    (Configuración de sólo lectura. Se cargan revisiones del changeset etiquetado)

== CMD_DESCRIPTION_SYNC ==
Sincroniza con Git

== CMD_USAGE_SYNC ==
Sintaxis:

    cm synchronize | sync repspec git [url [--user=usr_name --pwd=pwd]] [--author]
            [[--txtsimilaritypercent | --binsimilaritypercent | --dirsimilaritypercent]=value]

    repspec             Especificación del repositorio.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de repositorios.
    git                 (Default).

Opciones:

    url                 URL del repositorio remoto 
                        (http(s):// o git:// o una URL ssh).
    --user              Nombre de usuario para la URL especificada.
    --pwd               Contraseña para la URL especificada.
    --txtsimilaritypercent | --binsimilaritypercent | --dirsimilaritypercent
                        Opciones para detectar ítems movidos, del mismo modo que
                        lo hace la GUI de Plastic SCM.
    --author            Usa los valores de nombre y fecha (timestamp) del autor
                        en git (git committer by default).
    --skipgitlfs        Ignora la configuración de Git LFS que haya en el
                        fichero '.gitattributes'. Se comporta como si no
                        tuviese soporte de Git LFS.

== CMD_HELP_SYNC ==
Notas:

    En caso de sincronizar con un servidor que no requiera credenciales, tras
    la primera sincronización no es necesario introducir el parámetro URL.
    Este comando no soporta repositorios locales.

    En el caso de usar el protocolo SSH, es necesario tener añadido al PATH
    el cliente por línea de comandos 'ssh' y que esté correctamente configurado
    para conectarse al servidor remoto (claves públicas/privadas).

Ejemplos:

      cm sync default@localhost:8087 git git://localhost/repository

== CMD_DESCRIPTION_TRIGGER ==
Use este comando para administrar triggers.

== CMD_USAGE_TRIGGER ==
Sintaxis:

    cm trigger | tr command [opciones]

Comandos:

    create | mk
    delete | rm
    edit
    list   | ls
    showtypes

    Para obtener más información sobre cada comando:
    cm trigger command --usage
    cm trigger command --help

== CMD_HELP_TRIGGER ==
Ejemplos:

    cm tr mk before-mklabel new "/path/to/script" --server=myserver:8084
    cm tr edit before-mklabel 7 --position=4 --server=myserver:8084
    cm tr ls before-mkbranch --server=myserver:8084
    cm tr rm after-setselector 4
    cm tr showtypes

== CMD_DESCRIPTION_TUBE ==
Ejecuta comandos relacionados con Plastic Tube.

== CMD_USAGE_TUBE ==
Sintaxis:

    cm tube config -u=user -p=password

    cm tube create remoteuser
    cm tube remove remoteuser

    cm tube local
    cm tube remote

    cm tube share <repository_spec>+ -u=remoteuser -a=access_mode
    cm tube unshare <repository_spec>+ -u=remoteuser

    cm tube connect
    cm tube disconnect
    cm tube status

Opciones:

    -u                Usuario de Tube (el usuario de plasticscm.com)
    -p                Password del usuario
    -a                Acceso: pull, push o ambos (pull | push | pull,push)
    rep_spec          Especificación del repositorio.
                      Usa 'cm help objectspec' para obtener más información
                      sobre la especificación de repositorios.

== CMD_HELP_TUBE ==
Notas:

    config
        Configura Plastic SCM para usar Plastic Tube con el usuario y password
        especificados.

    create
        Crea el Tube remoteuser -> myuser.
        El usuario 'myuser' permite a 'remoteuser' conectarse al servidor
        de 'myuser'.
        Pueden establecerse conexiones de 'remoteuser' a 'myuser'.
        Sólo pueden crearse un Tube de otro usuario al usuario actual de
        Plastic Tube.
    remove
        Elimina el Tube remoteuser -> myuser.

    local
        Lista los repositorios locales compartidos en el servidor local y los
        usuarios con quien son compartidos.
    remote
        Lista los repositorios remotamente compartidos que son compartidos con
        el usuario actual de Plastic Tube.

    share
        Comparte el repositorio(s) local con el usuario y remoto y los permisos
        especificados.
    unshare
        Deja de compartir el repositorio local con el usuario remoto.

    connect
        Conecta el servidor de Plastic SCM a Plastic Tube.
    disconnect
        Desconecta el servidor de Plastic SCM de Plastic Tube.
    status
        Muestra si el servidor de Plastic SCM está conectado a Plastic Tube.

Ejemplos:

    cm tube config -u=ruben@codicesoftware.com -p=rubenpassword

    cm tube create pablo@codicesoftware.com
    ('pablo@codicesoftware.com' puede conectar con el usuario actual del Tube)
    cm tube remove pablo@codicesoftware.com

    cm tube local
    cm tube remote

    cm tube share repo@server:8087 -u=pablo@codicesoftware.com -a=pull,push
    cm tube share repo@server:8087 doc@server:8087 -u=pablo@codicesoftware.com -a=push
    cm tube unshare repo@server:8087 -u=pablo@codicesoftware.com

    cm tube connect
    cm tube disconnect
    cm tube status

== CMD_DESCRIPTION_UNCO ==
Deshace la desprotección de un ítem.

== CMD_USAGE_UNCO ==
Sintaxis:

    cm undocheckout | unco <item_path>+ [--all] [--symlink] [--silent]

    item_path        Especificación de los ítems para deshacer la desprotección,
                     separados por comas.
                     Se pueden usar comillas (") para especificar rutas que
                     contengan espacios.
                     Use . para aplicar la operación al directorio actual.

Opciones:

    --all (-a)       Los ítems especificados que han sido cambiados, movidos y
                     borrados localmente también serán deshechos.

    --symlink        Deshace la protección del fichero de link y no al elemento
                     al que apunta.

    --silent         No muestra salida.

== CMD_HELP_UNCO ==
Notas:

    Si se desean descartar los cambios realizados en un ítem desprotegido
    previamente, se utiliza este comando.
    El ítem se cambia a la revisión justamente anterior.

    Requisitos para deshacer la desprotección:

        El ítem ha de estar controlado por Plastic
        El ítem ha de estar desprotegido


Ejemplos:

    cm undocheckout .
    (Desprotege el directorio actual)
    
    cm undocheckout fichero1.txt fichero2.txt
    
    cm unco c:\workspace\fichero.txt
    
    cm undocheckout -R c:\workspace\src
    (Deshace la desprotección de 'src' recursivamente)
    
    cm unco link --symlink
    (Efectúa la desprotección sobre el fichero de link y no del que apunta,
     disponible en entornos UNIX)

    cm unco code\cgame\cg_main.c --all
    (Deshace la desprotección del fichero cambiado)

Deshacer 'changelist'. Ejemplo:

      cm status --short --changelist=pending_to_review | cm undocheckout -
      (El comando listará los paths en el changelist llamado 'pending_to_review'
      y dicha lista será redirigida a la entrada del comando 'uncheckout').

== CMD_DESCRIPTION_UNCOUNCHANGED ==
Deshace la desprotección en elementos que no han cambiado.

== CMD_USAGE_UNCOUNCHANGED ==
Sintaxis:

    cm uncounchanged [opciones]

Opciones:

    -R|-r|--recursive   Descender recursivamente dentro de directorios.

== CMD_HELP_UNCOUNCHANGED ==
Notas:

    Este comando se aplica desde la raíz del workspace recursivamente.

Ejemplos:

    cm uncounchanged

== CMD_DESCRIPTION_UNDELETE ==
Recupera en el espacio de trabajo la revisión especificada en la ruta dada.

== CMD_USAGE_UNDELETE ==
Sintaxis:

      cm undelete rev_spec ruta

      rev_spec: Especificación de la revisión del ítem cuyo contenido se desea
      cargar en el espacio de trabajo.
      path: Ruta donde se va a restaurar.

== CMD_HELP_UNDELETE ==
Notas:

    El elemento a recuperar no debe de estar ya cargado en el workspace.

    La operación de recuperar no esta soportada para xlinks.

Ejemplo:

    cm undelete revid:756 C:\mywks\src\foo.c
    cm undelete itemid:68#cs:2 C:\mywks\dir\myfile.pdf
    cm undelete serverpath:/src#br:/main C:\mywks\Dir

== CMD_DESCRIPTION_UNDOCHANGE ==
Deshace los cambios hechos en un fichero.

== CMD_USAGE_UNDOCHANGE ==
Notas:

    Si se desean descartar los cambios en un ítem, independientemente de su
    estado (desprotegido o modificado sin hacer desprotección), este comando
    vuelve a la revisión anterior. Si se ordena realizar la operación sobre
    un directorio en vez de un fichero la acción se realiza recursivamente por
    defecto.

Ejemplo:

    cm unc . (Descarta los cambios de los ítems del directorio actual).
    cm unc fichero1.txt fichero2.txt
    cm unc c:\workspace\fichero1.txt

== CMD_HELP_UNDOCHANGE ==
Ejemplo:

    cm unc . (Descarta los cambios de los ítems del directorio actual).
    cm unc fichero1.txt fichero2.txt
    cm unc c:\workspace\fichero1.txt

== CMD_DESCRIPTION_LOCK_UNLOCK ==
Deshace los bloqueos en los elementos del servidor de bloqueos especificado

== CMD_USAGE_LOCK_UNLOCK ==
Sintaxis:

    cm lock unlock [repserverspec] <guid>+

    repserverspec       Especificación del servidor de repositorio.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de servidores.
    guid                Lista de GUIDs de ítems a desbloquear, separados por 
                        espacios.

== CMD_DESCRIPTION_UNDO ==
Deshace cambios en un workspace.

== CMD_USAGE_UNDO ==
Syntaxis:

    cm undo [path]+ [--symlink] [-r | --recursive] [Filtros]+
                                                    [Opciones de salida]

    path                    Rutas de los ficheros o carpetas a los que aplicar
                            la operación, separados por espacios. Se pueden
                            utilizar comillas (") para especificar rutas con
                            espacios. Si no se especifica ninguna ruta, por
                            defecto la operación se ejecutará sobre los ficheros
                            en el directorio actual.

Opciones:

    --symlink               Aplica la operación de undo al enlace simbólico y
                            no a su destino.
    -r                      Ejecuta el undo de manera recursiva.

Filtros:

    Si ninguna de estas opciones está presente, por defecto se deshacen todos
    los tipos de cambio, pero los ficheros pueden filtrarse utilizando estas
    opciones.
    Si un fichero o directorio tiene uno o más de los tipos de cambio
    especificados, todos los cambios en ese fichero o directorio serán
    deshechos.
    Por ejemplo, si se especifica tanto --checkedout como --moved, si un fichero
    está tanto movido como checkedout, ambos cambios se desharán.

    --checkedout            Selecciona ficheros y directorios marcados para
                            cambios.
    --unchanged             Selecciona ficheros sin modificaciones en su
                            contenido.
    --changed               Selecciona ficheros y directorios cambiados o
                            marcados para cambios.
    --deleted               Selecciona ficheros y directorios eliminados.
    --moved                 Selecciona ficheros y directorios movidos.
    --added                 Selecciona ficheros y directorios añadidos.

Opciones de salida:

    --silent | --machinereadable [--startlineseparator=sep]
                                [--endlineseparator=sep] [--fieldseparator=sep]

    --silent                No muestra ninguna salida.
    --machinereadable       Muestra la salida en un formato fácil de tratar.
    --startlineseparator    Usado en conjunto con la opción '--machinereadable',
                            especifica cómo deberían comenzar las líneas.
    --endlineseparator      Usado en conjunto con la opción '--machinereadable',
                            especifica cómo deberían terminar las líneas.
    --fieldseparator        Usado en conjunto con la opción '--machinereadable',
                            especifica cómo deberían separarse las líneas.

== CMD_HELP_UNDO ==
Notas:

    El comand undo es peligroso - deshace trabajo de una manera irreversible.
    Una vez que el undo termina, no hay manera posible de recuperar el estado
    anterior de los ficheros y directorios afectados. Si no se especifica
    ninguna ruta en los argumentos, por defecto se desharán los cambios en todos
    los elementos del directorio actual, pero NO de manera recursiva.

    Estos comandos son equivalentes ejecutados desde el directorio /src:

        /src
        |- file.txt
        |- code.cs
        \- /test
           |- test_a.py
           \- test_b.py

        $ cm undo
        $ cm undo *
        $ cm undo file.txt code.cs /test

        $ cm undo .
        $ cm undo /src file.txt code.cs

    Si se quiere que la operación sea recursiva, se necesita especificar la
    opción -r.

    Para deshacer todos los cambios debajo de un directorio (incluyendo los
    cambios sobre el propio directorio):

        $ cm undo dirpath -r

    Si dirpath es la ruta de un workspace, todos los cambios dentro del
    workspace serán deshechos.

Ficheros borrados:

    Para deshacer borrados de fichero o directorios es necesario especificar la
    ruta completa del fichero o directorio, o el directorio padre más la opción 
    -r (recursivo).

    Por ejemplo:

    $ cm undo .
    (NO deshace los borrados en el directorio actual.)

    $ cm undo . -r
    (Deshace todos los borrados (y otros cambios) recursivamente del directorio
    actual.)

    $ cm undo src/file.txt
    (Deshace el borrado (u otro cambio) del fichero src/file.txt.)

Ejemplos:

    $ cm undo . -r
    (Deshace todos los cambios en el directorio actual de manera recursiva. Si
    se ejecuta desde la raíz del workspace, deshace todos los cambios en el
    workspace completo.)

    $ cm co file.txt
    $ cm undo file.txt
    (Deshace el checkout en file.txt.)

    $ echo content >> file.txt
    $ cm undo file.txt
    (Deshace el cambio local en file.txt.)

    $ cm undo src
    (Deshace los cambios en el directorio src y en todos los ficheros
    controlados que contenga)

    $ cm undo src/*
    (Deshace los cambios en todos los elementos contenidos en src, sin afectar
    al propio directorio. Por la expansión del wildcard, es equivalente a
    'cm undo src/file1.txt src/file2.txt').

    $ cm undo *.cs
    (Deshace cambios en cada elemento que encaje con el patrón *.cs en el
    directorio actual.)

    $ cm undo *.cs -r
    (Deshace cambios en cada elemento que encaje con el patrón *.cs en el
    directorio actual, y en cada directorio por debajo de una manera recursiva.)

    $ cm co file1.txt file2.txt
    $ echo content >> file1.txt
    $ cm undo --unchanged
    (Deshace el checkout en file2.txt por no estar modificado, ignorando
    file1.txt ya que tiene cambios locales.)

    $ echo content >> file1.txt
    $ echo content >> file2.txt
    $ cm co file1.txt
    $ cm undo --checkedout
    (Deshace el cambio en el fichero en checkout file1.txt, ignorando file2.txt
    ya que no está en checkout.)

    $ cm add file.txt
    $ cm undo file.txt
    (Deshace el añadido de file.txt, dejándolo de nuevo como privado.)

    $ rm file1.txt
    $ echo content >> file2.txt
    $ cm add file3.txt
    $ cm undo --deleted --added *
    (Deshace el borrado de file1.txt y el añadido de file3.txt, ignorando
    el cambio en file2.txt.)

== CMD_HELP_LOCK_UNLOCK ==
Ejemplos:

    cm lock unlock 91961b14-3dfe-4062-8c4c-f33a81d201f5
    cm lock unlock DIGITALIS:8084 2340b4fa-47aa-4d0e-bb00-0311af847865 bcb98a61-2f62-4309-9a26-e21a2685e075

Notas:

    El comando utilizará el servidor especificado para realizar los desbloqueos.
    Si no se especifica ningún servidor, el comando intentará obtener un
    servidor válido a través del espacio de trabajo actual.
    Si con los pasos anteriores no se pudo calcular ningún servidor, el comando
    utilizará el servidor especificado en la configuración del cliente.

    Sólo el usuario administrador del servidor de repositorios podrá ejecutar
    el comando "cm unlock".

    Para la especificación de los GUID's de los elementos, el formato ha de ser
    de 32 dígitos separados por guiones (y opcionalmente, rodeado por llaves):

        {00000000-0000-0000-0000-000000000000} ó 00000000-0000-0000-0000-000000000000

== CMD_DESCRIPTION_UPDATE ==
Actualiza el espacio de trabajo.

== CMD_USAGE_UPDATE ==
Sintaxis:
    cm update [<ruta> | --last]
              [--changeset=csetspec] [--cloaked] [--dontmerge] [--forced]
              [--ignorechanges] [--override] [--recursewk] [--skipchangedcheck]
              [--silent] [--verbose] [--xml[=output_file]] [--encoding=name]

    ruta                    Ruta a actualizar.
                            Usa . para aplicar la actualización al directorio actual.
                            Omita la ruta para actualizar todo el espacio de trabajo
                            Si no se especifica ninguna ruta, entonces se actualiza 
                            todo el espacio de trabajo parcial.
    --last                  Antes de la actualización, cambia el selector del 
                            espacio de trabajo de una configuración de changeset o 
                            de etiqueta a una configuración de rama.
                            El selector se cambia a la rama a la que pertenece el
                            changeset o la etiqueta.
                        
Opciones:               
                        
    --changeset             Actualiza el espacio de trabajo a un changeset concreto.
                            Usa 'cm help objectspec' para obtener más información
                            sobre la especificación de changesets.
    --cloaked               Incluye los ítems cloaked en la operación de update. Si 
                            no se utiliza esta opción, aquellos ítems marcados como 
                            cloaked serán ignorados en la operación.
    --dontmerge             En el caso en que se necesite una operación de update 
                            merge, esta operación no se realizará.
    --forced                Fuerza la escritura de todas las revisiones.
    --ignorechanges         Ignora el mensaje de aviso de "cambios pendientes" si 
                            existen cambios pendientes durante la actualización del
                            espacio de trabajo.
    --override              Se ignoran los ficheros cambiados fuera del control de
                            Plastic SCM, sobrescribiendo su contenido con el del 
                            control de versiones.
    --recursewk             Actualiza todos los espacios de trabajo encontrados en 
                            la actual ruta. Esto es útil para actualizar todos los 
                            espacios de trabajo contenidos en la ruta especificada.
    --skipchangedcheck      El update comprueba si hay cambios locales en el 
                            workspace antes de empezar. Si siempre haces co antes 
                            de modificar un fichero, puedes usar esta opción para 
                            acelarar la operación.
    --silent                No muestra ninguna salida.
    --verbose               Muestra información adicional.
    --xml                   Permite volcar la salida del comando en formato xml a la
                            salida estándar. También se permite especificar un 
                            fichero de salida (--xml=output.xml).
    --forcedetailedprogress Fuerza mostrar progreso detallado incluso cuando se
                            redirige la salida estándar.
    --encoding              Si se utiliza con la opción --xml, permite especificar 
                            el encoding con el que se guardará la salida del 
                            comando. Consulte la documentación de MSDN para obtener 
                            la tabla completa de codificaciones soportadas y su 
                            formato (al final de la página, en la columna "Name"):
      http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

== CMD_HELP_UPDATE ==
Notas:

    Cuando se trabaja con varias ramas o cuando varias personas trabajan contra
    una rama, la información que tenemos en el espacio de trabajo puede quedar
    desactualizada. El caso más sencillo se da cuando cambiamos de rama. Al
    cambiar el selector apuntando a otra rama, debemos actualizar el espacio de
    trabajo con las revisiones de esa rama.

    Cuando varias personas trabajan contra una rama, crean revisiones nuevas
    cada poco tiempo y es fundamental poder actualizar el espacio de trabajo
    para obtener las últimas revisiones.

    Para ello utilizaremos el comando update. Este comando actualiza el espacio
    de trabajo con las revisiones que se le indiquen en el selector.

    Solamente obtiene los ficheros necesarios. Si la revisión que hay en el
    espacio de trabajo coincide con la que hay en el repositorio no se
    actualiza, a no ser que se utilice la opción -–forced. Si la revisión del
    espacio de trabajo es más nueva que la que hay en el repositorio tampoco
    se actualiza. En este caso no nos valdrá la opción -–forced.

    NOTA: El comando update siempre asume recursividad.

    Cuando se especifica la opción --last, no es necesario especificar una ruta.
    En ese caso, el espacio de trabajo del directorio actual es actualizado.
    (Recuerde que al especificar el flag --last puede causar que el selector
    del espacio de trabajo cambie a una rama si previamente apuntaba a un
    changeset o una etiqueta).

Ejemplos:

    cm update (actualiza el espacio de trabajo actual)
    cm update . (obtiene el directorio actual y todos sus hijos)
    cm update . --forced --verbose (fuerza a escibir todas las revisiones,
        y muestra más información)
    cm udpate --last

== CMD_DESCRIPTION_VERSION ==
Muestra el número de versión del cliente.

== CMD_USAGE_VERSION ==
Sintaxis:

    cm version

== CMD_HELP_VERSION ==

== CMD_DESCRIPTION_WHOAMI ==
Muestra el usuario actual de Plastic SCM.

== CMD_USAGE_WHOAMI ==
Sintaxis:

    cm whoami

== CMD_HELP_WHOAMI ==

== CMD_USAGE_WKTREENODESTATUS ==
Uso:

    cm wktreenodestatus path1, path2, ...

== CMD_DESCRIPTION_WORKSPACE ==
Use este comando para administrar workspaces.

== CMD_USAGE_WORKSPACE ==
Sintaxis:

    cm workspace | wk comando [options]

Comandos:

    list   | ls
    create | mk
    delete | rm
    move   | mv
    rename

    Para obtener más información sobre cada comando:
    cm workspace comando --usage
    cm workspace comando --help

== CMD_HELP_WORKSPACE ==
Ejemplos:

    cm workspace create myWorkspace wk_path
    cm workspace list
    cm workspace delete myWorkspace

== CMD_DESCRIPTION_WORKSPACE_CREATE ==
Crea un nuevo workspace.

== CMD_USAGE_WORKSPACE_CREATE ==
Sintaxis:

    cm workspace | wk [create | mk] nombre ruta [rep_spec] [--selector[=selector_file]
                                    nombre ruta --dynamic --tree=[tree]

    nombre              Nombre del nuevo workspace.
    ruta                Ruta de acceso del workspace.
    rep_spec            Crea el nuevo workspace con el repositorio especificado.
                        Use 'cm help objectspec' para obtener más
                        información sobre especificaciones de repositorios.

Opciones:

    --selector          Edita el selector para el nuevo workspace.
                        Si se especifica selector-file, entonces el selector 
                        para el nuevo workspace se fiha desde el fichero
                        especificado.
    --dynamic           Crea un workspace dinámico. Esta funcionalidad es
                        todavía experimental, y solo está disponible para
                        Windows. Si se usa esta opción, es obligatorio usar el
                        parámetro --tree.
    --tree              Especifica el punto inicial al que apuntará el
                        workspace dinámico. Puede ser una especificación de
                        rama, changeset o etiqueta. El workspace continuará
                        usando el repositorio de la especificación. Use
                        'cm help objectspec' para obtener más información sobre
                        la especificación.

== CMD_HELP_WORKSPACE_CREATE ==
Notas:

    - Un workspace es una vista del repositorio mapeado en el sistema de
      ficheros local, en un directorio especificado. Utilice los comandos
      'cm showselector' y 'cm setselector' para ver y modificar el selector.
    - Si no se especifica rep_spec ni --selector, el workspace cargará
      automáticamente el contenido del primer repositorio (alfabéticamente) del
      servidor configurado en el fichero de configuración client.conf
    - Los workspaces dinámicos son una funcionalidad experimental (sólo Windows),
      y requiere que el programa plasticfs.exe se esté ejecutando en segundo
      plano.

Ejemplos:

    cm workspace create myworkspace c:\workspace
    cm wk mk myworkspace /home/john/wkspace
    (Crea el workspace 'myworkspace' en 'c:\workspace' y '/home/john/wkspace'
    respectivamente.)

    cm wk mywktest c:\wks\wktest --selector=myselector.txt
    (Crea 'mywktest' utilizando como selector 'myselector.txt'.)

    cm wk mywkprj c:\wks\wkprj myrep@repserver:localhost:8084
    (Crea 'mywkprj' en 'c:\wks\wkprj' con el repositorio seleccionado.)

    cm wk mywkprj c:\dynwks\mywkprj --dynamic --tree=br:/main@myrep@localhost:8084
    (Crea el workspace dinámico 'mywkprj' en 'c:\dynwks\mywkprj' con el
     repositorio 'myrep@localhost:8084', apuntando a la rama '/main' la primera
     vez que se monte.)

== CMD_DESCRIPTION_WORKSPACE_DELETE ==
Borra un workspace.

== CMD_USAGE_WORKSPACE_DELETE ==
Sintaxis:

    cm workspace | wk delete | rm [ruta | wkspec] [--keepmetadata]

    ruta        Ruta del workspace.
    wkspec      Especificación del workspace a borrar.
                Use 'cm help objectspec' para obtener más información sobre la 
                especificación de espacios de trabajo.

Opciones:

    --keepmetadata:     No elimina los archivos de metadatos del directorio
                        .plastic.

== CMD_HELP_WORKSPACE_DELETE ==
Notas:

    Si no se especifican parámetros, se borrará el workspace actual.

Ejemplos:

    cm workspace delete 
    (Elimina el workspace actual)

    cm wk delete c:\workspace
    cm workspace rm /home/danipen/wks
    cm wk rm wk:MiWorkspace
    cm wk rm wk:MiWorkspace@DIGITALIS

== CMD_DESCRIPTION_WORKSPACE_LIST ==
Muestra la lista de workspaces.

== CMD_USAGE_WORKSPACE_LIST ==
Sintaxis:

    cm workspace | wk [list | ls] [--format=str_format]

Opciones:

    --format            Devuelve el mensaje de respuesta con el formato
                        especificado. Consulte la ayuda para más información.

== CMD_HELP_WORKSPACE_LIST ==
Notas:

    Este comando acepta una cadena de texto formateada para mostrar la
    salida.

    Los parámetros de salida del comando son los siguientes:

        {0} | {wkname}        Nombre del workspace.
        {1} | {machine}       Nombre de la máquina.
        {2} | {path}          Ruta del workspace.
        {3} | {wkid}          Identificador único del workspace.
        {4} | {wkspec}        Especificación del workspace en el formato:
                              'wkname@machine'.
        {tab}                 Inserta un tabulador.
        {newline}             Inserta una nueva línea.

Ejemplos:

    cm wk
    (Lista todos los workspaces.)

    cm workspace list --format={0}#{3,40}
    cm workspace list --format={wkname}#{wkid,40}
    (Lista todos los workspaces mostrando el nombre del workspaces, el
    símbolo '#' y el identificador del workspace utilizando 40 espacios y
    alineado a la izquierda.)

    cm wk --format="Workspace {0} in path {2}"
    cm wk --format="Workspace {wkname} in path {path}"
    (Lista todos los workspaces, mostrando los resultados en cadenas
    formateadas.)

== CMD_DESCRIPTION_WORKSPACE_MOVE ==
Mueve un workspace.

== CMD_USAGE_WORKSPACE_MOVE ==
Sintaxis:

    cm workspace | wk move | mv [wkspec] ruta

Opciones:

    wkspec          Especificación del workspace a ser movido.
                    Use 'cm help objectspec' para obtener más información sobre la 
                    especificación de espacios de trabajo.
    ruta            La ruta destino a la que mover el workspace.

== CMD_HELP_WORKSPACE_MOVE ==
Notas:

    Este comando permite al usuario mover workspace a otro lugar en disco.

Ejemplos:

    cm workspace move myWorkspace \new\workspaceDirectory
    (Mueve el workspace a la ruta especificada.)

    cm wk mv C:\wkspaces\newpath
    (Mueve el workspace de trabajo a 'C:\wkspaces\newpath')

== CMD_DESCRIPTION_WORKSPACE_RENAME ==
Cambia el nombre de un workspace.

== CMD_USAGE_WORKSPACE_RENAME ==
Sintaxis:

    cm workspace | wk rename [nombre_antiguo] nombre_nuevo

    nombre_antiguo      Nombre antiguo del workspace.
    nombre_nuevo        Nombre nuevo del workspace.

== CMD_HELP_WORKSPACE_RENAME ==
Notas:

   Este comando renombra un workspace. Si no se especifica nombre_antiguo,
   el sistema tomará el nombre del workspace actual.

Ejemplos:

   cm workspace rename miworkspace wk2
   (El workspace 'miworkspace' se renombra a 'wk2'.)

   cm wk rename nuevoNombre
   (El workspace actual se renombra a 'nuevoNombre'.)

== CMD_DESCRIPTION_WORKSPACESTATUS ==
Muestra el changeset cargado en un workspace y si los hay los elementos cambios que contiene.

== CMD_USAGE_WORKSPACESTATUS ==
Sintaxis:

    cm status [workspacepath] [opciones] [tipos_de_búsqueda]

    workspacepath: El path de un workspace determinado o una ruta por debajo
        del mismo. La búsqueda de cambiados se realizará a partir del path
        especificado y de manera recursiva.

Opciones generales:

    --changelist=NAME: Muestra los cambios en el 'changelist' llamado "NAME".
    --changelists: Muestra los cambios agrupados en 'changelists'.
    --cutignored: Evita mostrar los contenidos de los directorios ignorados.
        Requiere el tipo de búsqueda --ignored.
    --header: Solo imprimirá la información del changeset cargado en el
        workspace, no realizará la búsqueda de elementos cambiados.
    --noheader: El comando no imprimirá el estado del workspace, sólo
        realizará e imprimirá la búsqueda de elementos cambiados.
    --nomergesinfo: La información de los merges de los cambios no se imprimirá.
    --head: El comando imprimirá el estado del último changeset de la rama.
    --short: Muestra únicamente rutas de elementos que tienen cambios.
    --symlink: Aplica la operación a los enlaces simbólicos en lugar de
        aplicarla a sus destinos.
    --dirwithchanges: Muestra directorios que contienen cambios (ítems
        añadidos, movidos o eliminados en su interior).
    --xml: Permite volcar la salida del comando en formato xml. Por defecto la
        salida sale en la pantalla, pero si se especifica un fichero
        (--xml=output.xml) la salida se vuelca en dicho fichero.
    --encoding: si se utiliza con la opción --xml, permite especificar el
        encoding con el que se guardará la salida del comando. Consulte la
        documentación de la MSDN para obtener la tabla completa de
        codificaciones soportadas y su formato; al final de la página en la
        columna "Name":
        http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
    --wkrootrelativepaths, --wrp: Muestra rutas relativas a la raíz del
        workspace en vez de rutas relativas al directorio actual.
    --fullpaths, --fp: Fuerza al comando a imprimir rutas absolutas,
        sobreescribiendo cualquier otra configuración acerca de impresión
        de rutas.

Opciones del viejo formato:

    --cset: El comando imprimirá el estado del workspace en el viejo formato.
    --compact: El comando imprimirá el estado del workspace y la búsqueda de
        elementos cambiados en el viejo formato.
    --noheaders: Usado junto con --compact, la información de cada grupo de
        cambiós no se imprimirá. (No aplica al nuevo formato.)

Tipos de búsqueda:

    --added: El comando busca elementos añadidos.
    --checkout: El comando busca elementos en checkout.
    --changed: El comando busca elementos cambiados.
    --copied: El comando busca elementos copiados.
    --replaced: El comando busca elementos reemplazados.
    --deleted: El comando busca elementos borrados.
    --localdeleted: El comando busca elementos borrados localmente.
    --moved: El comando busca elementos movidos.
    --localmoved: El comando busca elementos movidos localmente.
    --percentofsimilarity (-p)=valor: Porcentaje de similitud entre dos
      ficheros para considerarlos el mismo en la búsqueda de movidos
      locales, su valor por defecto es un 20%.
    --txtsameext: Sólo aquellos ficheros de texto que tengan la misma
        extensión serán tenidos en cuenta para la búsqueda de movidos basada
        en la similitud del contenido. Por defecto todos los ficheros de texto
        son procesados.
    --binanyext: Cualquier fichero binario es tenido en cuenta para la
        búsqueda de movidos basada en la similitud del contenido. Por defecto
        sólo aquellos ficheros binarios que tengan la misma extensión
        son procesados.
    --private: El comando busca elementos no controlados.
    --ignored: El comando busca elementos ignorados.
    --hiddenchanged: El comando busca elementos cambiados marcados como
        ocultos (incluye '--changed').
    --cloaked: El comando busca elementos marcados como cloaked.
    --controlledchanged: Este modificador engloba los siguientes parámetros:
        '--added' '--checkout' '--copied' '--replaced' '--deleted' '--moved'.
    --all (-a): Este modificador engloba los siguientes parámetros:
        '--controlledchanged' '--changed' '--localdeleted' '--localmoved'
        '--private'.

== CMD_HELP_WORKSPACESTATUS ==
Notas:

    El comando status muestra el changeset cargado en un workspace
    y si los hay, los cambios que contiene.

    Se puede utilizar el comando para saber cuál es el changeset con el que se
    está trabajando en un momento dado, y poder utilizarlo, por ejemplo, para
    marcar configuraciones concretas mediante etiquetas de tipo changeset.

    También es útil para conocer los cambios pendientes que existen dentro
    del workspace, los tipos de cambios que deseamos obtener del workspace pueden
    ser modificados gracias a los parámetros que el comando admite. Por defecto
    se muestran todos los cambios, controlados y locales.

    El porcentaje de similitud entre dos ficheros usado por el algoritmo de
    cálculo de movidos locales se puede especicifar mediante la option '--percentofsimilarity'
    o '-p' y su rango va desde 0 hasta 100. Si este parámetro no es especidicado
    su valor por por defecto es del 20%.

    A través de éste comando, también es posible mostrar los cambios agrupados
    en 'changelists' de cliente. El changelist por defecto del sistema (llamado
    'default'), agrupa los cambios que no están contenidos en el resto de
    'changelists', por lo que los cambios que se muestran especificando éste
    'changelist', dependerán del tipo de búsquedas especificados en el comando.

    La opción de mostrar cambios agrupados en 'changelists' requiere mostrar cambios
    controlados (en estado 'added', 'checkout', 'copied', 'replaced', 'deleted' o
    'moved'), por lo que la opción '--controlledchanged' se activará automáticamente
    cuando se muestren 'changelists'.

    El formato por defecto para la salida en XML es UTF-8. Es posible cambiar
    dicho encoding usando la opción --encoding=otro_encoding.

    El comando 'status' imprime por defecto rutas relativas al directorio de trabajo,
    a menos que se especifiquen las opciones '--machinereadable' o '--short'
    (en cuyo caso, se imprimen rutas absolutas).

    Si se usa la opción '--xml', el comando 'status' imprimirá por defecto rutas
    relativas a la raíz del workspace, a menos que se especifique adicionalmente
    la opción '--fp' (en cuyo caso, se imprimen rutas absolutas).

Ejemplos:

    cm status
    (Ejecutándolo dentro de un workspace el comando imprime el changeset cargado
    y los elementos en checkout, añadidos, copiados, reemplazados, borrados, borrados locales,
    movidos, movidos locales, y privados. La busqueda de los elementos se realiza
    sobre el workspace de forma recursiva)

    cm status --controlledchanged
    (Ejecutándolo dentro de un workspace el comando imprime el changeset cargado
    y los elementos del workspace en checkout, añadidos, copiados, reemplazados,
    borrados, y movidos)

    cm status --added
    (Ejecutándolo dentro de workspace el comando imprime el changeset cargado
    y solamente los elementos añadidos. La búsqueda de los elementos se realiza
    sobre el workspace de forma recursiva)

    cm status c:\workspaceLocation\code\client --added
    (El comando imprime el changeset cargado y solamente los elementos añadidos.
    La búsqueda de los elementos se realiza sobre el path proporcionado de forma recursiva)

    cm status --changelists
    cm status --changelist
    (El comando muestra todos los cambios en el espacio de trabajo, agrupados
    por 'changelists').

    cm status --changelist=pending_to_review
    (El comando muestra los cambios que contiene el changelist 'pending_to_review')

    cm status --changelist=default --private
    (El comando muestra los cambios que contiene el changelist 'default',
    el changelist por defecto del sistema, mostrando elementos privados,
    además de elementos con cambios controlados si los hubiese).

    cm status --short --changelist=pending_to_review | cm checkin -
    (Se protegen los cambios en el changelist llamado 'pending_to_review').

    cm status c:\workspaceLocation\code\client --xml=output.xml
    (Guarda la salida del status en el fichero output.xml, en formato XML y
    usando UTF-8.)

    cm status --ignored
    (Muestra todos los elementos ignorados)
    Salida:
    IG src
    IG src/version.c
    IG out/app.exe

    cm status --ignored --cutignored
    (Muestra ficheros ignorados cuyo directorio padre no está ignorado y
    directorios ignorados pero no el árbol de sus contenidos)
    Salida:
    IG src
    IG out/app.exe

== CMD_DESCRIPTION_XLINK ==
Crea, edita o muestra un xlink

== CMD_USAGE_XLINK ==
Sintaxis:

    cm xlink [-w] [-rs] xlink_path / <csetspec | lbspec | brspec> [<expansion_rules>+]
    (Crea un xlink).

    cm xlink [-rs] xlink_path /relative_path <csetspec | lbspec | brspec> [<expansion_rules>+]
    (Crea un xlink parcial de solo lectura apuntando a /relative_path en lugar
    de apuntar a la raíz por defecto / ).

    cm xlink -e xlink_path <csetspec | lbspec | brspec>
    (Edita un xlink para cambiar la especificación destino).

    cm xlink -s|--show xlink_path
    (Muestra la información de un xlink incluyendo las reglas de expansión).

    cm xlink -ar|--addrules xlink_path <expansion_rules>+
    (Añade al xlink las reglas de expansión proporcionadas).

    cm xlink -dr|--deleterules xlink_path <expansion_rules>+
    (Borra del xlink las reglas de expansión especificadas).

    xlink_path          Ruta en el espacio de trabajo actual donde se cargan
                        los contenidos del repositorio que se va a enlazar
                        (cuando se crea un xlink) o que ya está enlazado
                        (cuando se edita un xlink).
    csetspec            Especificación del changeset que se va a enlazar.
                        Determina qué versión y rama se carga en el espacio de
                        trabajo para el repositorio enlazado.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de changesets.
    lbspec              Especificación de la etiqueta que se va a enlazar.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de etiquetas.
    brspec              Especificación de la rama que se va a enlazar.
                        Usa el changeset actual a donde la rama especificada
                        está apuntando.
                        Usa 'cm help objectspec' para obtener más información
                        sobre la especificación de ramas.
    -e                  Indica que el comando va a editar un xlink existente 
                        para cambiar la especificación del changeset enlazado.
    -s | --show         Muestra información sobre el xlink seleccionado.
    -ar | --addrules    Añade una o más reglas de expansión al xlink indicado.
    -dr | --deleterules Borra una o más reglas de expansión del xlink indicado.
    expansion_rules     Especifica una o más reglas de expansión. Cada regla de
                        expansión es un par (rama)-(rama a enlazar)
                        br:/main/fix-br:/main/develop/fix

Opciones:

  -w                    Crea un xlink de escritura. Esto significa que los 
                        contenidos bajo el xlink se podrán editar mediante el 
                        uso de autoexpansión de ramas.
  -rs                   Relative server. Permite crear un xlink a un repositorio
                        que es una réplica de otro que existe en un servidor 
                        central. De este modo se reconcilian automáticamente los
                        repositorios replicados con el original.

Ejemplos:

  cm xlink codigo\segundorepositorio / 1@segundo@localhost:8084
  cm xlink codigo\segundorepositorio / lb:LB001@segundo@localhost:8084
  cm xlink -s codigo\segundorepositorio
  cm xlink -ar codigo\segundorepositorio br:/main-br:/main/develop br:/main/fix-br:/main/develop/fix
  cm xlink -dr codigo\segundorepositorio br:/main/fix-br:/main/develop/fix

== CMD_HELP_XLINK ==
Notas:

    Este comando crea un xlink al changeset especificado. Por defecto se
    creará como un xlink de sólo lectura. Esto significa que los contenidos
    correspondientes a otro repositorio cargados por debajo del xlink no
    podrán ser modificados.

    Para la edición del changeset de un xlink se puede utilizar una sintaxis
    reducida en la que no hay que especificar el resto de parámetros del
    xlink. Solamente es necesario en nuevo changeset al que apuntará.

    Auto-expansión de ramas:

    Cuando se realiza un cambio en uno de los repositorios enlazados en modo
    de lectura y escritura (opción -e) es necesario crear una nueva rama en
    dicho repositorio basándose en la rama en la que se está trabajando en el
    repositorio principal. Para determinar el nombre de dicha rama, se aplican
    las siguientes reglas:
        1) Se comprueba si el nombre completo de la rama existe en el
    repositorio enlazado:
    - Si existe, se utiliza dicha rama.
           - Si no existe, Plastic construye el nombre de la rama de esta forma:
                - Nombre de la rama que contiene el changeset enlazado + nombre 
                  de la rama del repositorio principal.
                - Si existe una rama con dicho nombre, se utiliza como rama de 
                  trabajo.
                - Si no, se crea una rama nueva con el nombre así construido y 
                  se establece como base de la rama el changeset enlazado.
        2) Después, se crea una nueva versión del xlink dentro de la nueva rama
           apuntando al nuevo changeset. 

    De este modo, la estructura completa del xlink se mantiene actualizada con 
    los últimos cambios en las versiones correctas.

Ejemplos:

    cm xlink code\firstrepo / 1@first@localhost:8084
    (Crea un xlink en la carpeta 'firstrepo' en el espacio de trabajo actual
     donde el changeset '1' en el repositorio 'first' se enlazará).

    cm xlink opengl\include /includes/opengl 1627@includes@localhost:8087
    (Crea un xlink parcial de solo lectura en la ruta 'opengl\include' en el
     espacio de trabajo actual donde la ruta '/includes/opengl' en el changeset 
     '1627' del repositorio 'includes' se enlazará como raíz. Esto significa
     que cualquier ítem dentro de '/includes/opengl' se enlazará en 
     'opengl\include' mientras que el resto del repositorio se ignorará).

    cm xlink -w -rs code\secondrepo / lb:LB001@second@localhost:8084
    (Crea un xlink de escritura y relativo en la ruta 'secondrepo' en el
     espacio de trabajo actual donde la etiqueta'LB001' en el repositorio
     'second' se enlazará).

    cm xlink code\thirdrepo / 3@third@localhost:8087 br:/main-br:/main/scm003
    (Crea un xlink en la ruta 'thirdrepo' dentro del espacio de trabajo actual
     donde el changeset '3' en el repositorio 'third' se enlazará).

    cm xlink -e code\secondrepo br:/main/task1234@second@localhost:8084
    (Edita el xlink 'code\secondrepo' para cambiar el repositorio destino 
     enlazando la rama 'main/task1234' en el repositorio 'second').

    cm xlink --show code\thirdrepo
    (Muestra información del xlink 'code\thirdrepo' incluyendo las reglas de 
     expansión si éstas existen).

    cm xlink -ar code\secondrepo br:/main-br:/main/develop br:/main/fix-br:/main/develop/fix
    (Añade dos reglas de expansión al xlink 'code\secondrepo').

    cm xlink -dr code\secondrepo br:/main/fix-br:/main/develop/fix
    (Borra la regla de expansión del xlink 'code\secondrepo').

    cm xlink code\secondrepo / 1@second@localhost:8084
    cm xlink code\secondrepo / lb:LB001@second@localhost:8084

== CMD_USAGE_AUTOCOMPLETE ==
Sintaxis:

    cm autocomplete install
     Instala el autocompletado de comandos para 'cm' en la shell.

    cm autocomplete uninstall
     Desinstala el autocompletado de comandos para 'cm' de la shell.

    cm autocomplete --line <shell_line> --position <cursor_position>
     Devuelve sugerencias de autocompletado para 'shell_line', que deben ser
     insertadas en 'cursor_position'. Este comando no está pensado para ser
     ejecutado por el usuario final, pero está documentado en caso de que se
     quiera extender el soporte de autocompletado a otras shells.

    shell_line      La linea que el usuario ha escrito en la shell cuando se
                    pidió el autocompletado.
                    En Bash, encuentra en la variable de entorno COMP_LINE.
                    En PowerShell, se encuentra en la variable $wordToComplete.
    cursor_position La posición del cursor cuando se pidió el autocompletado.
                    En Bash, se encuentra en la variable de entorno COMP_POINT.
                    En PowerShell, se encuentra en la variable $cursorPoint.