*.xml文件的Subversion属性应该是什么?
在Subversion中为*.xml文件指定的正确/最佳属性是什么 我对属性*.xml文件的Subversion属性应该是什么?,xml,svn,mime-types,Xml,Svn,Mime Types,在Subversion中为*.xml文件指定的正确/最佳属性是什么 我对属性svn:mime-type和svn:needs-lock特别感兴趣 我认为有两个答案,但我不确定该选择哪一个。第一种是将XML文件视为文本文件,让Suffic管理文本合并。为此,我将使用svn:mime type=text/xml,而不使用svn:needs lock 第二种方法是将XML文件视为二进制文件,防止在执行编辑行为之前进行自动合并并坚持锁定。为此,我将使用svn:mime type=application/x
svn:mime-type
和svn:needs-lock
特别感兴趣
我认为有两个答案,但我不确定该选择哪一个。第一种是将XML文件视为文本文件,让Suffic管理文本合并。为此,我将使用svn:mime type=text/xml
,而不使用svn:needs lock
第二种方法是将XML文件视为二进制文件,防止在执行编辑行为之前进行自动合并并坚持锁定。为此,我将使用
svn:mime type=application/xml
,并设置svn:needs lock
我认为,如果XML是直接在文本编辑器中编辑的XML文件,那么将其视为文本是可以的,因为用户可以手动解决任何最终的合并冲突。但是,工具生成的XML文件无法手动编辑,因此不应通过Subversion自动合并,以免用户陷入必须解决(基本上)二进制文件中冲突的情况
出于保守,我将XML文件视为二进制文件。但我总是要向那些更希望能够直接编辑一些XML文件的开发人员解释这一点,而不需要事先获得锁
我想知道其他人对此有何看法,以及工具生成的XML文件是否真的存在危险
澄清后:
读完前三个答案后,我意识到上面的问题不够清楚
我的疑问是应该为Subversion配置文件(~/.Subversion/config
)的[auto props]
部分中的*.xml
文件配置哪些属性
问题是只能有一种配置。那么,我应该保守一点,将所有XML文件都视为二进制文件,还是应该让手工编辑XML文件的用户满意,并在默认情况下将所有XML文件视为文本?如果生成了XML,您首先必须问为什么它处于Subversion状态。在这一点上,我和开发人员是一致的,但如果您愿意,这是一个显而易见的解决方案
必须对生成的文件进行版本控制,以便为它们提供除.xml以外的扩展名。如果xml是人类可读的且易于理解的,那么将其视为任何其他文本都没有坏处。如果它只是机器可读的,或者不是开发人员非常了解的东西,那么必须将其视为二进制数据;您的理解水平和手动操作能力将是相同的。我们在Subversion存储库中同时使用text/xml和application/xml。手工编辑的XML,人类可读,因此可以有效地合并,我们将其视为文本。这包括maven pom文件、build.xml文件、docbook文件、xhtml文档等
svn:eol-style=native
svn:mime-type="text/xml; charset=utf-8" /* so apache sends the right encoding */
对于某些工具的复杂文件格式XML,我们将其视为二进制文件。例如*.fodt(平面ODT)、OmniGraffle文件、XMI(UML模型)等。用户无法合理地执行合并这样一个文件的操作,事实上,即使是微不足道的更改,其差异也往往是巨大而混乱的
svn:mime-type="application/xml"
svn:needs-lock="*"
做出这样的区分对我们很有好处。说得好。作为版本控制有意义的“生成的XML”示例,我想到了FODT、DIA和XMI文件。然而,这些都有不同的扩展,不会带来任何问题。不过,我担心可能会有一些工具生成扩展名为
.XML
的XML文件。但我真的不知道有什么好的观点。读完你的答案后,我编辑了我的问题。我喜欢<代码>字符集UTF-8 Tip。由于下面有一些回答似乎回答了你的问题,请考虑点击其中一个为“接受”,点击他们的投票计数下的TigkMax(见)。这显示了哪个答案对你帮助最大,并为答案的作者(和你!)分配了声誉点数。这是我的一部分。