我想删除工作副本中svn存储库中未知的所有文件.
实际上好像我只是做了一个干净的结账,但我不想重新下载所有文件.
最接近我认为是......
rm -rf `svn st | grep "^?" | cut -d" " -f8`
Run Code Online (Sandbox Code Playgroud)
但这看起来很笨重,我并不完全信任它,因为输出的不一致可以消除svn之外的dirs.
"svn export"不是我想要的,因为我没有清理源代码来打包它,我只想删除cruft(*.pyc,*.orig,*.rej,svn-commit.tmp,*.SWP).
除了打扫干净外,还有更好的方法吗?
小智 20
此处发布的大多数解决方案都无法处理带有空格的文件夹.这就是我们使用这个的原因:
svn status --no-ignore | grep '^[?I]' | sed "s/^[?I] //" | xargs -I{} rm -rf "{}"
Run Code Online (Sandbox Code Playgroud)
http://www.cuberick.com/2008/11/clean-up-your-subversion-working-copy.html
当我希望我的工作副本与回购相同时,我就会这样做:
svn st | awk '{print $2}' | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)
这将删除与存储库不同步的所有文件.然后只需更新即可恢复您删除的内容并获取最新信息.
svn up
Run Code Online (Sandbox Code Playgroud)
...确保您没有编辑或添加!更安全的命令可能是:
svn st | grep '?' | awk '{print $2}' |xargs rm -f
Run Code Online (Sandbox Code Playgroud)
......被忽略的文件怎么样?例如
svn st --no-ignore
svn st --no-ignore | awk '{print $2}' | xargs rm -rf
svn st --no-ignore | grep '?' | awk '{print $2}' |xargs rm -f
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9814 次 |
| 最近记录: |