什么是clearcase命令以递归方式查找当前目录中的所有视图私有文件?
答案 0 :(得分:32)
通常的命令基于cleartool ls
:
ct lsprivate
:但它仅适用于动态视图,而不适用于快照视图ct ls -rec -view_only
:至少,它适用于快照和动态视图然而,两个列表也您的签出文件。
如果您只想要私有文件,即跳过被劫持/重叠/签出和符号链接,则需要对其进行过滤。
在Windows中,那将是:
for /F "usebackq delims=" %i in (`cleartool ls -rec ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%i"
在Unix中:
cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v "-->" | xargs echo
答案 1 :(得分:5)
如果它帮助其他人在这里阅读这个问题是VonC的Windows解决方案,只需要进行一些小的更改即可作为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"
将@echo
替换为rmdir /S /Q
和del /F
以执行here所述的实际删除操作。所以最后的脚本是:
@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"
如果您在要清理的视图的元素下保存为.bat文件,脚本将通过删除自身进行清理: - )
答案 2 :(得分:3)
我修改了@MilesHampson的版本,因为这为我返回了太多结果,我希望将其作为批处理文件运行。
我的新文件不在debug
或obj
文件夹中,因此,我不需要查看这些文件夹的任何结果......我也只是在处理C#。所以我需要看到的一切。
@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
使用上述文件创建一个bat文件,将其放入根项目文件夹并运行它。它将显示那些不在源代码管理中的内容。
答案 3 :(得分:3)
如果它帮助其他人阅读这个问题,这里是VonC的Unix解决方案,在Windows上的Cygwin下运行一些小的改动。
在Cygwin:
cleartool ls -rec | grep -v "Rule:" | grep -v "hijacked" | grep -v "eclipsed" | grep -v -- "-->"
Cygwin系列类似于VonC提供的Unix,但请注意最后一个grep上需要双击(并且不需要xargs)。
答案 4 :(得分:1)
ct lsprivate -other
还会过滤掉签出的文件
ct lsprivate -co
:列出所有签出文件
ct lsprivate -do
:列出所有派生对象文件
ct lsprivate -other
:列出所有其他私人文件
答案 5 :(得分:0)
我遵循了上述所有解决方案,这是很棒的命令。我有一些上面没有涉及的更多要求所以我用以下附加点修改了脚本
从列表中删除目录,因为我对文件感兴趣
特别针对java开发人员,排除目标文件夹和jar文件 因为它们通常不会被检查
删除.classpath,.project 和.settings特定于Eclipse的文件夹(如果它们是相同的 作为项目/模块的水平)
framework:
session:
cookie_lifetime: 3600