Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
*.xml文件的Subversion属性应该是什么?_Xml_Svn_Mime Types - Fatal编程技术网

*.xml文件的Subversion属性应该是什么?

*.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

在Subversion中为*.xml文件指定的正确/最佳属性是什么

我对属性
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(见)。这显示了哪个答案对你帮助最大,并为答案的作者(和你!)分配了声誉点数。这是我的一部分。