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