~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/ru/user-guide/stacked.txt

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-03-28 06:58:22 UTC
  • mfrom: (2379.2.3 hpss-chroot)
  • Revision ID: pqm@pqm.ubuntu.com-20070328065822-999550a858a3ced3
(robertc) Fix chroot urls to not expose the url of the transport they are protecting, allowing regular url operations to work on them. (Robert Collins, Andrew Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.. _using-stacked-branches:
2
 
 
3
 
Использование стека веток
4
 
=========================
5
 
 
6
 
Что такое ветка в стеке?
7
 
------------------------
8
 
 
9
 
Ветка в стеке - это ветка которая знает как найти ревизии в другой ветке. Ветка
10
 
в стеке хранит только уникальные ревизии, которые при этом быстрее создавать и
11
 
они более эффективны по занимаемому месту. По этим показателям стек веток похож
12
 
на разделяемые репозитории. Конечно стек веток имеет дополнительные
13
 
преимущества:
14
 
 
15
 
* Новая ветка может быть в абсолютно другом месте по сравнению с веткой на
16
 
  которой она основана как стек.
17
 
 
18
 
* Удаление ветки в стеке на самом деле удаляет ревизии (а не оставляет их в
19
 
  разделяемом репозитории).
20
 
 
21
 
* Стек веток более безопасен чем разделяемые репозитории, т.к. репозиторий на
22
 
  котором основан стек может иметь доступ только для чтения для разработчиков
23
 
  которые фиксируют изменения на ветке в стеке.
24
 
 
25
 
Эти преимущества делают стек веток идеальным выбором для различных сценариев,
26
 
включая экспериментальные ветки и сайты с хостингом кода.
27
 
 
28
 
 
29
 
Создание ветки в стеке
30
 
----------------------
31
 
 
32
 
Что бы создать ветку в стеке нужно использовать опцию ``stacked`` для команды
33
 
``branch``. Например::
34
 
 
35
 
  bzr branch --stacked source-url my-dir
36
 
 
37
 
Здесь мы создадим ``my-dir`` как ветку в стеке без локальных ревизий. Если
38
 
определено открытая ветка связанная с ``source-url`` будет использована как
39
 
*основа стека*. Иначе ``source-url`` будет *основой стека*.
40
 
 
41
 
 
42
 
Создание рабочего каталога в стеке
43
 
-----------------------------------
44
 
 
45
 
Поддержка прямого создания рабочего каталога в стеке скоро ожидается. Пока
46
 
для этого требуется два шага:
47
 
 
48
 
1. Создать ветку в стеке, как описано выше.
49
 
 
50
 
2. Конвертировать ветку в рабочий каталог используя либо команду
51
 
   ``reconfigure``, либо команду ``bind``.
52
 
 
53
 
 
54
 
Публикация ветки в стеке
55
 
------------------------
56
 
 
57
 
Многие изменения в большинстве проектов создаются на основе готовых веток,
58
 
таких как *основная линия разработки*, или *текущая стабильная*. Создание новой
59
 
ветки в стеке основанной на таких ветках легко сделать с использованием команды
60
 
``push``::
61
 
 
62
 
  bzr push --stacked-on reference-url my-url
63
 
 
64
 
Эта команда создаст новую ветку ``my-url``, которая будет основана на
65
 
``reference-url`` и содержать только ревизии из текущей ветки, которых еще нет
66
 
на ветке ``reference-url``.
67
 
 
68
 
Если локальная ветка была создана как ветка в стеке то мы можем использовать
69
 
опцию ``--stacked`` для команды ``push`` и тогда ветка на которой будет основан
70
 
стек будет задана неявно. Например::
71
 
 
72
 
  bzr branch --stacked source-url my-dir
73
 
  cd my-dir
74
 
  (меняем, меняем, меняем)
75
 
  bzr commit -m "исправление ошибки"
76
 
  bzr push --stacked
77
 
 
78
 
 
79
 
Ограничения веток в стеке
80
 
-------------------------
81
 
 
82
 
Важная вещь которую надо запомнить в отношении веток в стеке - ветка на которой
83
 
основан стек должна быть доступна практически для всех операций. Конечно это не
84
 
проблема если обе ветки локальные, или находятся на одном сервере.