繁体   English   中英

svn忽略设置操作方法?

[英]svn ignore setting how-to?

我现在正在尝试将忽略文件列表设置为svn。 我确实尝试过这种方式。

svn propedit svn:ignore .
.project
.cproject
tags
cscope.files
cscope.out
SICR2000_CPU_Ver0.04.25.tgz

通过这些设置,我的svn状态打印出如下所示。

svn status
M      .
M       .cproject
~       tags
M       .project

看,我的忽略设置中的前3个文件不会被忽略!

.project
.cproject
tags

我想知道为什么在我svn状态时不会忽略这三个文件。 如何设置这三个文件被忽略?

Journeyer

您不能忽略存储库中已存在的文件。

忽略主要用于创建不希望意外放入存储库的文件。 例如,在C中,您可以从*.c或Java中创建*.o文件,从*.java创建*.class文件。 如果我将工作目录设置为忽略这些文件,则版本控制系统将不会报告它们。

想象一下这个设置:

$ svn st
M  foo.txt
M  bar.txt
?  ignore.me

报告文件ignore.me 现在,我将忽略它:

$ svn ps svn:ignore 'ignore.me' .
$ svn st
 M .
M  foo.txt
M  bar.txt

请注意,当我获取状态时, ignore.me不再显示。 但是,我可以添加它:

$ svn add ignore.me
 M .
M  foo.txt
M  bar.txt
A  ignore.me

请注意,它显示在我的状态报告中。 那是因为它现在是存储库的一部分(或者一旦我做了提交)。 我们使用Java,所有构建的东西都在一个名为target的目录下。 我们还有一个build.properties文件,开发人员可以设置它来改变构建的工作方式。 但是,这是一个基于每个开发人员使用的文件,不应该检入我们的存储库。

因此,我将build.propertiestarget添加到我的svn:ignore 有时我会从项目中删除.project.classpath ,然后ignore它们。 这些是应该基于每个开发人员设置的Eclipse文件。

如果您需要阻止人们检查特定文件的更改,甚至添加特定文件(这不仅是忽略,而是阻止任何人有意添加文件),您需要预先提交挂钩 这有助于强制执行您的设置并阻止用户进行不应进行的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM