我正在尝试将一个Linux内核添加到一个SVN树,它有一个.git子目录 - 我不想添加它.
任何人都可以解释这种行为 - 为什么它不会忽略.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
Run Code Online (Sandbox Code Playgroud)
Gre*_*ill 17
svn:ignore目录上的属性列出了当前目录中将被忽略的名称.您已将svn:ignore当前目录的属性设置为.git,但这不适用于子目录a.你可以做的是首先a非递归添加:
svn add -N a
svn ci -m "add a directory"
Run Code Online (Sandbox Code Playgroud)
然后设置svn:ignore属性:
svn propset svn:ignore .git a
Run Code Online (Sandbox Code Playgroud)
然后添加你的树:
svn add a
Run Code Online (Sandbox Code Playgroud)
这应该忽略该a/.git目录.
该svn:ignore属性用于忽略已添加目录中的文件.
为了避免导入文件(或目录),您应该使用global-ignores -feature,它可以在[miscellany]部分的文件~/.svn/config(UNIX)或%APPDATA%\Subversion\config(Windows)中配置.
通过删除#前面的行来激活它:
global-ignores = .git
Run Code Online (Sandbox Code Playgroud)