2011-10-05 18 views

Respuesta

29

Los comandos habituales se basan en cleartool ls:

  • ct lsprivate: pero es sólo para las vistas dinámicas, no instantáneas de vistas
  • ct ls -rec -view_only: al menos, funciona tanto en la instantánea y vistas dinámicas

Sin embargo, ambas listas también sus archivos extraídos.

Si desea que sólo los archivos privados, es decir, sin esperar /eclipsado/salida comprobado y enlaces simbólicos secuestrado, es necesario filtrar aquellos cabo.

En Windows, que sería:

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 
+0

Para lsprivate ct, especificando la opción -las dejará salir archivos desprotegidos. EDITAR: No importa, Otzen ya lo dijo en su respuesta hace 2 años. – antred

1
ct lsprivate -other 

Sería también filtrar los archivos desprotegidos

ct lsprivate -co: Todos los artículos de salida marcada archivos

ct lsprivate -do: Lista de todos los archivos derivados de objetos

ct lsprivate -other: lista de todos los otros archivos privados

+0

solo funciona en vista dinámica aunque – x29a

3

En caso de que ayuda a nadie a leer esta pregunta aquí es la solución de las ventanas de VonC con un par de cambios menores para ejecutarse como una secuencia de comandos 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" 

Reemplazar @echo con rmdir /S /Q y del /F para hacer las supresiones reales como se describe here. Por lo 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 guarda como un archivo .bat en el elemento de la vista que se está limpiando de, el guión va a limpiar mediante la supresión de sí mismo, así :-)

+1

Se ve bien, es más preciso que mi respuesta para Windows. +1 – VonC

2

I enmendé la versión por @MilesHampson ya que esto arrojó 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 estoy trabajando en C#. Entonces 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, la caída en su carpeta raíz del proyecto y ejecutarlo. Mostrará aquellos que no están en control de fuente.

2

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 ejecutar bajo Cygwin en Windows.

En Cygwin:

cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v -- "-->" 

La línea de Cygwin es similar a la de Unix dada por VonC, pero tenga en cuenta el doble guión en el último grep se necesita (y no es necesario el xargs).

0

Seguí todas las soluciones anteriores y es un gran comando. Tenía algunos más requisitos que no fueron cubiertos por encima de lo que he modificado guión poco más con puntos por debajo adicionales

  1. Excluidos archivo por lotes de la lista (archivo por lotes de otro modo actual también viene en la lista)
  2. Eliminado Directorio de la lista como generalmente estoy interesado en el expediente

  3. Especialmente para los desarrolladores de java, la carpeta de destino excluidos y archivos jar ya que no se comprueban generalmente en

  4. .classpath eliminado, .project y .settings carpeta que es específico para Eclipse (si son mismo nivel como de proyectos/modules)

    @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 
    
Cuestiones relacionadas