Базар удаленных уложенных веток с "рабочим деревом"

Я работал некоторое время с w/bzr (bazaar vcs) и решил переупорядочить несколько приложений в виде стекированных на основной ствол (чтобы помочь ресурсам сохранения данных).

Для опубликованных веб-приложений рабочий процесс включен

bzr push bzr-ssh://<server>/var/www/<remote-branch-name>

с последующим bzr checkout на сервере, чтобы получить рабочее дерево.

С помощью этой новой парадигмы с накоплением я, конечно, хотел отправить на сервер ветвь с накоплением, и иметь рабочее дерево для обслуживания, но это не представляется возможным?

bzr push --stacked -d <branch> <remote>

с радостью создаст новую ветвь с накоплением на сервере, но с сервера:

  • bzr info не показывает родителей
  • bzr checkout результаты в bzr: ОШИБКА: не ветвь

Нет, нет рабочего дерева:|

В конце концов, я просто удалил новую удаленную ветку и вернулся и пропустил --stacked,

Все еще интересно, если я что-то пропустил?

1 ответ

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

Не имеет значения, показывает ли "bzr info" родительский элемент. Это должно показать сложенную ветвь.

В приведенном ниже примере ключ "stacked on":

bzr info bzr+ssh://teeny/~/bzr
Standalone branch (format: unnamed)                                            
Location:
  branch root: bzr+ssh://teeny/~/bzr/

Related branches:
  parent branch: bzr
     stacked on: http://bazaar.launchpad.net/~abentley/bzr/branches-uncommitted

Базар пытается определить, на какую ветку складывать. Следует напечатать это как часть push-вывода.

Если это не так, вы можете переопределить это с помощью --stack-on. Помните, что ветка, на которую вы кладете, должна быть по крайней мере такой же общедоступной, как ветка, которую вы перемещаете.

Но я рекомендую общий репозиторий, а не стекированные ветки, для экономии места. Это более эффективно и более удобно для пользователя. Базар будет автоматически использовать общий репозиторий, если найдет тот, который охватывает целевое местоположение. Например, "bzr init-repo bzr+ssh:///var/www/" создаст общий репозиторий, который будет автоматически использоваться всеми ветвями в / var / www.

Сложенные ветви существуют, чтобы решить проблемы конфиденциальности. Если некоторые из веток в / var / www являются частными, тогда общий репозиторий является риском, потому что он будет содержать ревизии из этих частных веток. Основная причина, по которой Launchpad использует сложенные ветви, заключается в том, что Launchpad поддерживает частные ветви. Частная ветка, размещенная в публичной ветке, экономит пространство, не пропуская частные ревизии в публичную ветку. Он использует стек по умолчанию, потому что открытая ветвь может быть сделана частной после ее первоначальной отправки.

Другие вопросы по тегам