~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Merge bzr.dev to resolve conflicts

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