如何列出svn中的无版本目录?

时间:2015-04-09 16:53:11

标签: linux unix svn

我的Linux上的本地副本中有一些未版本控制的目录。 svn状态不会列出未版本控制的目录。命令svn status| grep ^?仅列出版本化目录中的未版本控制文件。列出无版本目录及其中文件的命令是什么?

1 个答案:

答案 0 :(得分:1)

想法

svn add命令将添加未版本控制的文件和文件夹,并列出它们。我们确实希望列出它们,但我们不想添加它们。因此,我们可以在此之后运行svn rm --keep-local以恢复添加(以及避免丢弃本地修改)。

详细

执行命令

svn add * --force

将列出工作副本中的所有未版本化对象(包括具有svn:ignore属性的对象)。但是,这也标志着添加所有这些对象。

为什么--force选项需要described in SVN book

  

通常,命令svn add *将跳过任何目录   已经受版本控制。但是,有时您可能想要   在工作副本中添加每个未版本化的对象,包括那些   隐藏得更深。传递--force选项使svn添加recurse   版本化目录

然后,只需恢复这些添加并保留本地修改(注意尾随点):

svn rm --keep-local .

为什么--keep-local选项需要described in SVN book

  

使用--keep-local选项覆盖默认的svn delete   同时删除计划安排的目标文件的行为   版本删除。当你意识到自己这一点时,这很有用   意外地提交了一个你需要保留的文件   你的工作副本周围,但不应该添加   版本控制。

这显然有删除所有添加内容的副作用,包括那些有意添加的内容。

在此之后,您应该拥有一个未受版本控制的文件和文件夹列表,其中包含未经修改的本地副本。