2010-10-11 2 views
3

Возможно ли, чтобы все изменения проекта были скопированы на мою локальную машину? В основном, я хотел бы иметь возможность вытаскивать проекты W, X, Y и Z из удаленного репозитория SVN и иметь доступ к ним на моем компьютере, в идеале, в локальной копии SVN. В идеале я хотел бы сделать это с помощью какого-либо графического инструмента, потому что мои навыки unix ограничены, и у меня нет готового доступа к * nix box на работе.Получить локальную копию всех изменений проекта SVN

У меня нет прямого доступа к серверу, поэтому я ограничена методами, которые могут быть выполнены на клиентской машине snv.

Моя первая цель - иметь резервную копию кода до того, как сервер, на котором он включен, отключен. У меня есть это в базовой форме только от выполнения проверки, но я хотел бы сохранить историю изменений, если это возможно. Быть способным поддерживать синхронизацию до тех пор, пока сервер будет вверх, также будет полезен, но поскольку любые дополнительные изменения кода вряд ли произойдут на данный момент, это задача с более низким приоритетом.

ответ

2

Subversion - это система управления версиями на сервере. То, о чем вы просите, лучше подходит для «системы контроля версий». Используя git-svn, у вас может быть локальная копия, в то же время внося вклад в центральный (подрывной) репозиторий.

+0

Это правда. На данный момент моя главная проблема заключается в долгосрочной доступности стороннего сервера. Для архивных целей достаточно однонаправленного моментального снимка. Подобная двунаправленная связь переполнена, если есть что-то менее интенсивное. –

+0

Я задаю тебе тот же вопрос, что и у Рупа. Какова была бы гранулярность этого подхода. В стороннем репозитории есть проекты, которые я не хочу переводить. –

+0

Главная ваша цель? Развязка, архивирование или локальный автономный доступ к источнику управления. – zellus

-1

Вы можете сделать резервную копию с svnadmin отвала:

http://svnbook.red-bean.com/en/1.1/re31.html

+0

вы не можете получить доступ к данным, это просто дамп – CharlesB

+0

, вы можете легко загрузить данные в локальный репозиторий. и, похоже, речь идет о резервном копировании. –

+0

Если вы можете попросить дамп от третьего лица, то вы (или они) можете использовать связанный скрипт 'svndumpfilter', чтобы уменьшить его до той части интересующего вас репозитория. Обратите внимание, что это не так (в прошлый раз я попробовал) работать с дампом '--deltas', только' --incremental'. – Rup

1

Там также svnsync; вы можете использовать это, чтобы зеркалировать в локальный репозиторий, как только вы настроили предварительный захват для включения изменений свойств ревизии.

Используется только для операций с клиентами; метод svnadmin dump/load, вероятно, лучше начать, по крайней мере, если вы можете убедить своего администратора предоставить вам дамп репозитория.

+0

Что связано с настройкой крючка предварительной фиксации? В идеале я хотел бы использовать репозиторий на сервере SVN компании, но любые изменения в конфигурации должны пройти через наш ИТ-отдел. –

+0

Кроме того, разрешает ли svnsync контролировать объем получаемых данных? В стороннем репозитории существует ряд проектов, которые я не хочу копировать. –

+0

Для этого, создайте хранилище, чтобы синхронизировать его с использованием 'svnadmin create', затем найдите в каталоге' hooks'; возьмите 'pre-revprop-change.tmpl' и либо переименуйте его в' .bat' в Windows, либо разделите расширение и сделайте его исполняемым в Linux, т. е. только незначительное изменение файла. Замечания в файле объясняют это хорошо, хотя для репозитория синхронизации вы, вероятно, хотите просто заменить его на «exit 0» (т. Е. True). Селективная синхронизация: не думайте так, извините - или, по крайней мере, я никогда не делал этого, и я не вижу никаких аргументов в отношении инициализации или синхронизации для этого. Так что не может быть лучшим решением для вас. – Rup

4

Если ваша цель - просто взять резервную копию проверки репо на удаленном сервере http://rsvndump.sourceforge.net/. Вы могли бы взять этот дамп только с доступом пользователя, и вам не нужны специальные привилегии. Напомним, это инструмент командной строки.

+0

, который выглядит намного ближе к тому, что я хочу, чем что-либо еще, что я видел до сих пор. Мне нужно было бы вытащить дампы для 4 URL-адресов (base/app1, base/app2, base/lib1 и base/lib2). Знаете ли вы, что этот инструмент позволит мне указать несколько URL-адресов или я могу объединить дампы в один локальный репозиторий и все данные ревизии совпадают (т.е. для проверки, которая затрагивала несколько отдельных дампов). –

+0

Нет, я не знаю, какой вариант дать 4 URL в той же команде. Я не пытался сбросить все 4 URL-адреса в один репозиторий лично. Но моя внутренняя чувствительность говорит, что это сработает. Держите нас в курсе, если это сработает. –

Смежные вопросы