2

LinuxとWindowsの両方で動作する必要があるデスクトップアプリを作成しています。Windowsでは、機能を実装するためにJNIを使​​用する必要があるためです。しかし、それは問題ではありません。Eclipse IDEのWindowsとLinuxのインストールがあり、Subversiveを使用してリポジトリにコミットしています。Windowsのコミット後、Linuxの実装を実装するためにLinuxの作業を開始しましたが、競合が発生しています。

.classpath[作業中]

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="lib/sqlitejdbc-v056.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

.classpath[リポジトリ]

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="lib/sqlitejdbc-v056.jar">
        <attributes>
            <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="QuickBackup/bin"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="output" path="bin"/>
</classpath>

ご覧のとおり、競合は<attribute>...</attribute>jvmにjniで使用するdllモジュールがどこにあるかを指示するために使用される部分にあります。なんで?Subversiveは、動作中のバージョンを更新するだけではありませんか?

4

2 に答える 2

2

性質の異なる2つの問題があります。まず、rev 156で作業コピーからファイルを変更するとsvnの競合が発生しますが、その間に他の誰かの作業コピーからのこのファイルはrev 157にコミットされました。ファイルを更新すると、次の2つのシナリオが発生する可能性があります。

  • マージ済み(G):あなたとあなたの同僚がファイルで作業していたが、別の場所で作業していたことを意味します。したがって、「diff」ユーティリティはファイルをマージしても問題ないと見なします。
  • 競合(C):'diff'ユーティリティは、あなたとあなたの同僚の変更の両方に互換性がないと判断したため、作業コピー(のみ)の違いを解決する必要があります

2番目の問題は、展開に依存しないini(またはconf)ファイルです。つまり、このファイルは、コードがデプロイされているマシンごとに異なる必要があります。この場合(そして私はこれがあなたの場合だと思います)、svn:ignoreプロパティをその上に置く必要があり、このファイルを作成し、すべてのデプロイメントにその詳細を置くことを忘れないでください。

http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3

于 2010-11-13T18:12:29.060 に答える
0

バージョン管理システムが、変更をどう処理するかを理解できない場合があります。それは多くの理由で私になり得ました。しかし、このようにリポジトリ内の変更をマージする方法を決定することは、非常に簡単なことではありません。

于 2010-11-13T18:07:21.760 に答える