Безопасно ли передавать рабочую копию Subversion между ОС? - PullRequest
5 голосов
/ 30 июня 2009

В прошлом я слышал, что разделять рабочую копию Subversion между ОС небезопасно.

например:.

  1. скопируйте рабочую копию с компьютера с Windows на компьютер с Linux и используйте на нем сборку SVN для Linux.
  2. На компьютере с Windows доступ / манипулирование рабочей копией SVN осуществляется с помощью двоичных файлов Windows и CygWin двоичных файлов SVN. (Я мог бы хотеть сделать это, чтобы использовать это решение например).

Но я точно не слышал, может ли это привести к повреждению данных .svn. Это правда, что проблемы с EOL могут быть проблемой, если svn: eol-style установлен в native .

Каков текущий статус этой проблемы? Изменилось ли это в более поздних выпусках SVN? Безопасно ли это при условии соблюдения определенных мер предосторожности (например, не проверять / не обновлять файлы с svn: eol-style = native на обеих платформах)?

Ответы [ 5 ]

5 голосов
/ 30 июня 2009

Я использовал SVN в общей сетевой директории между Unix, Linux, Solaris и Windows; К счастью, единственная проблема, с которой я столкнулся, заключается в том, что различные версии svn-клиентов «несовместимы». Машины Linux и Unix были оснащены версией SVN, более старой, чем Solaris SVN; который был в свою очередь старше, чем клиент Windows. В результате при запуске svn up файлы метаданных обновляются до того, какой клиент работает; и клиент не будет обращаться к файлам с более новой версией метаданных. Конечным конечным результатом является то, что клиенты SVN должны быть сохранены с тем же номером версии.

Итак, да, я смог перемещать рабочий каталог между машинами с минимальными потерями. Тем не менее, я никогда не использовал никаких опций svn, кроме того, что было по умолчанию.

1 голос
/ 04 декабря 2009

Помимо других ответов (поскольку они, кажется, предполагают, что это выполнимо), я могу категорически сообщить, что делимся рабочей копией (в нашем случае через общий ресурс Samba), где у нас используется «svn: eol-style native» сотворил проблемы для нас, и мы стараемся их избежать.

Если бы нам нужно было скопировать рабочую папку между компьютерами (более ограниченная форма совместного использования, предположительно, как разовая операция), мы могли бы ожидать, что нужно будет выполнить преобразование CRLFTOLF для всех файлов стиля svn: eol и фактически мы сделали это в прошлом, написав утилиту для обхода дерева, изучив свойства svn и преобразовав файлы по мере необходимости (все в Python).

Итак, для протокола, я определенно скажу, что это является проблемой.

1 голос
/ 30 июня 2009

Как упомянул CoderTao, использование разных версий svn (клиента) в рабочей копии может привести к автоматическому обновлению формата WC, поэтому во избежание этого придерживайтесь единого семейства версий.

В дополнение к вашему основному вопросу, я вижу, что вы работаете с репозиторием SVN через медленное соединение. Возможно, вы захотите взглянуть на распределенные системы управления источниками, которые предназначены для такого рода вещей.

Например, Bazaar (bazaar-vcs.org) имеет плагин bzr-svn, который позволит вам создать локальную ветку удаленного репозитория SVN. После этого у вас будет быстрое локальное отделение, которое вы можете проверить в нескольких местах, работать локально, diff, просматривать историю и т. Д. Вы можете фиксировать локально и синхронизировать отдельные филиалы (Япония) без медленных фиксаций в Австралию. Когда все хорошо, вы отправляете свои изменения обратно в SVN. На вики Bazaar есть множество примеров документации по рабочим процессам, если вам интересно. :)

1 голос
/ 30 июня 2009

По моему опыту, это работает.

Иногда возникают проблемы с чувствительностью к регистру между Windows и Linux. Папки "Build" и "build" сталкиваются и такие вещи, как ".htaccess". Но ничего сложного исправить.

1 голос
/ 30 июня 2009

Мой репозиторий SVN находится в Linux. У меня есть рабочая копия на Linux и еще одна на WindowXP.

В WindowXP я использую cygwin для доступа к своей рабочей копии. Иногда я также использую Tortoise для визуального сравнения, полной истории файла ...

Я никогда не пытаюсь восстановить (или создать резервную копию) из репозитория Linux, созданного с помощью svndump, на компьютер с Windows.

[EDIT]

Я забыл упомянуть, что обновление отлично работает с обеими рабочими копиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...