1 +<div align="justify"><font size="2" face="verdana, geneva,arial">
2 +Итак, вы написали свой полезнейший во всех отношениях скрипт и теперь хотите
3 +поделиться им со всем прогрессивным человечеством. Я помогу вам в этом.
4 +Именно для этих целей и предназначен [http://snegopat.ru/scripts/], являющийся
5 +репозитарием
6 +[http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8#.D0.A0.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D1.91.D0.BD.D0.BD.D1.8B.D0.B5_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.D1.83.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B2.D0.B5.D1.80.D1.81.D0.B8.D1.8F.D0.BC.D0.B8|распределённой системы управления версиями]
7 +[http://fossil-scm.org|fossil].
8 +
9 +Вся прелесть распределённых систем управления версиями в том, что у каждого разработчика
10 +хранится своя, локальная копия всего репозитария. У вас она уже есть - достаточно заглянуть
11 +в папку repo. repo\scripts.fossil - это и есть клонированный репозитарий. Папка scripts -
12 +это открытая рабочая копия репозитария, о чем говорит находящийся в ней файл _FOSSIL_.
13 +
14 +Вы уже можете использовать локальный репозитарий для хранения истории версий своих разработок.
15 +Как это делается? Для начала я бы рекомендовал вам разместить fossil.exe в одной из папок,
16 +перечисленных в PATH, ну например, папке Windows. Это позволит вам всегда запускать fossil.exe,
17 +просто набрав fossil, в какой бы папке вы не находились.
18 +
19 +Я предполагаю, что у вас уже есть хотя бы начальные представления о работе с
20 +системами контроля версий. Вкратце типичная последовательность работ такова:
21 +
22 + # Файлы, в которых вы заинтересованы, добавляются в систему контроля версий.
23 + # По мере правок файла, с удобной для вас периодичностью, его измененные состояния
24 + фиксируются в системе. Это и есть версии (ревизии) файла.
25 + # Периодически вы обмениваетесь своими изменениями с окружающими.
26 +
27 +В fossil это происходит следующим образом.
28 +
29 + * Сначала вы размещаете свой файл, или даже свои файлы в папке scripts или его подпапке.
30 + Примечательно, что в какой бы подпапке вы не находились, fossil вегда работает со всей
31 + рабочей копией, начиная от той папки, где лежит файл _FOSSIL_.
32 + * Теперь вы уведомляете fossil о том, что хотите взять эти файлы под его заботливый контроль:
33 + <verbatim>
34 + fossil add имена файлов
35 + </verbatim>
36 + Можно для каждого файла выполнять отдельную команду add, можно перечислить их в одной команде,
37 + разделяя пробелом. Если в качестве имени файла указать каталог, fossil добавит все еще не
38 + взятые им под контроль файлы из этого каталога и его подкатологов. Посмотреть список файлов,
39 + еще не взятых под контроль, можно командой
40 + <verbatim>
41 + fossil extra
42 + </verbatim>
43 + Таким образом, если кроме ваших файлов нет других "лишних", то самый простой путь добавить
44 + все файлы это
45 + <verbatim>
46 + fossil add .
47 + </verbatim>
48 + * Вы уведомили fossil о файлах, которые хотите контролировать. Но в репозитарий (даже ваш локальный)
49 + они еще не попали. А попадут они туда после <b>фиксации</b>.
50 + <div align="right"><i>
51 + Фиксация - она же коммит, она же чекин,<br/>она же commit, она же check-in -<br/> операция, заносящая
52 + текущее содержание файла<br/>в систему, как очередную версию файла.
53 + </i></div>
54 + В fossil фиксация делается командой
55 + <verbatim>
56 + fossil ci -m "Комментарий к фиксации"
57 + </verbatim>
58 + По этой команде состояние всех изменных с последней фиксации файлов опять фиксируется в системе,
59 + образуя очередную <b>ревизию</b>.
60 + Посмотреть, какие файлы были изменены, можно командой
61 + <verbatim>
62 + fossil changes
63 + </verbatim>
64 + Но тут есть одна тонкость. Хотя вы работаете с локальным репозитарием, рано или поздно вам
65 + придется передать свои правки в другой (центральный) репозитарий. А там уже могут быть
66 + добавлены правки других пользователей, и ваши правки создадут ненужные разветвления
67 + (о них немного в другой раз, для пытливых [http://fossil-scm.org/index.html/doc/trunk/www/branching.wiki|ссылка]).
68 + Непреднамеренных ветвлений лучше избегать, а этого можно добиться, работая в самой свежей
69 + ревизии. Для этого сначала надо получить последние правки из центра:
70 + <verbatim>
71 + fossil pull
72 + </verbatim>
73 + а затем обновив свою рабочую копию:
74 + <verbatim>
75 + fossil update
76 + </verbatim>
77 + При обновлении fossil учтет ваши исправления в вашей же копии файлов, и объединит их в рабочем каталоге
78 + с последними правками из центрального репозитария, если сможет. Вот теперь можно и делать коммит.
79 + * Последовательность правка/обновление/фиксация можно повторять сколько угодно. Все будет храниться
80 + в вашем локальном репозитарии. И даже будет видно в локальном веб-интерфейсе:
81 + <verbatim>
82 + fossil ui
83 + </verbatim>
84 + Команда запустит fossil как веб-сервер на 127.0.0.1:8080 (или другом порту, заданном в параметрах
85 + команды) и запустит умолчальный браузер на этой странице. Там вы можете смотреть timeline,
86 + создавать и править вики страницы и задачи - все это будет храниться в вашем локальном репозитарии.
87 + * И вот, вы достигли просветления, скрипт отлажен и вылизан, и в-принципе, неплохо показать бы его
88 + людям. Пора отдать им свои правки. Для этого нужно сделать
89 + <verbatim>
90 + fossil push
91 + </verbatim>
92 + Вот тут то вы и узнаете, что в центральном репозитарии прав на коммит вам не дадено. Поэтому
93 + обратитесь сначала ко мне - форум, email, почтовые голуби, как угодно - и попросите прав на
94 + коммит. Я обычно добр и права даю. После чего ваш скрипт попадает в центральный репозитарий
95 + и становится видим для всех.
96 +
97 +Это о технической стороне вопроса. Теперь о моральной. Обычно вместе с правами на коммит, я даю
98 +и права на создание вики-страниц. Крайне жалательно, чтобы параллельно со скриптом вы также
99 +создавали бы и вики-страницу с его описанием. Для единообразия, пусть страница называется также,
100 +как и файл вашего скрипта (включая подпапки, если скрипт в них). Это можно сделать также предварительно
101 +в локальном интерфейсе, запустив
102 + <verbatim>
103 + fossil ui
104 + </verbatim>
105 +Вместе с <i>fossil push</i> ваши страницы также уйдут в центр, Юстасу.
106 +
107 +Описание должно быть небольшим, но достаточным. Также хорошо завести тему на форуме, опять же
108 +с названием файла скрипта, опять же с небольшим описанием, и дав ссылку на ветку форума на
109 +вики-странице скрипта. Дальнейшие обсуждения скрипта лучше вести уже на форуме, дабы не засорять
110 +репозитарий кучей правок (они будут расходиться по всем локальным репозитариям).
111 +
112 +Ну и так как многие будут смотреть текст вашего скрипта из браузера, при просмотре событий и
113 +правок, крайне жалетельно, чтобы
114 + * Кодировка файла скрипта была UTF-8 c BOM. Тогда во-первых в браузере будут правильно отображаться
115 + русские символы, а во-вторых, Снегопат правильно загрузит текст вашего скрипта.
116 + * Вместо табов выравнивать текст пробелами, так как обычно размер табуляции редактора не
117 + совпадает с размером табуляции браузера, и весь текст съезжает.
118 +
119 +</font></div>