Artifact [a29a5d808c] Вы: nobody
Вход

Artifact a29a5d808c2064c70828db23a3207f0515d85334:

Wiki page [Как добавить скрипт в репозитарий] by orefkov 2013-04-24 11:43:33.
D 2013-04-24T11:43:33.314
L Как\sдобавить\sскрипт\sв\sрепозитарий
P 757c95e7b12f512e3ecf630553dac2d94aa2ef66
U orefkov
W 11803
<div align="justify"><font size="2" face="verdana, geneva,arial">
Итак, вы написали свой полезнейший во всех отношениях скрипт и теперь хотите
поделиться им со всем прогрессивным человечеством. Я помогу вам в этом.
Именно для этих целей и предназначен [http://snegopat.ru/scripts/], являющийся
репозитарием
[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|распределённой системы управления версиями]
[http://fossil-scm.org|fossil].

Вся прелесть распределённых систем управления версиями в том, что у каждого разработчика
хранится своя, локальная копия всего репозитария. У вас она уже есть - достаточно заглянуть
в папку repo. repo\scripts.fossil - это и есть клонированный репозитарий. Папка scripts -
это открытая рабочая копия репозитария, о чем говорит находящийся в ней файл _FOSSIL_.

Вы уже можете использовать локальный репозитарий для хранения истории версий своих разработок.
Как это делается? Для начала я бы рекомендовал вам разместить fossil.exe в одной из папок,
перечисленных в PATH, ну например, папке Windows. Это позволит вам всегда запускать fossil.exe,
просто набрав fossil, в какой бы папке вы не находились.

Я предполагаю, что у вас уже есть хотя бы начальные представления о работе с
системами контроля версий. Вкратце типичная последовательность работ такова:

  #  Файлы, в которых вы заинтересованы, добавляются в систему контроля версий.
  #  По мере правок файла, с удобной для вас периодичностью, его измененные состояния
     фиксируются в системе. Это и есть версии (ревизии) файла.
  #  Периодически вы обмениваетесь своими изменениями с окружающими.

В fossil это происходит следующим образом.

  *  Сначала вы размещаете свой файл, или даже свои файлы в папке scripts или его подпапке.
     Примечательно, что в какой бы подпапке вы не находились, fossil всегда работает со всей
     рабочей копией, начиная от той папки, где лежит файл _FOSSIL_.
  *  Теперь вы уведомляете fossil о том, что хотите взять эти файлы под его заботливый контроль:
     <verbatim>
     fossil add имена файлов
     </verbatim>
     Можно для каждого файла выполнять отдельную команду add, можно перечислить их в одной команде,
     разделяя пробелом. Если в качестве имени файла указать каталог, fossil добавит все еще не
     взятые им под контроль файлы из этого каталога и его подкатологов. Посмотреть список файлов,
     еще не взятых под контроль, можно командой
     <verbatim>
     fossil extra
     </verbatim>
     Таким образом, если кроме ваших файлов нет других "лишних", то самый простой путь добавить
     все файлы это
     <verbatim>
     fossil add .
     </verbatim>
  *  Вы уведомили fossil о файлах, которые хотите контролировать. Но в репозитарий (даже ваш локальный)
     они еще не попали. А попадут они туда после <b>фиксации</b>.
     <div align="right"><i>
     Фиксация - она же коммит, она же чекин,<br/>она же commit, она же check-in -<br/> операция, заносящая
     текущее содержание файла<br/>в систему, как очередную версию файла.
     </i></div>
     В fossil фиксация делается командой
     <verbatim>
     fossil ci -m "Комментарий к фиксации"
     </verbatim>
     По этой команде состояние всех изменных с последней фиксации файлов опять фиксируется в системе,
     образуя очередную <b>ревизию</b>.
     Посмотреть, какие файлы были изменены, можно командой
     <verbatim>
     fossil changes
     </verbatim>
     Но тут есть одна тонкость. Хотя вы работаете с локальным репозитарием, рано или поздно вам
     придется передать свои правки в другой (центральный) репозитарий. А там уже могут быть
     добавлены правки других пользователей, и ваши правки создадут ненужные разветвления
     (о них немного в другой раз, для пытливых [http://fossil-scm.org/index.html/doc/trunk/www/branching.wiki|ссылка]).
     Непреднамеренных ветвлений лучше избегать, а этого можно добиться, работая в самой свежей
     ревизии. Для этого сначала надо получить последние правки из центра:
     <verbatim>
     fossil pull
     </verbatim>
     а затем обновив свою рабочую копию:
     <verbatim>
     fossil update
     </verbatim>
     При обновлении fossil учтет ваши исправления в вашей же копии файлов, и объединит их в рабочем каталоге
     с последними правками из центрального репозитария, если сможет. Вот теперь можно и делать коммит.
  *  Последовательность правка/обновление/фиксация можно повторять сколько угодно. Все будет храниться
     в вашем локальном репозитарии. И даже будет видно в локальном веб-интерфейсе:
     <verbatim>
     fossil ui
     </verbatim>
     Команда запустит fossil как веб-сервер на 127.0.0.1:8080 (или другом порту, заданном в параметрах
     команды) и запустит умолчальный браузер на этой странице. Там вы можете смотреть timeline,
     создавать и править вики страницы и задачи - все это будет храниться в вашем локальном репозитарии.
  *  И вот, вы достигли просветления, скрипт отлажен и вылизан, и в-принципе, неплохо показать бы его
     людям. Пора отдать им свои правки. Для этого нужно сделать
     <verbatim>
     fossil push
     </verbatim>
     Вот тут то вы и узнаете, что в центральном репозитарии прав на коммит вам не дадено. Поэтому
     обратитесь сначала ко мне - форум, email, почтовые голуби, как угодно - и попросите прав на
     коммит. Я обычно добр и права даю. После чего ваш скрипт попадает в центральный репозитарий
     и становится видим для всех.

Это о технической стороне вопроса. Теперь о моральной. Обычно вместе с правами на коммит, я даю
и права на создание вики-страниц. Крайне жалательно, чтобы параллельно со скриптом вы также
создавали бы и вики-страницу с его описанием. Для единообразия, пусть страница называется также,
как и файл вашего скрипта (включая подпапки, если скрипт в них). Это можно сделать также предварительно
в локальном интерфейсе, запустив
  <verbatim>
  fossil ui
  </verbatim>
Вместе с <i>fossil push</i> ваши страницы также уйдут в центр, Юстасу.

Описание должно быть небольшим, но достаточным. Также хорошо завести тему на форуме, опять же
с названием файла скрипта, опять же с небольшим описанием, и дав ссылку на ветку форума на
вики-странице скрипта. Дальнейшие обсуждения скрипта лучше вести уже на форуме, дабы не засорять
репозитарий кучей правок (они будут расходиться по всем локальным репозитариям).

Ну и так как многие будут смотреть текст вашего скрипта из браузера, при просмотре событий и
правок, крайне жалетельно, чтобы
  *  Кодировка файла скрипта была UTF-8 c BOM. Тогда во-первых в браузере будут правильно отображаться
     русские символы, а во-вторых, Снегопат правильно загрузит текст вашего скрипта.
  *  Вместо табов выравнивать текст пробелами, так как обычно размер табуляции редактора не
     совпадает с размером табуляции браузера, и весь текст съезжает.

</font></div>
Z 9610f1fdca1d89cd4f06b4f13f046f5f