Este es el comando aecp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
aegis copy file: copia un archivo en un cambio
SINOPSIS
égida -Copiar archivo [ opción...] nombre de archivo...
égida -Copiar archivo -Independiente [ opción...] nombre de archivo...
égida -Copiar archivo -Lista [ opción...]
égida -Copiar archivo -Ayudar
DESCRIPCIÓN
La égida -Copiar archivo El comando se usa para copiar un archivo en un cambio. Los archivos nombrados
copiarse de la línea de base en el directorio de desarrollo y agregarse a la lista de
archivos en el cambio. Se recuerda la versión de los archivos copiados desde la línea de base.
Este comando se puede usar para copiar pruebas en un cambio, no solo en archivos de origen. Las pruebas son
se tratan como cualquier otro archivo fuente y están sujetos al mismo proceso.
Advertencia: Si hay archivos en el directorio de desarrollo con el mismo nombre, serán
sobrescrito por este comando.
También puede nombrar directorios. Todos los archivos fuente en los directorios nombrados, y todos
directorios debajo de ellos, se copiarán desde la línea de base al directorio de desarrollo,
y agregado a la lista de archivos en el cambio.
Al copiar archivos explícitamente, es un error si el archivo ya es parte del cambio.
Cuando nombra un directorio, todos los archivos de origen del proyecto debajo de ese directorio
se copian, excepto los que ya están en el cambio. Es un error si ninguno de los
Se pueden utilizar archivos nombrados implícitamente por el directorio.
Si desea cambiar un archivo fuente copiado para que sea ejecutable (scripts de shell, por ejemplo)
entonces simplemente usa el normal chmod(1) comando; lo contrario para que no sea ejecutable.
Si alguno de los bits ejecutables del archivo se establece en aede(1) hora en que se recuerda el archivo como
ejecutable y todos los bits de ejecución (menos la umask del proyecto) se establecerán por
aecp(1) comandos.
Archive Nombre Interpretación
El programa aegis intentará determinar los nombres de los archivos del proyecto a partir de los nombres de los archivos.
dado en la línea de comando. Todos los nombres de archivo se almacenan dentro de los proyectos de aegis como relativos
a la raíz del árbol de directorios de la línea base. El directorio de desarrollo y el
directorio de integración son sombras de este directorio de línea base, por lo que estos nombres relativos
aplicar aquí también. Los archivos nombrados en la línea de comando se convierten primero en rutas absolutas
si necesario. Luego se comparan con la ruta de referencia, el directorio de desarrollo
ruta y la ruta del directorio de integración, para determinar un nombre relativo a la línea de base. Está
un error si el archivo nombrado está fuera de uno de estos árboles de directorios.
La -BAse_RElativo La opción se puede utilizar para hacer que los nombres de archivo relativos se interpreten como
en relación con la ruta de la línea de base; Los nombres de archivo absolutos se seguirán comparando con los distintos
rutas para determinar un nombre relativo a la línea de base.
La relativa_de_archivo_de_preferencia en el archivo de configuración del usuario se puede utilizar para modificar
este comportamiento predeterminado. Ver aeuconf(5) para obtener más información.
Procesos Lado Efectos
Este comando cancelará cualquier registro de compilación o prueba, porque agregar otro archivo
los invalida lógicamente. Si se agregó el archivo de configuración del proyecto, cualquier diferencia
también se cancelará el registro.
Cuando se enumeran los archivos de cambios (égida -Lista Cambiar_archivos -Breve) los archivos copiados
aparecen en la lista. Cuando los archivos del proyecto se enumeran con un número de cambio explícito
(égida -Lista Proyecto_archivos -Breve -Cambio N) ninguno de los archivos del cambio, incluido el
archivos copiados, aparecerán en la lista concisa. Estas dos funciones son muy útiles cuando
llamar a aegis desde dentro de un DMT para generar la lista de archivos fuente.
BASE CANDADO (SEGURO)
El bloqueo de la línea de base se utiliza para garantizar que la línea de base permanezca en un estado consistente durante
la duración de los comandos que necesitan leer el contenido de los archivos en la línea de base.
Los comandos que requieren que la línea de base sea consistente (estos incluyen el aeb(1)
aecp(1) y AED(1) comandos) tomar una línea de base read cerrar con llave. Este es un candado no exclusivo, por lo que
el desarrollo concurrente de cambios no se ve obstaculizado.
El comando que modifica la línea de base, aeipass(1), toma una línea de base escribir cerrar con llave. Esta
es un candado exclusivo, forzando aeipass(1) para bloquear hasta que no haya una lectura de línea base activa
cabellos.
Es posible que uno de los comandos de desarrollo anteriores se bloquee hasta que se
égida -Integrar_PASS completa. Esto suele ser de corta duración mientras el proyecto
se actualiza el historial. El retraso es esencial para que estos comandos reciban una coherencia
vista de la línea de base. Ningún otro comando de integración causará el desarrollo anterior
comandos para bloquear.
Cuando la funcionalidad de rama de aegis está en uso, se toma un bloqueo de lectura (no exclusivo) en el
línea de base de la rama y también cada una de las líneas de base "padre". Sin embargo, una escritura de referencia
el bloqueo (exclusivo) solo se toma en la línea de base de la rama; las líneas de base "principales" son solo
leer (no exclusivo) bloqueado.
PROBAR CORRELACIONES
El comando "aegis -Test -SUGgest" se puede utilizar para que aegis sugiera una regresión adecuada
pruebas para su cambio, según los archivos de origen de su cambio. Esto automáticamente
concentra el esfuerzo de prueba en pruebas relevantes, reduciendo el número de pruebas de regresión
necesario estar seguro de que no ha introducido un error.
Las correlaciones de prueba son generadas por el comando "aegis -Integrate_Pass", que
asocia cada prueba del cambio con cada archivo fuente del cambio. Por lo tanto, cada
El archivo de origen acumula una lista de pruebas que se han asociado con él en el pasado.
Esto no es tan exacto como el análisis de cobertura de código, pero es una aproximación razonable en
práctica.
La aecp(1) y aenf(1) los comandos se utilizan para asociar archivos con un cambio. Mientras ellos
no realizan activamente la asociación, estos son los archivos utilizados por aeipass(1) y
aet(1) para determinar qué archivos fuente están asociados con qué pruebas.
Examen La correlación Exactitud
Suponiendo que las correlaciones de las pruebas son precisas y que las pruebas son uniformes
distribuidos en todo el espacio funcional, habrá menos de 1 / número posibilidad de que un
la prueba relevante no ha sido ejecutada por el "aegis -Test -SUGgest número"Comando. Un pequeño
Se agrega una cantidad de ruido a la ponderación de prueba, por lo que a veces se producen cosas inesperadas.
probado, y las mismas pruebas no se ejecutan siempre.
La precisión de la correlación de la prueba se puede mejorar asegurándose de que:
· Cada cambio debe estar fuertemente enfocado, sin inclusiones de archivos gratuitas. Esta
evita correlaciones falsas.
· Cada elemento de nueva funcionalidad debe agregarse en un cambio individual, en lugar de
varios juntos. Esto correlaciona fuertemente las pruebas con la funcionalidad.
· Cada error debe corregirse en un cambio individual, en lugar de varios juntos. Esta
correlaciona fuertemente las pruebas con la funcionalidad.
· Las correlaciones de prueba se perderán si se mueven los archivos. Esto se debe a que las correlaciones son por
nombre.
La mejor manera de que las pruebas se correlacionen con precisión con los archivos de origen es cuando se produce un cambio
contiene una prueba y exactamente los archivos relacionados con la funcionalidad bajo prueba. También
muchos archivos falsos debilitarán la utilidad de las correlaciones de prueba.
Notificación
La comando_copiar_archivo en el proyecto config se ejecuta el archivo, si está configurado. los archivo_proyecto_‐
comando también se ejecuta, si está configurado, y si ha habido una integración recientemente. Ver
aepconf(5) para obtener más información.
Archive Acción del Riesgo
Cuando se ejecuta este comando, primero verifica los archivos de cambios con los archivos de proyectos. Si
hay inconsistencias, las acciones del archivo se ajustarán de la siguiente manera:
crear Si se está creando un archivo, pero se integra otro conjunto de cambios que también
crea el archivo, la acción del archivo en el conjunto de cambios que aún se está desarrollando será
ajustado a "modificar".
modificar Si se está modificando un archivo, pero hay otro conjunto de cambios integrado que elimina
archivo, la acción de archivo en el conjunto de cambios que aún se está desarrollando será
ajustado a "crear".
eliminar Si se está eliminando un archivo, pero hay otro conjunto de cambios integrado que elimina
el archivo, el archivo se eliminará del conjunto de cambios que aún se está desarrollando.
OPCIONES
Se entienden las siguientes opciones:
-BAse_RElativo
Esta opción se puede utilizar para hacer que los nombres de archivo relativos se consideren relativos a
la base del árbol de origen. Ver aeuconf(5) para el usuario correspondiente
preferencia.
-CURrent_RElativo
Esta opción se puede utilizar para hacer que los nombres de archivo relativos se consideren relativos a
el directorio actual. Suele ser el predeterminado. Ver aeuconf(5) para el
preferencia del usuario correspondiente.
-Rama número
Esta opción se puede utilizar para especificar una rama diferente para el archivo de origen, en lugar de
que la línea de base. (Ver también -Maletero opción. Tenga en cuenta: el -Rama opción
no toma un nombre de proyecto, solo el sufijo del número de sucursal.
-Abuelo
Esta opción se puede utilizar para especificar la rama del abuelo (una por encima de la
rama actual) para el archivo de origen, en lugar de la línea de base. (El abuelo
La opción es la misma que la opción "-branch ..").
-Cambio número
Esta opción puede usarse para especificar un cambio particular dentro de un proyecto. Ver
égida(1) para obtener una descripción completa de esta opción.
-Delta número
Esta opción se puede utilizar para especificar un delta particular en el historial del proyecto para
copie el archivo de, en lugar de la versión más actual. Si el delta ha sido
dado un nombre (ver aedn(1) para saber cómo) puede usar un nombre delta en lugar de un delta
número. Es un error si el delta especificado no existe. Números delta
empezar desde 1 y aumentar; delta 0 es un caso especial que significa "cuando la rama
empezado".
-DELta_Fecha cadena
Esta opción se puede utilizar para especificar una fecha y hora en particular en el
history para copiar el archivo, en lugar de la versión más actual. Es un
error si la cadena especificada no se puede interpretar como una fecha y hora válidas.
Cite la cadena si necesita usar espacios.
-DELta_From_Change número
Esta opción se puede utilizar para especificar un delta de un proyecto particular a partir de su cambio
número.
-Ayudar
Esta opción se puede utilizar para obtener más información sobre cómo utilizar el égida
.
-Independiente
Esta opción se utiliza para especificar que la copia se ejecutará independientemente de cualquier
cambio particular. Los archivos se copiarán en relación con el directorio actual.
-Mantener
Esta opción se puede utilizar para conservar archivos y / o directorios que normalmente se eliminan o
reemplazado por el comando. Predeterminado para el usuario eliminar_archivo_preferencia si no
especificado, ver aeuconf(5) para obtener más información.
-No_Mantener
Esta opción se puede utilizar para garantizar que los archivos y / o directorios se eliminen.
o reemplazado por el comando. Predeterminado para el usuario eliminar_archivo_preferencia si no
especificado, ver aeuconf(5) para obtener más información.
-Lista
Esta opción se puede utilizar para obtener una lista de temas adecuados para este comando.
La lista puede ser más general de lo esperado.
-No_Logging
Esta opción se puede utilizar para deshabilitar el registro automático de resultados y errores para
un archivo. Esto suele ser útil cuando se combinan varios comandos aegis en un shell.
guión.
-Producción nombre de archivo
Esta opción se puede utilizar para especificar un archivo de salida de un archivo que se está copiando
base. Solo se puede nombrar un archivo de línea base cuando se usa esta opción. los
Se entiende que el nombre de archivo "-" significa la salida estándar. Esta opción no
agregue el archivo al conjunto de archivos de cambios. No cabellos se toman cuando esta opción es
utilizado, ni siquiera el bloqueo de lectura de la línea de base.
-Sobreescritura
Esta opción se puede utilizar para forzar la sobrescritura de archivos. La acción predeterminada es
dar un error si se sobrescribe un archivo existente.
-Proyecto nombre
Esta opción se puede utilizar para seleccionar el proyecto de interés. Cuando no -Proyecto
se especifica la opción, la AEGIS_PROJECT se consulta la variable de entorno. Si
que no existe, el usuario $ INICIO / .aegisrc el archivo se examina por defecto
campo del proyecto (ver aeuconf(5) para obtener más información). Si eso no existe,
cuando el usuario solo está trabajando en cambios dentro de un solo proyecto, el proyecto
nombre predeterminado para ese proyecto. De lo contrario, es un error.
-Solo lectura
Esta opción se puede utilizar para especificar que el archivo se utilizará para aislar el
cambio desde la línea de base. El usuario no tiene la intención de editar el archivo. Estas
los archivos deben copiarse antes de que finalice el desarrollo.
-Rescindir
Esta opción se puede utilizar para rescindir (deshacer) un cambio completo. El cambio a
rescindir (retroceder) se especifica de la manera habitual, con uno de los --delta
.
-Breve
Esta opción puede usarse para hacer que los listados produzcan el mínimo de
información. Suele ser útil para scripts de shell.
-Maletero
Esta opción se puede utilizar para especificar el tronco del proyecto para el archivo de origen, en lugar de
que la línea de base. (Ver también -Rama opción, la opción -trunk es la misma que
la opción "-branch -".)
-Verboso
Esta opción puede usarse para hacer que aegis produzca más resultados. Por defecto aegis
solo produce salida sobre errores. Cuando se usa con el -Lista opción esta opción
hace que se agreguen encabezados de columna.
-Esperar Esta opción puede usarse para requerir que los comandos Aegis esperen los bloqueos de acceso, si
no se pueden obtener de inmediato. Predeterminado para el usuario preferencia_lock_wait
si no se especifica, consulte aeuconf(5) para obtener más información.
-No, espera
Esta opción puede usarse para requerir que los comandos Aegis emitan un error fatal si el acceso
las cerraduras no se pueden obtener inmediatamente. Predeterminado para el usuario
preferencia_lock_wait si no se especifica, consulte aeuconf(5) para obtener más información.
Vea también égida(1) para opciones comunes a todos los comandos de aegis.
Todas las opciones pueden abreviarse; la abreviatura está documentada como letras mayúsculas,
todas las letras minúsculas y los guiones bajos (_) son opcionales. Debes usar consecutivo
secuencias de letras opcionales.
Todas las opciones no distinguen entre mayúsculas y minúsculas, puede escribirlas en mayúsculas, minúsculas o
combinación de ambos, el caso no es importante.
Por ejemplo: los argumentos "-proyecto," -PROJ "y" -p "se interpretan en el sentido de
-Proyecto opción. El argumento "-prj" no se entenderá, porque consecutivo
no se proporcionaron caracteres opcionales.
Las opciones y otros argumentos de la línea de comando se pueden mezclar arbitrariamente en la línea de comando,
después de los selectores de funciones.
Se entienden los nombres largos de las opciones de GNU. Dado que todos los nombres de opciones para égida son largos,
esto significa ignorar el interlineado adicional '-'. Los "--opción=propuesta de"la convención también es
entendido.
RECOMENDADO ALIAS
El alias recomendado para este comando es
csh% alias aecp 'aegis -cp \! * -v'
sh $ aecp () {aegis -cp "$ @" -v}
ERRORES
Es un error si el cambio no está en el "Ser" desarrollado estado.
Es un error si el cambio no se asigna al usuario actual.
Es un error si el archivo ya está en el cambio y el -Sobrescribir la opción no es
especificado.
SALIR ESTADO
La égida El comando saldrá con un estado de 1 en cualquier error. los égida el comando solo
salir con un estado de 0 si no hay errores.
MEDIO AMBIENTE VARIABLES
See égida(1) para obtener una lista de variables de entorno que pueden afectar este comando. Ver
aepconf(5) para el archivo de configuración del proyecto Proyecto específico campo para saber cómo configurar
variables de entorno para todos los comandos ejecutados por Aegis.
EJEMPLOS
A continuación se muestran algunos ejemplos sencillos. Recuerde que la mayoría de los comandos son relativos al actual
directorio, aunque estos ejemplos asumen que está en la base del desarrollo
árbol de directorio.
Copiar Pleno Proyectos
Para copiar todo el proyecto en su cambio, use el comando
aecp.
El punto final es parte del comando, significa "el directorio actual y todo
debajo de él ". Esto funciona para cualquier directorio en el árbol de fuentes del proyecto, si quieres estar
más selectivo.
Prroducir Más temprano Proyectos Versión
Si desea reproducir exactamente las fuentes de una versión anterior de su proyecto,
necesitas saber el número edelta (usa ael proj-historia para encontrarlo). Entonces usa esto
mando:
aecp-delta n .
donde n es el número delta del historial del proyecto. Nuevamente, el punto final es parte de
El comando. Usando el $ versión sustitución (ver aesub(5) para obtener más información)
puede incrustar este número delta en su programa antes de distribuirlo.
También es posible dar un número de cambio previo, en su lugar, usando este comando:
aecp -delta-de-cambio n .
donde n es el número de cambio de interés. Nuevamente, el punto final es parte del
mando.
Rescindir a Cambios
Cuando necesite rescindir (retirar) un cambio completo, probablemente habrá sido
hace un tiempo, por lo que necesita saber el número delta o el número de cambio. Utilice este comando:
aecp-delta n -rescindir.
donde n es el número delta de interés. Todos los demás -delta variantrs también funcionan, así que
si conoce el número de cambio, puede ser más selectivo sobre qué archivos copiar:
aecp -delta-de-cambio n `égida -l cf -ter -c n`
donde n es el número de cambio de interés. Esto solo copia los archivos que estaban en el
cambio ofensivo.
Utilice aecp en línea utilizando los servicios de onworks.net