Фиксация изменений
Если вы закончили с редактированием и слили все изменения с сервера, то можно зафиксировать их в хранилище.
Команда svn commit отправляет все ваши изменения в хранилище. При фиксации изменений необходимо описать ваши изменения в тексте лог-сообщения. Лог-сообщение будет присоединено к созданной правке. Если ваше лог-сообщение короткое, вы можете указать его в командной строке, используя опцию --message (или -m):
$ svn commit --message "Corrected number of cheese slices."Sending sandwich.txtTransmitting file data .Committedrevision 3.Однако, если вы заранее составляли лог-сообщение в процессе работы, можно попросить Subversion взять его из файла, передав имя этого файла в параметре --file:
$ svn commit --file logmsgSending sandwich.txtTransmitting file data .Committed revision 4.Если вы не укажете ни опции --message, ни опции --file, для составления лог-сообщения Subversion автоматически запустит редактор, в котором нужно набрать сообщение. Если, набирая сообщение в редакторе, вы решите отменить фиксацию, то можете просто выйти из редактора без сохранения изменений. Если вы уже сохранили сообщение, просто удалите текст и выполните сохранение еще раз.
$ svn commitWaiting for Emacs...Done Log message unchanged or not specifieda)bort, c)ontinue, e)dita$Хранилище, в общем-то, не знает ничего о смысле ваших изменений; оно только контролирует, чтобы никто не изменил те же файлы, что и вы. Если это все-таки случилось, вся фиксация будет отклонена, и вы получите сообщение о том, что один или несколько файлов устарели:
$ svn commit --message "Add another rule"Sending rules.txtsvn: Commit failed (details follow):svn: Out of date: 'rules.txt' in transaction 'g'В таком случае вам нужно выполнить svn update, разобраться со всеми слияниями и конфликтами и попытаться выполнить фиксацию снова.
Контрольные вопросы
1. Для чего нужно управление версиями программного продукта? На каких этапах жизненного цикла оно происходит?
2. Особенностисистемуправленияверсиями Microsoft Visual SourceSafe (VSS), Borland StarTeam, Rational ClearCase, Subversion.
3. Какие основные возможности присутствуют вSubversion?
4. Какие модели работы используются в Subversion?
5. Какие типы репозиториев используются в Subversion?
6. Как идентифицируются объекты в хранилище Subversion? Приведите пример обращения к конкретному объекту.
7. Дайте определение понятиям «ревизия», «стержневая ревизия» и «оперативная ревизия», «номер ревизии» в Subversion.
8. Что содержит хранилище Subversion в нулевой ревизии?
9. Какакя ревизия называется головной? Каким образом ее можно указывать?
10. Какие операции над объектами файловой системы в хранилище Subversion могут быть произведены?
11. Что представляет собой «рабочая копия» в Subversion? Что может быть минимальной единицей данных в рабочей копии?
12. Что представляет собой «чистая копия» в Subversion? Какое имя имеет ревизия, соответствующая чистой копии?
13. Можно ли между разными хранилищами, организованными в Subversion, выполнять операции копирования, перемещения и слияния?
14. Дайте определение понятиям «Ветвь», «Стволовая ветвь», «Релизная ветвь» и «Функциональная ветвь».
15. Что представляет собой метка в Subversion? Для чего применяются метки в Subversion? Какие достоинства и недостатки есть у меток?
16. Какая команда Subversion используется для создания ветвей и меток? Приведите пример использования данной команды.
17. Какие команды Subversion используются для работы с ветвями?
18. Какие этапы выделяют в полном цикле работы с ветвями?
19. Какие этапы выделяют в простейшем рабочем цикле при использовании Subversion? Какие команды Subversion используются на каждом этапе?
20. Каким образом можно обновить рабочую копию, внеся в неё изменения, зафиксированные другими разработчиками проекта с момента вашего последнего обновления? Какая информация при этом будет выведена?
21.С помощью какой команды добавляются объекты по управление Subversion?
22. С помощью какой команды объекты исключаются из-под управления Subversion?
23. С помощью какой команды Subversion осуществляется добавление объекта с историей?
24. С помощью какой команды Subversion осуществляется замена объекта?
25. Какие команды Subversion позволяют анализировать изменения, внесенные в рабочую копию? Что именно анализируется каждой командой?
26. Какая команда Subversion позволяет отменять изменения, внесенные в рабочую копию?
27. Каким образом разрешаются конфликты при слиянии с чужими изменениями? Какие действия производит Subversion при обнаружении конфликта.
28. Какая команда Subversion выполняет фиксацию изменений в хранилище? Каким образом можно указать лог-сообщение для данной команды?
Лекция 13
ТЕМА:Open ТOOLs API.
Литература: 1. Гопанюк Олег "Эксперты в Delphi, или Программист, упростите себе жизнь. - http://articles.org.ru/cn/showdetail.php?cid=8639.
2. Тейксейра Стив, Пачеко Ксавье. Borland Delphi 6. Руководство разработчика.
3. Семак Андрей. BorlandDelphi/C++BuilderToolsAPI, иливзгляднаBorlandIDEизнутри – http://www.delphiplus.org/articles/expert/toolsapi/index.html.
Дата добавления: 2015-09-07; просмотров: 1216;