SVN ignore like.gitinore

SVN ignore like.gitinore,svn,svnignore,Svn,Svnignore,在中,如果我有一个项目,里面有很多项目,让我们假设,有很多Java项目,我可以在根目录中创建一个.gitignore文件,它将在整个存储库中“得到尊重” 如何为SVN项目执行此操作 例如,如何(通过cmd行)为.gitignore设置“svn ignore”,如下所示 *.class *.jar *.war *.ear target/ .classpath .settings/ .project .metadata bin/ 问题中最重要的部分是:如何使它在根目录中的新文件夹中工作?例如: 我

在中,如果我有一个项目,里面有很多项目,让我们假设,有很多Java项目,我可以在根目录中创建一个
.gitignore
文件,它将在整个存储库中“得到尊重”

如何为SVN项目执行此操作

例如,如何(通过cmd行)为
.gitignore
设置“svn ignore”,如下所示

*.class
*.jar
*.war
*.ear
target/
.classpath
.settings/
.project
.metadata
bin/
问题中最重要的部分是:如何使它在根目录中的新文件夹中工作?例如:

我运行了
svn propset svn:ignore“*.class”-R
在我的根目录中并提交。好:

root
- folder1/
-- *.class (ignored)
-- other files (ok)
- folder2/
-- *.class (ignored)
-- other files (ok)

现在,我创建文件夹3。以前的
svn:ignore
设置将不适用,对吗?有办法做到这一点吗?

您可以使用
svn:ignore
。您通常需要告诉SVN对文件应用特殊属性:

svn propset svn:ignore "*.jpg" .
(注意命令末尾的点。)

对于多个文件,可以添加换行符

键入与此处完全相同的换行符:

svn propset svn:ignore "file1
file2
file3" dir1
检查文件是否被忽略:

svn status --no-ignore
然后提交代码

是的,许多重复的问题已经存在

你可以参考我最喜欢的

您可以创建一个文件,
svn ignore.txt
,其中包含被忽略的文件和目录:

*.class
*.jar
*.war
*.ear
 target/
.classpath
.settings/
.project
.metadata
 bin/
现在,请尝试以下操作:

svn propset svn:ignore -RF /root/svn-ignore.txt . [dot for current dir]

-R
用于递归。

我用稍微不同的方法解决了这个问题。这只有在使用bashshell并安装了Perl的情况下才起作用,但这几乎适用于所有Mac和Linux机器

将以下内容添加到
.bashrc
.bash\u配置文件中
文件:

alias _ss="svn status | egrep -v '`cat .svnignore|perl -p -e 's/\n/|/'`'"
不要忘记重新启动终端或执行以下操作:

source ~/.bashrc
(or .bash_profile if that's what you used)
现在创建一个名为.svnignore的文件,并将其放在签出存储库的目录中

files/to/ignore
another/file
tmp
node_modules
现在当你跑的时候

_ss
在工作副本的根目录中,它将读取.svnignore文件并忽略其中的任何内容

我对.svnignore文件的版本设置与对.gitnogore文件的版本设置相同


注意:这只影响svn status命令,不会阻止您添加/提交忽略的文件。

这就是我模拟
.svnignore
所做的

svn
创建名为
~/bin/svn

#/bin/bash
案件“$1”
提交|状态|应用忽略)
如果测试-f.svnignore;然后
echo“Apply.svnignore:$(/usr/bin/svn propset svn:ignore-F.svnignore.)”
fi
;;
以撒
案件“$1”
应用(忽略);;
*)exec/usr/bin/svn“$@”;;
以撒
然后将
~/bin
添加到
/usr/bin
之前的路径中

PATH=~/bin:$PATH;导出路径

它在
commit
status
命令上应用
.svnignore
,也可以使用
svn apply ignore
手动应用可能重复的多层目录,例如
app/code/core
递归参数“-R”应处理来自备忘单的任何深度的目录:
编辑目录的忽略:$svn propedit svn:ignore your_dir_name
svn propset svn:ignore修改哪个文件?我需要知道,因为我想实际签入:1)这是否意味着需要在每次提交时设置忽略文件,或者只设置一次,这将从现在起应用于工作流?2) 如何撤销对文件的忽略?没有必要进行此类黑客攻击,因为有一种正确的方法可以做到这一点。@dimir也许你想用同样的方法使用git和svn。例如,GitHub还有一个svn网桥。