Вместо введения
Для меня до сих пор не понятно, как можно проработать несколько лет в сфере программирования и не использовать такие вещи как CVS, SVN, GIT...
CVS я не рассматриваю как морально устаревшую и жутко не удобную вещь, GIT – это децентрализованное хранилище, и мы его пока тоже не будем рассматривать. Остается SVN, он же Subversion.
Для чего вообще нужно хранилище? Ответ казалось бы банальный: хранить какие либо материалы, иметь информацию кто и когда изменил, а главное возможность узнать «что изменил».
В общем если Вам эта тема интересна — читайте далее (трафа ~3Mb)....
Шаг1 - установка Subclipse
Для работы с репозиторием прямо из Eclipse нам нужно установить
Subclipse
О том как его установить в принципе написано на сайте, но зная природную лень многих, опишу тут.
Для установки нам необходимо зайти в "Help"/"Install new software", откроется диалог "Install".

в диалоге нужно нажать "Add"

заполнить поля:
Name: Subclipse (или любое другое)
Location: http://subclipse.tigris.org/update_1.6.x
после нажатия "ОК", в области "Work with" выбрать вновь созданный репозиторий. Собственно устанавливаем Subclipse:

После нажатия "Next" будет проверка зависимостей, в которой нужно нажать снова "Next"

И на последнем диалоге, согласится с лицензией и нажать "Finish"

собственно все... после установки Eclipse попросит перезагрузки. Перезагружаем Eclipse и Subclipse установлен. поздравляю.
Шаг2 - размещение проекта в репозитории

Допустим у нас есть рабочий проект который мы хотим поместить в SVN репозиторий. Я буду показывать на примере Java проекта, но можно так же хранить проект на любом языке какой вы используете. Для этого нажимаем правой
кнопкой на проекте и выбираем "Team"/"Shre project"

выбираем тип хранилища, в нашем случае SVN, и жмем "Next"

Пишем адрес репозитория и нажимаем "Next"

Далее у нас диалог:

В этом диалоге нам нужно выбрать в какую папку сохранить проект.
По умолчанию все будет добавлено в корень репозитория
(нам так не нужно), выбираем
"Use specified folder name" и вписываем
trunk. По хорошему у нас репозиторий должен быть устроен так:
/trunk - рабочая версия (так сказать "стабильная ветка").
/branches - ветки разработки.
/tags - метки, для возврата к сохраненному состоянию.
жмем "Next"

Можем написать какой либо комментарий, если нужно и "Finish"
Если все прошло успешно, появится запрос о переключении к перспективе "Synchronizing". Это уже на любителя, мне допустим предлагаемая перспектива не удобна и я жму "No".

Теперь окно Eclipse будет примерно такого вида:

в нижней части окна Eclipse, у будет вкладка "Synchronize" и список файлов которые будут помещены в репозиторий,
нам нужно некоторые добавить в исключения, которые создает Eclipse - они в репозитории просто не нужны.

для этого нажимаем правой кнопкой на файле или каталоге и выбираем "Add svn:ignore"

в этом диалоге можно задать маски исключения, но это отдельная тема, поэтому просто жмем "OK"
Аналогично заносим в игнор и другие файлы (.classpath и .project)
После всех манипуляций у нас останется только то что действительно нужно ложить в SVN

для размещения файлов репозиторий, снова нажмем правой кнопкой на проекте и выберем "Team"/"Commit". Либо на панели Synchronize нажать "Commit"

в появившемся окне можно и по хорошему
нужно написать комментарий.

Ниже коментария представлен список файлов которые будут синхронизированы. Жмем "ОК"

После того как все файлы размещены - возле проекта появится значок о том что "проект связан с репозиторием", во вкладке "Synchronize" будет текст "No changes in...".
Собственно все - проект в репозитории. Мои поздравления.
2 комментария:
Достойная статья....
Но, svn начинает достаточно сильно терять позиции перед git. Назвав git децентрализованной системой, ты как бы указал, что это минус или что-то неприемлемое. Мы два месяца назад перешли с свна на гит, и хочу сказать, что git на несколько порядков удобнее, практичнее, надежнее и т.д.... возможность иметь свой личный локальный репозитарий для каждого проекта + один/несколько удаленных для него же (в одном месте держать все проекты). После svn'a невероятно удобная/легкая/быстрая работа с бранчами(ветками), когда в пару "кликов" создаешь ветку, работаешь с ней, моментально переключаясь с ветки на ветку, мержишь это все,.. и при этом для всего это в корне проекта у тебя лижет одна папочка .git(нет такого срача по всем подкаталогам, как у свна). Удобнейшая система теггирования(кроме, естественно, комментариев к коммитам), когда на любой коммит вешаешь тег(обычно - номер версии), и после легко можешь выдать коммиты по тегам.
Вобщем - много чего вкусного и интересного есть в git'e.
ЗЫ: Насколько я знаю, в последней версии эклипса (Helios) уже добавили app store, где есть удобный поиск и установка.
Каждый выбирает то что в конкретном случае подходит для его задач.
Конкретно у нас сейчас используется SVN - свои плюсы, свои минусы... GIT все же подразумевает более высокие знания по сравнению с SVN. По SVN возникает куча вопросов, по GIT ваще сума сошел бы)
У SVN есть неоспоримый плюс в том что если заставлять комитить в своих ветках людей хотя бы каждый день - виден процесс продвижения/направления задач которые не на один день, чего нет в децентрализованных хранилищах.
как известно - на вкус и цвет... )))
Отправить комментарий