我很难理解svn:ignore属性。如果有人可以帮助我,那就太好了。
我从svn存储库中检出了一个grails web应用程序,该存储库具有应用于* .log文件和/ target文件夹的svn:ignore属性。显然,当我检出* .log文件时,/ target文件夹丢失了。在我的本地工作副本上处理此grails应用程序后,将创建/ target目录和* .log文件。现在,当我将更改提交到svn repo时,/ target文件和* .log文件是否也会被提交?或者它们会被自动忽略,因为在grails应用程序的svn副本上已经存在svn:ignore属性?
希望我已经说清楚了。
感谢您提供的任何帮助。
答案 0 :(得分:3)
svn:ignore属性包含一定的文件模式列表 Subversion操作将忽略。也许是最常用的 特殊属性,它与全局忽略一起使用 运行时配置选项(参见“Config”一节)来 从命令svn status中过滤未版本控制的文件和目录, svn add,和svn import。
很容易解释svn:ignore属性背后的基本原理。 Subversion不假设一个文件中的每个文件或子目录 工作副本目录用于版本控制。资源必须 使用svn add明确地放在Subversion的管理下 或svn import命令。因此,通常有很多资源 一个没有版本化的工作副本。
现在,svn status命令显示为每个输出的一部分 尚未编译的工作副本中的无版本文件或子目录 通过global-ignores选项(或其内置默认值)过滤掉 值)。这样做是为了让用户可以看到他们是否可能 忘记将资源添加到版本控制。
但是Subversion不可能猜出每个资源的名称 应该被忽略。此外,经常有一些事情应该是 在特定存储库的每个工作副本中都被忽略。强迫 该存储库的每个用户都要为这些资源添加模式 他们的运行时配置区域不仅仅是一个负担,而且还有 可能与其他工作的配置需求冲突 用户已签出的副本。
解决方案是存储对其唯一的忽略模式 资源可能出现在目录的给定目录中 本身。基本上是无版本资源的常见示例 目录唯一但可能出现在那里,包括来自的输出 节目汇编。或者 - 使用更适合此的示例 book - 作为结果生成的HTML,PDF或PostScript文件 将一些源DocBook XML文件转换为更清晰的输出 格式。
<强>参考:强>
答案 1 :(得分:1)
svn:ignore属性包含某些Subversion操作将忽略的文件模式或目录名称列表。如果将更改提交到svn repo,则不会提交/ target文件和* .log文件,并且由于grails应用程序的svn副本上已存在的svn:ignore属性,它们会自动被忽略。