3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
1 |
.. _using-stacked-branches: |
2 |
||
3 |
Использование стека веток |
|
4 |
========================= |
|
5 |
||
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
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``. Например:: |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
34 |
|
35 |
bzr branch --stacked source-url my-dir |
|
36 |
||
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
37 |
Здесь мы создадим ``my-dir`` как ветку в стеке без локальных ревизий. Если |
38 |
определено открытая ветка связанная с ``source-url`` будет использована как |
|
39 |
*основа стека*. Иначе ``source-url`` будет *основой стека*. |
|
40 |
||
41 |
||
3638.6.38
by Alexey Shtokalo
* изменен способ рисования плашек в карточке быстрого доступа с целью улучшить |
42 |
Создание рабочего каталога в стеке |
43 |
----------------------------------- |
|
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
44 |
|
3638.6.38
by Alexey Shtokalo
* изменен способ рисования плашек в карточке быстрого доступа с целью улучшить |
45 |
Поддержка прямого создания рабочего каталога в стеке скоро ожидается. Пока |
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
46 |
для этого требуется два шага: |
47 |
||
48 |
1. Создать ветку в стеке, как описано выше. |
|
49 |
||
3638.6.38
by Alexey Shtokalo
* изменен способ рисования плашек в карточке быстрого доступа с целью улучшить |
50 |
2. Конвертировать ветку в рабочий каталог используя либо команду |
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
51 |
``reconfigure``, либо команду ``bind``. |
52 |
||
53 |
||
54 |
Публикация ветки в стеке |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
55 |
------------------------ |
56 |
||
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
57 |
Многие изменения в большинстве проектов создаются на основе готовых веток, |
58 |
таких как *основная линия разработки*, или *текущая стабильная*. Создание новой |
|
59 |
ветки в стеке основанной на таких ветках легко сделать с использованием команды |
|
60 |
``push``:: |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
61 |
|
62 |
bzr push --stacked-on reference-url my-url |
|
63 |
||
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
64 |
Эта команда создаст новую ветку ``my-url``, которая будет основана на |
65 |
``reference-url`` и содержать только ревизии из текущей ветки, которых еще нет |
|
66 |
на ветке ``reference-url``. |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
67 |
|
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
68 |
Если локальная ветка была создана как ветка в стеке то мы можем использовать |
69 |
опцию ``--stacked`` для команды ``push`` и тогда ветка на которой будет основан |
|
70 |
стек будет задана неявно. Например:: |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
71 |
|
72 |
bzr branch --stacked source-url my-dir |
|
73 |
cd my-dir |
|
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
74 |
(меняем, меняем, меняем) |
75 |
bzr commit -m "исправление ошибки" |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
76 |
bzr push --stacked |
77 |
||
78 |
||
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
79 |
Ограничения веток в стеке |
80 |
------------------------- |
|
3638.6.31
by Dmitry Vasiliev
Added Russian translation for part 1.2 of the user guide |
81 |
|
3638.6.32
by Dmitry Vasiliev
Added Russian translation for part 7.5 of the user guide |
82 |
Важная вещь которую надо запомнить в отношении веток в стеке - ветка на которой |
83 |
основан стек должна быть доступна практически для всех операций. Конечно это не |
|
84 |
проблема если обе ветки локальные, или находятся на одном сервере. |