Ker*_* SB 46 svn version-control
如何使用svn命令行工具从SVN结帐中删除所有未跟踪的文件?为此目的Git和Hg提供clean和purge命令,但我在SVN中找不到相应的命令.
我不在乎是否必须在此过程中恢复所有本地修改(在这种情况下,我基本上希望将我的结帐恢复到原始状态)或者对跟踪文件的本地修改是否可以保持不变; 两种情况都可以接受.
Oli*_*rth 63
可能有内置方式,但如果是这样,我不知道.但是,像下面这样的事情应该做的工作:
svn st | grep '^?' | awk '{print $2}' | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)
(所有未版本控制的文件都应出现?在以svn st.开头的行中.)
编辑(@GearoidMurphy) 让这个片段在cygwin环境中工作很有挑战性,因为xargs将windows路径斜杠视为转义序列并且无法解析'\ r \n'行结尾,下面是我完全适应的解决方案有效答案:
svn st | grep '^?' | gawk '{printf(\"%s|\", $2)}' | xargs -d "|" -n1 C:\cygwin\bin\rm -r
Run Code Online (Sandbox Code Playgroud)
Jul*_*lio 23
从版本1.9开始,您可以使用以下内容:
svn cleanup . --remove-unversioned
Run Code Online (Sandbox Code Playgroud)
请参阅https://subversion.apache.org/docs/release-notes/1.9.html#svn-cleanup-options
| 归档时间: |
|
| 查看次数: |
23970 次 |
| 最近记录: |