1

当我们迁移到 SVN 时,我们只是在 subversion 的文件夹中包含任何东西。我想排除文件夹中的所有日志文件。

我在 Ubuntu 上。

thinkcode@myserver:~/Project1/Log/*.txt

所有的 .txt 文件都在 subversion 上,并且这些日志文件每天都会创建。我想从颠覆中删除它们,但将它们保留在我的日志文件夹中。

svn propedit svn:ignore ./some_path似乎没有奏效。新的 *.txt 文件仍显示为“?” 当做一个svn status。我在一个新文件夹上试了一下,我得到了svn: 'c.txt' is not under version control

任何线索都非常感谢!

4

3 回答 3

3

首先,您在 Subversion 中是什么意思?

让我们澄清一下:

  • Subversion 有一个存储所有文件和版本的地方。这是存储库。您永远不会看到存储库的实际目录结构,并且您可能在那里没有读/写访问权限。

  • 您将文件从存储库签出到本地工作目录工作目录反映了存储在您的 Subversion 存储库中的各种文件和目录的特定版本。但是,您可以访问它们。如果您对其中一个进行更改并提交它们,那么您已经更新了存储库。


好的,既然我们已经弄清楚了,我将假设您正在谈论的文件位于您的本地目录中,但不在源存储库中。那是对的吗?

在这种情况下,svn:ignore应该位于日志文件所在的目录中,并且应该具有值“*.txt”。你可以这样做:

$svn propset svn:ignore "*.txt" .

请注意*.txt周围使用引号。在这种情况下,它们是必需的。这将防止该目录中的新文件在您执行svn status. 如果您只是说,它们也不会被添加svn add

$ svn add

但是,如果文件已经在存储库中,则该svn:ignore属性将不执行任何操作。如果您想从存储库中删除文件,但将它们保留在本地磁盘上,您可以执行以下操作:

$ svn delete --keep-local (files to delete)
于 2011-07-06T20:44:57.243 回答
1

svn 状态 '?' 表示项目不受源代码控制。svn status 将列出当前目录下的所有文件,这些文件受源代码控制并已被修改或任何不受源代码控制的文件。

因此,如果它仍然在您的本地目录中,您似乎已经实现了您想要的。

于 2011-07-06T20:19:10.013 回答
0

它需要两个操作,删除和忽略。首先将所有文件标记为删除。然后提交。之后应用忽略,并确保递归应用它。

于 2011-07-06T20:20:06.297 回答