我正在编写一个必须在Linux和Windows上运行的桌面应用程序,因为在Windows上我需要使用JNI来实现功能。但那不是问题。 我有一个Windows和Linux安装的Eclipse IDE,我使用Subversive来提交我的存储库。 在Windows提交之后,我开始使用Linux来实现linux实现,但我发现自己存在冲突:
.classpath [Working]
<?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我的dll模块与jni一起使用的位置。为什么? Cound not Subversive只是更新工作版本?
答案 0 :(得分:2)
你有2个不同性质的问题。首先,如果您使用rev 156修改工作副本中的文件,则会出现svn冲突,但同时此文件来自其他人的工作副本已提交到rev 157.当您更新文件时,可能会出现两种情况:
第二个问题是与部署无关的ini(或conf)文件。我的意思是,在部署代码的每台机器上,此文件应该不同。在这种情况下(我认为这是你的情况)你需要在其上放置svn:ignore属性,并记住创建这个文件并将其细节放在每个部署上。
http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3
答案 1 :(得分:0)
有时版本控制系统无法弄清楚如何处理更改。我可以出于各种原因。但是,确定如何合并这样的存储库中的更改并非易事。