Работа с Tortoise SVN. Часть 1

21.10.2006 at 06:05 27 комментариев

После покупки аккаунта на hosted-projects.com я начал разбираться c Tortoise SVN. Для Subversion существует несколько клиентов, но я решил начать с этого, потому что когда то пользоваться Tortoise CVS.

В этой заметке я собрал несколько типовых задач, возникающих при работе с Subversion и Tortoise SVN. Поскольку я перешел на subversion после MS VSS, то многие моменты были для меня непривычными.

Структура репозитория

Здесь я почти повторю документацию по subversion, просто расскажу своими словами.

При создании репозитория можно воспользоывться рекомендациями из документации по Tortoise SVN или сделать по своему.

Рецепт из документации.

Создаются 3 корневые папки: trunk (ствол), branches (ветки) и tags. В каталоге trunk хранится исходный код приложения. Он всегда поддерживается в рабочем состоянии и представляет собой последнюю стабильную версию приложения. Если в какой то момент необходимо начать работу над второй версией, то создается branch в папке branches и разработчики могут спокойно модифицировать копию в branches, не опасаясь, что основная версия будет затронута. Когда наступает момент выпуска второй версии, выполняется слияние ее с основной версией, в результате в trunk мы получаем вторую версию в качестве основной.

Если вы разрабатываете программный продукт или веб сайт, что впринципе одно и тоже, то способ, рекомендованный в справке очень удобный.

Упрощенный подход

Если вы работаете с документами, где не планируются эксперименты и поддержание дополнительных ветвей, то стуктуру репозитория можно упростить до двух папок: documents и tags. Вместо documents можно написать, что угодно, это ваша рабочая папка. А вот tags есть смысл оставить, потому что, наверное, в любой работе возникает необходимость зафиксировать состояние всего репозитория.

И наконец третий вариант сокращается до одной рабочей папки, если идея с tags вам ненравится. Тем более, что добавить папку tags можно и позже.

Подробнее о tags во второй части.

Создание репозитория

Создание репозитория начинается с создания корневых папок описанных выше. Для этого создаем временный каталог c:\svntemp и в нем создаем нужную структуру репозитория, например папки trunk, branches и tags.

Теперь открываем контекстное меню для каталога svntemp (стоя на каталоге svntemp, но НЕ внутри него) и выбираем команду import. В появившемся диалоге вводим путь к репозиторию, например https://mydomain.com/svn/myproject/ . В результате в репозитории создаются папки вложенные в svntemp но сам svntemp не создается в репозитории.

Затем с:\svntemp можно удалить и перейти в каталог, в котором планируем работать. Например, d:\projects\myproject. Внутри myproject выбираем команду Check out, в результате в каталоге myproject появляются наши папки trunk, branches, tags и служебная папка .svn. Служебная папка — скрытая, поэтому если у вас отключен показ скрытых файлов, то вы ее не увидите.

И лишь теперь в каталог trunk можно скопировать рабочие файлы и выполнить команду add.

Используйте lock при работе с изображениями и файлами Word и Excel

Правило простое: при работе с любыми бинарными файлами необходимо использовать блокирование (locking). Этот режим включен по умолчанию в MS VSS и привычен пользователям этой системы. В ней любой check out блокирует файл от изменения другими пользователями. Поскольку Subversion по умолчанию позволяет работать с файлом нескольким людям одновременно, блокировать файл необходимо явно командой «Get lock…» в контекстном меню.

Блокирование бинарных файлов в Subversion обязательно, потому что Subversion не может выполнить слияние двух модифицированных бинарных файлов. Человеку для этого также необходимо приложить усилия, и зачастую работа бывает потеряна.

При импорте папки добавляется содержимое, но не сама папка

Если Вы кликнули на папку на локальном диске и выбрали команду import то в репозиторий попадут вложенные папки и файлы, но сама папка не появится.

Например папка doc, а внутри нее папка artworks. При импорте папка artworks попадет в репозиторий. А чтобы при этом появилась папка doc необходимо ее написать вручную в пути репозитория в диалоге импорта.

Т.е. просто указать путь к SVN репозиторию с добавлением папки doc. Если корень репозитория http://myserver/svn/ то пишем http://myserver/svn/doc

Импорт файлов в репозиторий не связывает их с репозиторием

В MS VSS после операции add можно выполнять check out в тот же локальный каталог, из которого они были импортированы.

В Subversion импорт файлов и папок лишь добавляет их в репозиторий. Но после этого для работы с этими файлами необходимо сделать check out. При этом check out в этот же каталог невозможен — Subversion не позволяет переписать неверсионные файлы данными из репозитория. Это значит, что check out необходимо делать в другой каталог или удалить локальные файлы после импорта и выполнить check out в тот же каталог.

