У меня может быть один проект в двух репозиториях SVN?

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

6
задан JasonMArcher 12 July 2015 в 23:42
поделиться

12 ответов

Как последняя попытка, можно всегда вводить дыру по абсолютному адресу в корпоративном брандмауэре с SSH. Изучите "ssh туннели" (и также, задумайтесь о нем, "введите дыра по абсолютному адресу в брандмауэре", мог бы быть хороший критерий поиска также). Я думаю, что Вы захотите или-L или-R ssh опция, но я не могу вспомнить, который или являются ли они правильными наверняка. И если Вы запускаете Windows, все еще возможно использовать ту же точную технику при установке Cygwin сначала.

Править: Извините я не был более ясным о том, как это работает. Опция, которую Вы хотите, является-R. Это открывает порт на удаленной машине (для слушания). Когда что-то соединяется с тем портом на удаленной машине, перемещения соединения отодвигают соединение SSH к локальной машине, затем fowarded на сервере по Вашему выбору в локальной сети. Вы могли соединиться со своим домашним компьютером от Вашего рабочего компьютера перед отъездом ночью с SSH для открытия туннеля. Затем, когда Вы работаете из дома, Вы устанавливаете свой SVN, работающий копия (использование svn switch --relocate) указать на Ваш домашний компьютер. BTW, порт SVN 3690 по умолчанию при выполнении svnserve демона.

4
ответ дан 8 December 2019 в 02:22
поделиться

Вы могли использовать SVN с другим (локальным) репозиторием на Вашем ноутбуке. Ищите популярного мерзавца или SVK. Они позволяют Вам соглашаться на локальный репозиторий сначала, и затем синхронизировать все соглашается на основной репозиторий SVN.

11
ответ дан 8 December 2019 в 02:22
поделиться

Вы читали о мерзавце? это использует локальный репозиторий для офлайновой работы и может легко синхронизироваться с svn repo.

Два статьи это объясняет, как сделать то, что Вы хотите.

7
ответ дан 8 December 2019 в 02:22
поделиться

Изучите svnsync. Я использую его для зеркального отражения репозитория SVN на исходном штамповочном прессе к персональному полю, таким образом, я могу использовать Trac с ним.

http://svn.apache.org/repos/asf/subversion/trunk/notes/svnsync.txt

Это очень просто в использовании, и необходимо смочь установить офис repo для синхронизации в персональный репозиторий.

5
ответ дан 8 December 2019 в 02:22
поделиться

Это не практично для одной только Подверсии, но это практично в распределенных системах управления версиями, таких как мерзавец.

Взгляните на мерзавца и что еще более важно мерзавца-svn.

3
ответ дан 8 December 2019 в 02:22
поделиться

Я высоко предположил бы, что Ваш отдел ИТ настроил безопасную VPN, которая разместила бы Вас в их безопасную локальную сеть, даже когда Вы физически при другом интернет-соединении. Невероятно трудно сохранить несколько-repo проектов в синхронизации.

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

2
ответ дан 8 December 2019 в 02:22
поделиться

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

Длинный ответ: Это - слабость централизованных систем как Подверсия. Распределенные решения для управления версиями (как мерзавец) не имеют этой проблемы. Каждая "рабочая копия" является репозиторием, и фиксации могут быть сделаны в режиме офлайн и синхронизировавшими между репозиториями (или в центральный "официальный" репозиторий) в более позднее время.

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

  • среди мерзавца мерзавец-svn, который обеспечивает этот вид функциональности. у мерзавца есть кривая обучения, но это улучшилось с 1.6.x ряд.

  • svk больше, кажется, очень активно не разрабатывается, но он действительно работает обоснованно хорошо. Это работает очень как Подверсия. Это позволяет Вам сохранять локальные зеркала своих официальных репозиториев, делать, соглашается на локальные ответвления по ним, и продвиньте, они возвращаются в официальный репозиторий, когда Вы можете. Это действительно не распределяется в том же смысле как мерзавец, но это - вероятно, лучшее пригодное для Вашей ситуации и меньшего количества концептуального изменения, чем мерзавец.

2
ответ дан 8 December 2019 в 02:22
поделиться

Смотрите на Базар. Это является скорее менее пугающим, чем мерзавец и имеет полезно выглядящий интерфейс в репозитории Подверсии (через bzr-svn).

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

1
ответ дан 8 December 2019 в 02:22
поделиться

