11

我正在尝试将 Linux 内核添加到具有 .git 子目录的 SVN 树中 - 我不想添加它。

谁能解释这种行为 - 为什么它不忽略 .git 目录?

test2$ mkdir -p a/.git/blah
test2$ ls
a
test2$ svn propset svn:ignore .git .
property 'svn:ignore' set on '.'
test2$ svn propset -R svn:ignore .git .
property 'svn:ignore' set (recursively) on '.'
test2$ svn add a
A         a
A         a/.git
A         a/.git/blah
4

3 回答 3

17

目录的svn:ignore属性列出了当前目录中将被忽略的名称。您已将svn:ignore当前目录的属性设置为.git,但这不适用于子目录a。您可以做的是首先a以非递归方式添加:

svn add -N a
svn ci -m "add a directory"

然后设置svn:ignore属性:

svn propset svn:ignore .git a

然后添加你的树:

svn add a

这应该忽略a/.git目录。

于 2009-09-21T02:48:49.817 回答
7

第一个在 的目录上svn propset设置svn:ignore属性。a

第二个svn propset什么都不做,因为a它还没有在 SVN 管理下。

于 2009-09-21T01:46:34.683 回答
5

svn:ignore属性用于忽略已添加目录中的文件。

为了避免导入文件(或目录),您应该使用global-ignores -功能,该功能可在文件~/.svn/config(UNIX) 或%APPDATA%\Subversion\config(Windows) 的[miscellany]部分中进行配置。

通过删除#前面的行来激活它:

global-ignores = .git
于 2009-09-21T17:52:09.687 回答