Comando para buscar recursivamente todos los archivos privados de la vista en el directorio actual
¿Qué es el comando clearcase para encontrar recursivamente todos los archivos privados de la vista en el directorio actual?
6 answers
Los comandos habituales se basan en cleartool ls
:
-
ct lsprivate
: pero es solo para vistas dinámicas, no vistas instantáneas -
ct ls -rec -view_only
: al menos, funciona tanto en vistas instantáneas como dinámicas
Sin embargo, ambos listan también sus archivos de salida.
Si solo desea los archivos privados, es decir, omitiendo los secuestrados/eclipsados/checked-out y los enlaces simbólicos, debe filtrarlos.
En Windows, eso sería be:
for /F "usebackq delims=" %i in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%i"
En Unix:
cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v "-->" | xargs echo
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-05 05:45:19
En caso de que ayude a alguien más a leer esta pregunta, aquí está la solución de windows de VonC con un par de cambios menores para ejecutarse como un script de Windows:
@echo off
setlocal
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%%A"
Sustitúyase @echo
por rmdir /S /Q
y del /F
para hacer las eliminaciones reales como se describe aquí. Así que el guión final es:
@echo off
setlocal
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do rmdir /S /Q "%%A"
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do del /F "%%A"
Si guardas como a .bat archivo bajo el elemento de la vista que está limpiando de, el script se limpiará mediante la eliminación de sí mismo, así: -)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:11
He modificado la versión de @MilesHampson ya que esto devolvió demasiados resultados para mí y, quiero ejecutar esto como un archivo por lotes.
Mis nuevos archivos no estarán en la carpeta debug
o obj
y, como tal, no necesito ver ningún resultado para esas carpetas... También solo estoy trabajando en C#. Eso es todo lo que necesito ver.
@echo off
setlocal
@echo Searching, please wait as this can take a while...
for /F "usebackq delims=" %%A in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->" ^| find /V "obj" ^| find /V "debug"`) do (
if "%%~xA"==".cs" echo %%A
)
)
@echo === === === === === Search Complete === === === === === ===
pause
Cree un archivo bat con lo anterior, colóquelo en la carpeta raíz del proyecto y ejecútelo. Mostrará aquellos que no están en control de código fuente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-04 13:56:48
En caso de que ayude a alguien más a leer esta pregunta, aquí está la solución Unix de VonC con un par de cambios menores para ejecutarse bajo Cygwin en Windows.
En Cygwin:
cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v -- "-->"
La línea Cygwin es similar al Unix dado por VonC, pero tenga en cuenta que el doble guion en el último grep es necesario (y el xargs no es necesario).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-04 20:49:22
ct lsprivate -other
También filtraría los archivos eliminados
ct lsprivate -co
: lista de todos los archivos de salida
ct lsprivate -do
: listar todos los archivos objeto derivados
ct lsprivate -other
: listar todos los demás archivos privados
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-24 13:33:20
Seguí todas las soluciones anteriores y es un gran mandamiento. Tenía algunos requisitos más que no se cubrieron anteriormente, así que modifiqué el script un poco más con los siguientes puntos adicionales
- Archivo por lotes excluido de la lista (de lo contrario, el archivo por lotes actual también viene en la lista)
-
Eliminado el directorio de la lista como generalmente estoy interesado en file
Especialmente para desarrolladores Java, carpetas de destino excluidas y archivos jar ya que generalmente no se registran
-
Eliminado .classpath, .proyecto y .carpeta de configuración que es específica de Eclipse (si son iguales nivel como proyecto / módulos)
@echo off setlocal @echo. @echo Searching, please wait as this can take a while... @echo. for /F "usebackq delims=" %%i in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->" ^| find /V ".settings" ^| find /V "jar" ^| find /V "keep" ^| find /V "target" ^| find /V ".classpath" ^| find /V ".project" ^| find /V "%~n0" `) do ( if not exist %%i\* @echo "%%i") @echo. @echo === === === === === Search Complete === === === === === === @echo. @echo. pause
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-09 09:45:48