Вам нужна система репликации Подверсии, такая как Pushmi или SVK, как упомянуто. Если можно соединиться через веб-серверы, почему Вы не настраиваете SVN с http доступом вместо svn? Если порты заблокированы, можно использовать mod_proxy для перемонтажа общедоступного URL к внутреннему svn порту.

Однако, если уже необходимо бороться отделом ИТ, затем все пошедшие не так, как надо. Необходимо сотрудничать с ними, предпочтительно официально, чтобы заставить их поддерживать безотносительно политик, необходимо сделать задание. При нахождении их систем Вы или собираетесь попасть в беду (например, могут быть совершенно допустимые причины, Ваше корпоративное говорит, что никакой доступ исходного кода за пределами компании, и это - дисциплинарное преступление сделать то, что Вы пробуете), или Ваши менеджеры должны быть проинформированы, что IT не работает на Вас.

1
ответ дан 8 December 2019 в 02:22
поделиться

Как meador сказал, что Вы могли установить туннели SSH для туннелирования через рабочую станцию в офисе, в то время как Вы дома и получаете доступ к офису SVN.

Замечательный гид для установки SSH в Windows может быть найден здесь: Cygwin SSH для Windows

Я сделал это некоторое время для получения доступа удаленного рабочего стола, пока я не смог установить надлежащий сервер SSH с портом, открытым на брандмауэре.

То, что Вы делаете, от Вашей офисной рабочей станции, сделайте соединение SSH к своей домашней машине или дополнительно выделенному домашнему серверу. Параметры для того начального соединения предоставили бы-R (удаленный) туннель, который по существу позволяет удаленной машине возвращаться через строку на указанном порте.

Например, при выдаче следующей команды весь трафик, который прибывает в порт 1234 на сервере, будет передан для портирования 23 на клиенте. Посмотрите Удаленный туннель.

ssh2-R 1234:: username@sshserver ^^ от SSH

Затем на домашней машине, Вы делаете что-то как svn://localhost:1234, и это получило бы Вас доступ к SVN в офисе.

*ПРИМЕЧАНИЕ: Я не рекомендовал бы делать это без того, чтобы говорить с Вашими администраторами сначала, потому что они могут вернуться к реальности раздражительные, когда Вы обходите их безопасность... доверяют мне, я знаю.;-)

1
ответ дан 8 December 2019 в 02:22
поделиться

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

Ужасный бит - то, что его грязное для создания ответвлений и окончательных версий так как заключительную папку со свойствами не рассматривают очень хорошо в репозитории, но кроме того, чтобы быть немного неловким она работает достаточно хорошо. У нас есть основной код в одном репозитории и два других с определенными для экземпляра конфигурациями. Контроль правильный тег, и Вы получаете полностью объединенный проект, готовый к взламыванию. (Это действительно прокладывало себе путь лучше в CVS, еще одна полезная функция, потерянная вовремя).

Paul.

1
ответ дан 8 December 2019 в 02:22
поделиться

Я сделал сообщение в блоге о том, как недавно сделать что-то подобное. Я думаю, что это будет работать на Вас, кроме Вас должен будет синхронизировать от Вашего места работы, если Вы не можете туннелировать через через ssh.

http://justinsboringpage.blogspot.com/2008/11/how-to-copy-svn-repository-from.html

Подверсия имеет инструмент под названием SVNSYNC, чтобы помочь синхронизировать от одного репозитория до другого. Здорово при перемещении в другой веб-сервер. В этом примере я копирую проект, я продолжаю работать от SourceForge до Google Code. После того, как сделанный, репозиторий кода Google будет точным зеркалом, включая полную историю изменений.

Также необходимо обнулить количество пересмотра репозитория. Код Google, очевидно, делает это легким при наличии кнопки на исходной странице, чтобы сделать это для Вас.

У Вас должны быть свое имя пользователя и пароль для кода Google, чтобы сделать это. Для репозитория Вы копируете Вас, не делают. Сначала Вы используете начальную команду, чтобы настроить вещи для копии, затем использовать синхронизирующую команду, чтобы сделать фактическую копию. Это делает этот пересмотр за один раз и требует времени...

svnsync init https://lispbuilder.googlecode.com/svn https://lispbuilder.svn.sourceforge.net/svnroot/lispbuilderProject svnsync - имя пользователя YOURNAME - пароль YOURPASSWORD синхронизируют https://lispbuilder.googlecode.com/svn https://lispbuilder.svn.sourceforge.net/svnroot/lispbuilder

1
ответ дан 8 December 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: