Почему это конфликт SVN для Subversive? - PullRequest
2 голосов
/ 13 ноября 2010

Я пишу настольное приложение, которое должно работать как в 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 [Repository]

<?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.Зачем?Не может ли Subversive обновить рабочую версию?

Ответы [ 2 ]

2 голосов
/ 13 ноября 2010

У вас 2 проблемы разной природы. Во-первых, возникает конфликт svn, если вы изменяете файл из рабочей копии с версией 156, но в то же время этот файл из чужой рабочей копии был передан в редакцию 157. При обновлении файла могут возникнуть два сценария:

  • объединено (G): означает, что вы и ваш коллега работали над файлом, но в разных местах, поэтому утилита 'diff' считает, что слить его можно.
  • конфликт (C): утилита 'diff' определила, что изменения как у вас, так и у вашего коллеги были несовместимыми, поэтому вам необходимо устранить различия только на (только) вашей рабочей копии

Вторая проблема - это ini (или conf) файлы, которые не зависят от развертывания. Я имею в виду, что этот файл должен отличаться на каждой машине, на которой развернут код. В этом случае (и я думаю, что это ваш случай) вам нужно установить для него свойство svn: ignore и не забудьте создать этот файл и указать его специфику при каждом развертывании.

http://svnbook.red -bean.com / ен / 1.1 / ch07s02.html # СВН-CH-7-раздел-2.3.3

0 голосов
/ 13 ноября 2010

Иногда системы контроля версий просто не могут понять, что делать с изменениями. Это может меня по ряду причин. Но определить, как объединить изменения в репозитории, как это, очень не просто.

...