Впечатления

Не зря говорят: «Первое впечатление — обманчиво». Когда я посмотрел на Totoise SVN то подумал, что придется привыкать к чему то неудобному. Но чем больше я пользуюсь Subversion тем больше он мне нравится.

Ссылки по теме:

Technorati tags: ,
Реклама

Entry filed under: Управление проектом, Subversion. Tags: , .

Определения: Authentication и Authorization Работа с Tortoise SVN. Часть 2

27 комментариев Add your own

  • 1. Алексей Горобчук  |  11.01.2007 в 10:13

    Пожалуйста, я рад что пригодилось! 🙂 Еще планирую исследовать SVN который предлагает Google и описать, как делать слияние конфликтующих файлов

    Ответить
    • 2. Incemnses  |  17.05.2010 в 21:11

      Как ныне и одинаковый у нас! оропись наскочить себе красивую девушку, ведь ты знаешь сколь их не дешевый быстро и множество в узы)

      Ответить
  • 3. Vitaly  |  15.10.2007 в 12:32

    Статья хорошая, но был бы безумно рад послушать как настраивается репозиторий на одной машине, и его пользуют через сеть/интернет другие 🙂

    Ответить
  • 4. Николай  |  16.10.2007 в 11:58

    Возможно немного не в тему вопрос…
    А можно ли в SVN сделать checkout одного файла в указанный каталог?
    Или это никому, кроме меня, не нужно?

    Ответить
  • 5. Алексей  |  31.10.2007 в 05:56

    То: Николай,
    Можно попробовать такой вариант: сделать бранч нужного файла, это бранч использовать в другом каталоге, а при необходимости «вернуть» файл в основную ветку делать merge.
    Получится то что вы хотите, но чуть больше действий придется делать.

    Ответить
  • 6. Rinat Abdullin  |  18.11.2007 в 08:51

    Hosted-projects — хороший очень ресурс. Сам его использую.

    Насчет локов на документы не согласен. TortoiseSVN позволяет natively (используется revision механизм из Office) делать diff по doc, xls, ppt файлам. Doc еще и merge поддерживают.

    Ответить
  • 7. Алексей  |  18.11.2007 в 09:26

    To: Rinat Abdullin
    А можно подробнее про механизм из Office? Ведь файлы офиса вроде бинарные (даже в офисе 2007 это XML в архиве).

    Ответить
  • 8. Rinat Abdullin  |  14.12.2007 в 23:48

    Два документа просто сравниваются силами Microsoft Office (через Merge & Review). Попробуй сам — увидишь))

    Ответить
  • 9. Дмитрий  |  30.01.2008 в 12:18

    To: Vitaly
    Репозиторий настраивается очень просто. Собственно репозиторий представляет из себя обычную папку, где Subversion хранит всю информацию в своем формате. Для того, чтобы создать новый репозиторий, создайте пустую папку (например MyRepository) и в контекстном меню для нее выберите «TortoiseSVN» | «Create repository here…». В появившемся диалоговом окне оставть все как есть (по умолчанию выбрана опция «Native filesystem (FSFS)»), и нажмите OK. После этого в указанной папке будут созданы необходимые служебные файлы нового репозитория и ему будет присвоена ревизия 0. Дальше работа происходит описанным выше способом. При обращении к репозиторию в первый раз для указания пути к нему воспользуйтесь кнопкой «…» и укажите на папку, которую вы создавали на первом шаге. В следующий раз вы сможете просто найти нужный вам путь в выпадающем списке.

    Ответить
  • 10. Дмитрий  |  30.01.2008 в 12:35

    To: Vitaly
    Для того, чтобы репозиторием можно было пользоваться с других машин, нужно обеспечить доступ с этих машин к директории, в которой хранится этот репозиторий. Если речь идет о локальной сети под управлением Microsoft Windows, то для этого достаточно просто дать общий доступ к директории репозитория или одной из родительских директорий.

    Ответить
    • 11. Serg  |  01.02.2010 в 14:38

      Вообще-то это сильно не рекомендуется. Нужно либо поднимать сервер Apache, либо svnserve. После настройки каталогов и пользователей можно работать с других машин

      Ответить
  • […] SVN, подробнее прочитать о его использовании можно на https://outsourcing.wordpress.com/2006/10/21/working-with-tortoise-svn-part1/ Всем удачи в настройке, если возникли проблемы — логи в […]

    Ответить
  • […] На последок рекомендую почитать интересную серию статей Работа с Tortoise SVN. […]

    Ответить
  • […] На последок рекомендую почитать интересную серию статей Работа с Tortoise SVN. […]

    Ответить
  • 15. Ортоблог -  |  08.01.2009 в 11:04

    […] Очень часто при разработке любого проекта, да и вообще при работе над каким-либо документом приходится задумываться: “А что будет если я изменю эти файлы?. Как вернуть обратно изменения, если мне они не понравятся?”. Приходится изучать специальные инструменты, например svn. Небольшая ссылка для начала работы […]

    Ответить
  • […] в репозитории создавать две папки braches и tags. (Рекомендуемая структура репозитория описана в первой части.) В первой создаем настоящие […]

    Ответить
  • 17. Surick  |  28.10.2009 в 21:59

    Хм… забавненько

    Ответить
  • 18. vipsites  |  02.04.2010 в 03:49

    Следует заметить, что, например, вторичные запчасти hyundai – намного более продаваемый товар, чем сами… …повышения пошлин, после которого цены на новые зарубежные автомобили серьезно выросли, — вполне логично, что в подобной ситуации намного…

    Ответить
  • […] Хороший клиент для работы с SVN под виндой Tortoise SVN, подробнее прочитать о его использовании можно наhttps://outsourcing.wordpress.com/2006/10/21/working-with-tortoise-svn-part1/ […]

    Ответить
  • 20. Нуб  |  02.02.2011 в 00:02

    Допустим, есть сайт и FTP доступ к нему. Можно ли его как-то зачекаутить локально, отредактировать (на локальном серваке), а потом зачекинить? Т.е. рабочий сайт выступает в роли репозитория, а локальная версия — в роли рабочей версии. Такое в принципе можно замутить? Как превратить существующий сайт в репозиторий?

    Ответить
  • 21. scatpeeD  |  02.02.2011 в 22:48

    scat dom tube sexy girls in nylons asian dirty sex videos
    hot web cam sex erotic porn · chicas pillada con el tanga fuera en la calle ….. foros scat · culo abierto dilatado · solo upskirt infraganti … Hentai Scat Porn, Scat hentai gif, maid hentai, Hentai, another hentai, Hentai, A First for Hentai…, Lesbian shemale hentai surprise!, Sexy KIss, … Torrent : Scat porn There are 2 results for — Scat porn on Sumo Torrent !-SUMOTorrent.
    toilet cam tube 2 girls eat shit fat lady porn

    Ответить
  • 22. Тарас  |  10.05.2011 в 14:25

    Не понимаю. Допустим я хочу сделать копию проэкта на сервер и потом работать с ним локально, подгружая файлы туда и сюда (на сервер и з сервера). Есть локальная версия сайта, как ее импортировать и куда, что вводить в окно import?????

    Ответить
  • 23. нубб  |  30.05.2012 в 07:45

    народ а что делать если я обновляю один мод а на текстурах стоит восклицательный знак че делать

    Ответить
  • […] На последок рекомендую почитать интересную серию статей Работа с Tortoise SVN. […]

    Ответить
  • 25. Fk  |  06.01.2013 в 20:14

    Какие гандоны делали эту программу.

    Ответить
  • 26. ShelleyBimb  |  21.10.2014 в 09:01

    Описание: Эмма Харди разработала новаторский подход и создала новое направление по уходу за кожей «Великолепное лицо». Ее программа учит Вас, как подтянуть свое лицо, выглядеть и чувствовать себя намного моложе, не тратя при этом массу времени и колоссальные деньги в массажном салоне! «Я покажу Вам, как с помощью моей техники лепки лица, словно по мановению волшебной палочки, превратить Вашу кожу в мягкую и упругую. Вы наполните свою кожу жизнью, разгладите морщинки, станете выглядеть намного моложе!» — Эмма Харди. Эта методика приносит потрясающие результаты! Упражнения с утра заряжают Вас энергией и просто вдыхают жизнь в Ваше лицо. У Вас появится собственный способ подтяжки кожи вашего любимого лица.
    — Упражнения для лица
    — Лицевая мобилизация
    — Индивидуальные тренировки
    — Тонус глаз
    — Разглаживаем лоб

    Ответить
  • 27. JamesDip  |  22.04.2017 в 12:22

    заказать прогон хрумером логин скайпа pokras77777

    Ответить

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Google Custom Search Engine

Мой GCE по ASP.NET блогам
Все желающие могут добавлять в него блоги и сайты по asp.net и вебпрограммной тематике

Свежие записи

Top Clicks

  • Нет

RSS Некоторые посты из блогов, которые я читаю

  • Произошла ошибка; возможно, лента недоступна. Повторите попытку позже.

Страницы

Октябрь 2006
Пн Вт Ср Чт Пт Сб Вс
« Авг   Янв »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

%d такие блоггеры, как: