~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Merge the 0.17 fixes back into bzr.dev

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
 
проблема если обе ветки локальные, или находятся на одном сервере.