Данный материал предназначен для тех людей, которые часто слышат об удобстве использования SVN, но еще не приступили к его изучению.SVN (аббр. от Subversion) — это самая популярная система управления версиями. О чем идет речь, спросите вы? Представьте, у вас есть локальная версия сайта и версия сайта на сервере. Для их синхронизации требуется знать, какие файлы были изменены и куда их загружать. Упрощенно, именно эти обязанности и берет на себя SVN. Для работы под Windows рекомендую клиент TortoiseSVN, который удобным образом встраивается в контекстное меню проводника. Пользователям Mac придут на помощь программы Coda (именно в ней ведется разработка cogear с самого начала), Versions и просто Terminal с установленным через пакеты SVN.
- Checkout. Первый шаг — загрузка репозитория, создание локальной копии.
- Update. Обновление текущего репозитория до последней ревизии.
- Commit. Отправка изменений в репозиторий — создание новой ревизии.
Checkout
Допустим, вы только что скачали и установили SVN-клиент. После этого вам необходимо узнать адрес репозитория и произвести чекаут с него — для сохранения локальной копии.Если вы работаете из консоли, то чекаут cogear делается следующей командой:
cd Directory_where_you_want_to_have_cogear_copy
svn co http://subversion.assembla.com/svn/cogear/cogear > cogear
Если вы работаете в проводнике Windows, зайдите в нужную папку и в контекстном меню (по правому клику) выбрав пункт Commit, введите путь к текущей ревизии.http://subversion.assembla.com/svn/cogear/cogear
Локальная копия будет создана, и вы можете приступать к работе.Update
Представьте себе, что пока вас не было, кто-то внес изменения в репозиторий (создал одну или несколько новых ревизий). В этом случае вам необходимо получить все изменения (последнюю ревизию). Если ваши файлы уже были изменены, то система поставит вопрос о слиянии (merge) содержимого файлов. Условно, она обозначит разногласия, и вы сможете самостоятельно внести коррективы — оставить только нужное.Таким образом, допустим, каждый раз перед работой с любой (локальной или удаленной) копией репозитория (например, с любым рабочим сайтом), вы можете делать Update, и ваша копия движка будет обновлена до самой последней версии. Просто и быстро.
Commit
В иной раз вы сами захотите внести изменения в движок (только для команды разработчиков) — измененные файлы будут отмечены особым образом, и вы сможете указать системе, с учетом каких вами сделанных изменений стоит создать новую ревизию. Выбираете файлы, правой кнопкой на них щелкаете и в контекстном меню выбираете Commit. Все, вы создали новую ревизию (каждое отправленное изменения считается ревизией) и все люди, обновляющиеся из репозитория, будут иметь доступ к нему с учетом ваших самых последний исправлений. Не переживайте, если что-то пошло не так — репозиторий можно «откатить» до любой ревизии.Каждая ревизия должна быть дополнена комментарием. Данные об авторе каждой ревизии и комментарии к ней также хранятся в системе. Посмотрите на удобное графическое представление нашего репозитория.
Вывод
Система контроля версий позволяет нам мгновенно делиться с вами самой актуальной версией движка, а вам — безболезненно обновлять cogear на своих сайтах.Не бойтесь попробовать — оно того стоит. Самое главное, что все изменения фиксируются, и есть возможность вернуться к любой ревизии.


Кстати, почему SVN, а не GIT?
Потому что Coda поддерживает пока только лишь SVN :-) О поддержке GIT на маке совсем не слышно.
кстати, а разве NetBeans нет под Mac?
По поводу предпочтений — все это условности. Я работаю так, как мне удобно — каждый выбираем сам для себя.
Softovick, git заточен под командную строку и в линуксе он работает прекрасно. В сети лежит масса мануалов, есть даже скринкасты: www.gitcasts.com/
Не будем передёргивать ;) Линусу нужна была система управления версиями, умеющая работать с распределёнными хранилищами. В этом классе git считается лидером. Точно так же, как в классе СУВ с одним хранилищем лидирует SVN.
Всё же не Commit, а Checkout.
И почему-то http://subversion.assembla.com/svn/cogear/cogear — 404 (
Обновляйтесь с http://subversion.assembla.com/svn/cogear/branches/1.0.
кстати с svn не удобно обновлять работающий проект, ведь все настройки шестерёнок хранятся в .info файлах, которые затираются файлами из svn.
Если кому-то пригодится:
Рекрсивное удаление файлов и папок .svn под linuxfind. -name .svn -type d -exec rm -rf {} \;