Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как работать с svn? (http://forum.oszone.net/showthread.php?t=167465)

Igor_I 15-02-2010 20:34 1347924

Как работать с svn?
 
Не нашёл более подходящего раздела, ведь это программирование.
Имеется :
Рабочая станция с PhpED и TortoiseSVN для редактирования кода, но сам тестируемый сайт на локальном сервере
Локальный сервер для тестирования плюс репозиторий
Интернетовский сервер для работы

http://www.gnuman.ru/stuff/svn_strateg/
Стратегия 1
Создаем /tags/0.1.0 из /trunk
Код:

svn copy file:///home/svn/repos/src.local/trunk file:///home/svn/repos/src.local/tags/0.1.0 -m "tag tree"
Извлекаем на лок.сервер.
Код:

svn co file:///home/svn/repos/src.local/tags/0.1.0/ --username --password  /usr/local/www/apache22/data/src.local
В корень веб-сервера. Код также доступен через PhpED для редактирования.
Правим код, тут же смотрим как он выполняется. Потом фиксируем изменения (через TortoiseSVN). Но перед фиксированием надо переключится на trunk? Экспорт на интернетовский сервер. Что-то мне кажется экспорт всего сайта целиком весьма затратен по времени.
Что теперь?
Удаляем весь код сайта с локального сервера. Создаем tags/0.2.0. Извлекаем, правим, фиксируем.
Продолжаем работать с локальной копией. Время от времени вызываем "слить".
Что-то здесь у меня загвоздка.

Delirium 16-02-2010 01:41 1348202

Жестока :). У меня тоже svn, но для локальных приложений и сайтов.
Цитата:

Цитата Igor_I
Что-то мне кажется экспорт всего сайта целиком весьма затратен по времени. »

Так используй XCOPY, он позволяет копировать только измененные файлы. Очень просто и быстро.

Igor_I 16-02-2010 19:57 1348818

Delirium, а где жестока?
Если можешь опиши свою работу с сайтами.

Delirium 17-02-2010 01:01 1349025

Ааа, я понял, в чем между нашими случаями разница. У меня сайт лежит у меня же на сервере, т.к. у меня хостинг и прочее - я сам(белый IP + доменное имя). Поэтому я настраиваю SVN на нужную папку и вперед.
А как вообще разрешено копировать изменения на интернетовский адрес в вашем случае?

Igor_I 17-02-2010 19:19 1349656

Как разрешено, как хочешь так и делаешь. Всё моё. Первой мыслей, да и реализацией было извлечение рабочей копии на сайт. Но мне что-то не понравилось присутвствие директории .svn на сайте и тут встретилась статья на хабре. Это ж какая дыра, все исходники напоказ. Поэтому надо делать через экспорт. А экспорт только всех исходников. Правда есть вариант частичного экспорта, но он только через TortoiseSVN. Вот сижу репу чешу. Оба хендбука читаю, но есть какие-то непонятки.

Delirium 18-02-2010 01:25 1349966

Igor_I, и все таки давайте уточним:
Имеется локальный сайт, который потом надо будет перенести на удаленный, так? Так что мешает то настроить копирование через XCOPY с указанием конкретных папок и добавлением папки svn в исключения? Или я что то не так понимаю?

Igor_I 18-02-2010 18:38 1350482

Что-то я не могу понять что такое xcopy. Если это команда в Windows, то каким образом скопировать файлы на удалённый сайт, причём с авторизацией. Потому как давать кому-то в интернете права на запись что-то не вдохновляет.
Но суть темы не в этом, это второй вопрос. Первый как работать с svn. Расскажи свою систему правок, фиксаций, созданий веток.

Delirium 24-02-2010 01:37 1354392

Да вроде бы все просто. Создается хранилище, в него заливается первоначальный проект с исходниками. Удаляется исходная папка, и через SVN восстанавливается. После этого делаю изменения в проекта и потом на папке правой кнопкой - SVN Commit. Если добавляются новые файлы, включаю их. Файлы папок debug и release исключаю. При коммите пишу, что сделал :)

Igor_I 06-03-2010 15:49 1362362

К чему пришел. Использую черепашку (TortoiseSVN)
Хранилище с общепринятой структурой. trunk branches tags
Сделали ответвление (branches/0.1.0) - с ним работаем локально. Это рабочая копия разработчика.
Пришла пора сливать со стволом.
1 Делаем рабочую копию trunk
2 Сливаем ответление со стволом, выбирая нужный пункт из контекстного меню на рабочей копии транка
3 Фиксируем измения рабочей копии транка с самим транком
4 на удаленном сервере: svn co http://*:8080/repos/local/trunk --username * --password * /home/data/workcopy/site.com
5 на удаленном сервере: svn export /home/data/workcopy/site.com --force /home/data/www/site.com
6 Делаем новое ответвление из рабочей копии транка, выбирая нужный пункт из контекстного меню
7 Делаем переключение рабочей копии разработчика на новое ответвление.
8 Работаем.
До тегов пока не дошел.


Время: 09:26.

Время: 09:26.
© OSzone.net 2001-