2009-08-19 4 views
6

Subversionの* .xmlファイルに割り当てる正しい/最も良いプロパティは何ですか?* .xmlファイルのSubversionプロパティはどのようにする必要がありますか?

私は特にプロパティsvn:mime-typesvn:needs-lockに興味があります。

私は2つの答えがあると思いますが、どちらを選択するかはわかりません。最初の1つは、XMLファイルをテキストファイルとして扱い、Subversionがそれらのテキストマージを管理できるようにすることです。このため、私はsvn:mime-type=text/xmlを使用し、を使用しません。svn:needs-lockを使用します。

XMLファイルをバイナリファイルと見なして、Subversionが自動マージを実行したり、ロックビフォー・エディット・ビヘイビアを要求したりすることはありません。このため、svn:mime-type=application/xmlを使用し、svn:needs-lockと設定します。

XMLをテキストエディタで直接編集するようなXMLの場合、XMLをテキストとして扱うことは大丈夫だと思います。ユーザーは最終的なマージの競合を手作業で解決できるからです。ただし、ツールで生成されたXMLファイルは手作業で簡単に編集することはできないため、(本質的に)バイナリファイルの競合を解決する必要があるため、Subversionによって自動的にマージされるべきではありません。

私はXMLファイルを控えめに扱っています。しかし、私はいつもこれを、開発者に説明する必要があります。これは、以前はロックを取得する必要がなく、XMLファイルを直接編集できる方が好きです。

私は他の人がこれについてどう思っているのか、ツールがXMLファイルを生成したかどうかについて本当に危険があるかどうかを知りたいと思います。

POSTの明確化:私は上記の質問は十分に明確ではないことに気づいた最初の3つの応答を読んだ後

サブバージョン構成ファイル(~/.subversion/config)の[auto-props]セクションにある*.xmlファイルには、どのようなプロパティを設定する必要がありますか。

問題は、設定が1つしかないことです。ですから、私は控えめで、すべてのXMLファイルをバイナリとして扱うべきですか、XMLファイルを手作業で編集し、デフォルトですべてのXMLファイルをテキストとして扱うようにしてください。

+0

あなたの質問に答えるような回答があるので、投票数の下にあるチェックマークをクリックすると、そのうちの1つを「受け入れられた」とマークすることを検討してください([回答をどう受け取りますか? /meta.tex.stackexchange.com/q/1852))。これはどの回答が最も役立ったかを示し、評判のポイントを回答の作成者(およびあなた!)に割り当てます。それは[アップホーツと回答の受け入れによって良い質問と回答を識別するこのサイトのアイデア](http://tex.stackexchange.com/about)の一部です。 –

答えて

3

XMLが生成された場合は、最初にSubversionに含まれている理由を尋ねる必要があります。私はこの1つの開発者ですが、明らかな解決策がある場合は、 は、生成されたファイルをバージョン管理する必要があります.xml以外の拡張機能を提供することです。

+0

良い点。バージョン管理された "生成されたXML"の例として、私はFODT、DIA、XMIファイルなどを考えていました。しかし、これらは異なる拡張を持ち、何の問題も生じません。しかし、拡張子が.xmlのXMLファイルを生成するいくつかのツールがあるかもしれません。 しかし、私は実際には何も知らない... – Gnustavo

0

XMLが人間が判読可能であり、よく理解されている場合は、他のテキストと同様に扱うことに害はありません。マシンが読めるだけであれば、開発者がよく理解しているものでなければ、バイナリデータとして扱う必要があります。あなたの理解のレベルとそれを手動で操作する能力は同じになります。

7

Subversionリポジトリでtext/xmlとapplication/xmlの両方を使用しています。手で編集されたXMLは人間が読めるので、テキストとして扱うことができます。これはMavenのPOMファイルのようなもの、とのbuild.xmlファイル、DocBook形式のファイル、いくつかのツールのための複雑なファイル形式のXMLについては

svn:eol-style=native 
svn:mime-type="text/xml; charset=utf-8" /* so apache sends the right encoding */ 

XHTML文書などが含まれ、我々はバイナリとして扱います。これの例は*です。fodt(フラットODT)、OmniGraffleファイル、XMI(UMLモデル)などが含まれる。このようなファイルをマージするために、ユーザーは合理的にepxectedすることはできません。そして、ささいな変更のための差分は、しばしば大きくて乱雑です。

svn:mime-type="application/xml" 
svn:needs-lock="*" 

この区別をうまく果たしてくれました。

+0

良い点。私はあなたの答えを読んだ後に私の質問を編集しました。 私は 'charset = utf-8'のヒントも好きでした。 – Gnustavo

関連する問題