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?

Author: eeerahul, 2011-10-05

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
 29
Author: VonC,
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 /Fpara 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í: -)

 3
Author: MilesHampson,
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.

 2
Author: Dave,
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).

 2
Author: iwan2know,
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

 1
Author: Otzen,
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

  1. Archivo por lotes excluido de la lista (de lo contrario, el archivo por lotes actual también viene en la lista)
  2. Eliminado el directorio de la lista como generalmente estoy interesado en file

  3. Especialmente para desarrolladores Java, carpetas de destino excluidas y archivos jar ya que generalmente no se registran

  4. 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
    
 0
Author: ashah,
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