Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
| Artifact ID: | 39798c45083986d1ad7b887bcb15cd805f5f236f |
|---|---|
| Page Name: | Как добавить скрипт в репозитарий |
| Date: | 2013-04-26 05:00:01 |
| Original User: | orefkov |
| Parent: | a29a5d808c2064c70828db23a3207f0515d85334 (diff) |
Вся прелесть распределённых систем управления версиями в том, что у каждого разработчика хранится своя, локальная копия всего репозитария. У вас она уже есть - достаточно заглянуть в папку repo. repo\scripts.fossil - это и есть клонированный репозитарий. Папка scripts - это открытая рабочая копия репозитария, о чем говорит находящийся в ней файл _FOSSIL_.
Вы уже можете использовать локальный репозитарий для хранения истории версий своих разработок. Как это делается? Для начала я бы рекомендовал вам разместить fossil.exe в одной из папок, перечисленных в PATH, ну например, папке Windows. Это позволит вам всегда запускать fossil.exe, просто набрав fossil, в какой бы папке вы не находились.
Я предполагаю, что у вас уже есть хотя бы начальные представления о работе с системами контроля версий. Вкратце типичная последовательность работ такова:
- Файлы, в которых вы заинтересованы, добавляются в систему контроля версий.
- По мере правок файла, с удобной для вас периодичностью, его измененные состояния фиксируются в системе. Это и есть версии (ревизии) файла.
- Периодически вы обмениваетесь своими изменениями с окружающими.
В fossil это происходит следующим образом.
- Сначала вы размещаете свой файл, или даже свои файлы в папке scripts или его подпапке. Примечательно, что в какой бы подпапке вы не находились, fossil всегда работает со всей рабочей копией, начиная от той папки, где лежит файл _FOSSIL_.
- Теперь вы уведомляете fossil о том, что хотите взять эти файлы под его заботливый контроль:
fossil add имена файловМожно для каждого файла выполнять отдельную команду add, можно перечислить их в одной команде, разделяя пробелом. Если в качестве имени файла указать каталог, fossil добавит все еще не взятые им под контроль файлы из этого каталога и его подкатологов. Посмотреть список файлов, еще не взятых под контроль, можно командойfossil extraТаким образом, если кроме ваших файлов нет других "лишних", то самый простой путь добавить все файлы этоfossil add . - Вы уведомили fossil о файлах, которые хотите контролировать. Но в репозитарий (даже ваш локальный)
они еще не попали. А попадут они туда после фиксации.
Фиксация - она же коммит, она же чекин,В fossil фиксация делается командой
она же commit, она же check-in -
операция, заносящая текущее содержание файла
в систему, как очередную версию файла.fossil ci -m "Комментарий к фиксации"По этой команде состояние всех изменённых с последней фиксации файлов опять фиксируется в системе, образуя очередную ревизию. Посмотреть, какие файлы были изменены, можно командойfossil changesНо тут есть одна тонкость. Хотя вы работаете с локальным репозитарием, рано или поздно вам придется передать свои правки в другой (центральный) репозитарий. А там уже могут быть добавлены правки других пользователей, и ваши правки создадут ненужные разветвления (о них немного в другой раз, для пытливых ссылка). Непреднамеренных ветвлений лучше избегать, а этого можно добиться, работая в самой свежей ревизии. Для этого сначала надо получить последние правки из центра:fossil pullа затем обновив свою рабочую копию:fossil updateПри обновлении fossil учтет ваши исправления в вашей же копии файлов, и объединит их в рабочем каталоге с последними правками из центрального репозитария, если сможет. Вот теперь можно и делать коммит. - Последовательность правка/обновление/фиксация можно повторять сколько угодно. Все будет храниться
в вашем локальном репозитарии. И даже будет видно в локальном веб-интерфейсе:
fossil uiКоманда запустит fossil как веб-сервер на 127.0.0.1:8080 (или другом порту, заданном в параметрах команды) и запустит умолчальный браузер на этой странице. Там вы можете смотреть timeline, создавать и править вики страницы и задачи - все это будет храниться в вашем локальном репозитарии. - И вот, вы достигли просветления, скрипт отлажен и вылизан, и в-принципе, неплохо показать бы его
людям. Пора отдать им свои правки. Для этого нужно сделать
fossil pushВот тут то вы и узнаете, что в центральном репозитарии прав на коммит вам не дадено. Поэтому обратитесь сначала ко мне - форум, email, почтовые голуби, как угодно - и попросите прав на коммит. Я обычно добр и права даю. После чего ваш скрипт попадает в центральный репозитарий и становится видим для всех.
Это о технической стороне вопроса. Теперь о моральной. Обычно вместе с правами на коммит, я даю и права на создание вики-страниц. Крайне желательно, чтобы параллельно со скриптом вы также создавали бы и вики-страницу с его описанием. Для единообразия, пусть страница называется также, как и файл вашего скрипта (включая подпапки, если скрипт в них). Это можно сделать также предварительно в локальном интерфейсе, запустив
fossil uiВместе с fossil push ваши страницы также уйдут в центр, Юстасу.
Описание должно быть небольшим, но достаточным. Также хорошо завести тему на форуме, опять же с названием файла скрипта, опять же с небольшим описанием, и дав ссылку на ветку форума на вики-странице скрипта. Дальнейшие обсуждения скрипта лучше вести уже на форуме, дабы не засорять репозитарий кучей правок (они будут расходиться по всем локальным репозитариям).
Ну и так как многие будут смотреть текст вашего скрипта из браузера, при просмотре событий и правок, крайне желательно, чтобы
- Кодировка файла скрипта была UTF-8 c BOM. Тогда во-первых в браузере будут правильно отображаться русские символы, а во-вторых, Снегопат правильно загрузит текст вашего скрипта.
- Вместо табов выравнивать текст пробелами, так как обычно размер табуляции редактора не совпадает с размером табуляции браузера, и весь текст съезжает.