从svn仓库中删除所有文件

6

这可能是一个非常简单的问题,但我还没有找到如何删除外部SVN存储库中当前存在的所有文件。

我只能使用以下命令删除一个文件:

svn delete -m "delete README" http://myrepo.com/svn/myrepo/README

但是现在我想把它们全部删除。我考虑过编写一个脚本来获取存储库中所有文件的列表,然后逐个删除它们,但这很繁琐。您知道更简单的解决方案吗?

我还尝试过:

svn rm http://myrepo.com/svn/myrepo
svn delete http://myrepo.com/svn/myrepo/*

但是没有任何内容
谢谢

可能重复:https://dev59.com/pHVC5IYBdhLWcg3wihmv - Gavin Miller
对我来说它不起作用,因为我无法删除整个存储库。我只对其内容感兴趣,想要删除那里的所有文件。 - Open the way
3个回答

27
你可以进行浅克隆,然后删除所有文件。
例如:
svn checkout --depth immediates http://myrepo.com/svn/myrepo myworking_copy
cd myworking_copy
svn rm *
svn ci -m "Deleting all"

1
嗨,这个解决方案看起来非常简单和好。我尝试了它,但是出现了错误,然后更新了最新版本的SVN。然后它识别了--depth选项,但我仍然收到了这个错误: http://subversion.tigris.org/faq.html#unrecognized-url-error所以似乎我的SVN安装不太好。由于时间不够,我尝试了TortoiseSVN(可悲的只能在win$上使用),浏览了存储库并删除了所有文件 :)无论如何,我稍后会解决svn的安装谢谢 - Open the way
这个问题可能对于删除包含所有文件的 repo 目录会有帮助。https://dev59.com/Dmox5IYBdhLWcg3wQSSp - Srinath Sridhar

1
你可以使用 svn rm 删除仓库中的子路径,但不能删除仓库本身。未来,一个 trunk / branches / tags 的结构可能更适合您。
使用一些 bash/zsh 魔法删除它们:
REPO=http://myrepo.com/svn/myrepo && svn rm `svn ls $REPO | sed "s/^/$REPO\//"`

这将会扩展为

svn rm http://myrepo.com/svn/myrepo/file_1 http://myrepo.com/svn/myrepo/file_2 ...

0

你没有说明你使用的平台。

如果你在Windows上并且已经安装了TortoiseSVN,你可以使用资源管理器搜索文件夹层次结构中的所有文件,标记所有结果文件,并使用Tortoise删除它们。

如果你在某个Unix衍生版本上(包括OSX),你可能可以在你喜欢的shell中执行类似的操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接