Быстрое размещение каталогов под bzr в качестве удаленного общего хранилища - PullRequest
1 голос
/ 30 марта 2010

У меня есть несколько небольших проектов в разных каталогах на разных компьютерах. У меня также есть удаленный сервер, к которому я могу с радостью использовать bzr + ssh.

Похоже, что действительно просто чтобы (1) поставить каталог под контроль bzr ("bzr init; bzr add" - хорошо, не беспокойтесь); (2) разместить этот каталог на удаленном сервере («bzr push» работает, конечно); (3) преобразовать все это в общий репозиторий (эм ...?); (4) сделать так, чтобы на сервере была главная копия (гм? ...); и (5) быть в состоянии проверить это в стандартном формате SVN в другом месте.

В каждом уроке, который я видел, говорится об этом не в том направлении («я администратор сервера»): сначала вам нужно махнуть волшебной палочкой init-repo при входе на удаленный сервер, а затем переместить файлы и т. д .; но суть в том, что я не хочу делать всю эту занятую работу много раз.

Я видел, как люди делают это «правильным» способом - четыре или пять строк, и все это настроено, начиная с каталога, полного файлов на локальном компьютере, и заканчивая тем же каталогом, все еще действующим как извлечение удаленного общего репозитория (и в качестве бонуса, выполнение всей удаленной работы через bzr + ssh, поэтому вам никогда не придется входить удаленно в отдельной оболочке). Как они это делают?

1 Ответ

2 голосов
/ 30 марта 2010

Я бы сказал, что у вас есть шаги (2) и (3) в обратном порядке. Я также предполагаю, что у вас есть доступ sftp к каталогу на удаленном компьютере, на котором будут храниться общие репозитории, например, sftp: //rkerr@server/home/source.

I can't test this, but I think it would go something like:
(1) bzr init; bzr add
(2) bzr init-repo --no-trees sftp://rkerr@server/home/source/sharedRepo/
(3) bzr push --remember sftp://rkerr@server/home/source/sharedRepo/branchName
(4) start calling the server version the master copy* :)
(4.5) login elsewhere
(5) bzr checkout sftp://rkerr@server/home/source/sharedRepo/branchName

* Другие полезные действия - изменить свойства * _location в .bzr/branch/branch.conf начальной ветви. На самом деле, весь смысл DVCS в том, что ни одна ветвь не должна быть главной. Установка местоположений просто означает, что Bazaar может разумно угадать, какую ветку вы хотите нажать, объединить, потянуть и т. Д.

...