¿Por qué este es un conflicto SVN para Subversivo?

Estoy escribiendo una aplicación de escritorio que debe funcionar tanto en Linux como en Windows porque en Windows necesito usar JNI para implementar una funcionalidad. Pero ese no es el problema. Tengo una installation de Windows y Linux del Eclipse IDE y utilizo Subversive para comprometerme con mi repository. Después de un compromiso de Windows comencé a trabajar en Linux para implementar la implementación de Linux pero me encontré con un conflicto:

.classpath [Trabajo]

<?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 [Repositorio]

 <?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> 

Como puede ver, el conflicto está en la parte <attribute>...</attribute> que se usa para indicarle a jvm dónde está mi module dll para usar con jni. ¿Por qué? ¿Coundn't Subversive simplemente actualiza la versión de trabajo?

Tienes 2 problemas con diferente naturaleza. En primer lugar, el conflicto svn surge si modifica el file de la copy de trabajo con la revolución 156, pero mientras tanto este file de la copy de trabajo de otra persona se confirmó en la versión 157. Cuando actualiza su file, pueden ocurrir dos escenarios:

  • fusionada (G): significa que usted y su colega estaban trabajando en el file pero en lugares diferentes, por lo que la utilidad 'diff' cree que está bien fusionarlo.
  • conflicto (C): la utilidad 'diff' determinó que tanto el suyo como los cambios de su colega eran incompatibles, por lo que deberá resolver las diferencias en (solo) su copy de trabajo.

El segundo problema son los files ini (o conf) que no son independientes del deployment. Lo que quiero decir es que este file debe ser diferente en cada máquina donde se implementa el código. En este caso (y creo que este es tu caso) necesitarás poner svn: ignore property en él, y restring crear este file y poner sus detalles en cada implementación.

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

A veces, los sistemas de control de versiones simplemente no pueden descifrar qué hacer con los cambios. Podría ser por cualquier cantidad de razones. Pero determinar cómo fusionar los cambios en un repository como este no es algo trivial.