LINUX.ORG.RU
ФорумAdmin

Автоматический SVN checkout


0

0

Здравствуйте!

Что-то не могу понять: поставил SVN, все работает и все отлично! Но, что-то не понимаю сохраняя (commit) файлы в SVN, потом нужно производить checkout непосредственно в самом проекте. То есть, разработчики не могут сразу видить внесенные изменения. Надо, что бы как только данные в SVN обновлялись, сразу checkout'ились в реальную папку с проектом. Как это реализовать?

★★★

Как сделать, чтобы огурцы ложкой банка майонеза?

Учитесь задавать вопросы.

gaa ★★
()
Ответ на: комментарий от gaa

> Учитесь задавать вопросы.

Учитесь читать более сложные вопросы, нежели "Как открыть дверь".

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

Раз Вы не хотите признавать, что поставили вопрос коряво, прогоню Вас ещё и по орфографии: слово "видить" пишется немного иначе.

Кроме того, замечание по терминологии: "потом нужно производить checkout непосредственно в самом проекте" -- не checkout, а update.

А по вопросу: нельзя. И это правильно, ибо никаких внезапных подмен файлов быть не должно.

gaa ★★
()
Ответ на: комментарий от gaa

> Раз Вы не хотите признавать, что поставили вопрос коряво, прогоню Вас ещё и по орфографии: слово "видить" пишется немного иначе.

Чего уж спорить. В спешке и такое бывает.

> Кроме того, замечание по терминологии: "потом нужно производить checkout непосредственно в самом проекте" -- не checkout, а update.

Как раз таки checkout, а именно "svn co http://host/project ."

> А по вопросу: нельзя. И это правильно, ибо никаких внезапных подмен файлов быть не должно.

Я допускаю внезапный подмен файлов. Жаль, что нельзя.

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

> Как раз таки checkout, а именно "svn co http://host/project ."

Обычно это делается один раз, а потом применяется svn update . (хотя точно не помню, я обычно в гуйке соответствующую кнопочку жму)

gaa ★★
()
Ответ на: комментарий от gaa

Даже один раз этого сделать нельзя, приходится тупо удалять рабочую компию и вытаскивать новую по 'co', что есть геморрой.

Или можно?

xio
()
Ответ на: комментарий от tailgunner

То что я понял из общения с SVN сроком в один день: 'up' можно сделать только после 'co' -- в том случае, если уже имеется рабочая копия. Когда некий проект -- совокупность файлов -- помещают в репозитарий import'ом, рабочей копии автоматически НЕ создается. После импорта, если попытаться сделать 'co' в каталоге рабочей копии, то SVN ругнется на уже существующие директории (если они есть). Поэтому приходится: а) import; б) cd .. && rm -rf ~-; в) co. Что жутко криво, но я не знаю как сделать правильно.

xio
()
Ответ на: комментарий от xio

> То что я понял из общения с SVN сроком в один день: 'up' можно сделать только после 'co' -- в том случае, если уже имеется рабочая копия.

Ну да. Ты говорил "приходится тупо удалять рабочую компию и вытаскивать новую по 'co', что есть геморрой" - это к чему?

Короче... http://svnbook.red-bean.com/ http://svnbook.red-bean.com/index.ru.html

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> приходится тупо удалять рабочую компию и вытаскивать новую по 'co', что есть геморрой

Угук, ерунду сказал.

> http://svnbook.red-bean.com/

Примерно половину пока осилил в сумме отрывков из разных мест, хорошая вещь +)

xio
()

а что в CVS не так? странно, сотня разработчиков работает так всю жизнь, а автор не может ). Вопрос конечно максимально корявый.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Во первых: checkout - в существующей рабочей копией никоим образом не ругается. А обновляет файлы, которые были изменены в репозитарии.

Во вторых: смысл работы с svn немного другой. Попробую примерно описать: создается проект, все разработчики сливают себе локальные рабочие копии, тестируют, дописывают, обновляют и прочее... затем, как они уже протестировали все !у себя! коммитят это в репозитарий. После чего, админ вручную должен про'сhecout'ить проект в действующую копию.

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

P.S. Мне же в свою очередь надо было, что бы без вмешательства админа, как только обновляются репозитарии svn'a с определенным проект, выдрать их в рабочую (действующую) копию автоматически!

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

> После чего, админ вручную должен про'сhecout'ить проект в действующую копию.

Почему админ? У каждого пользователя зачекаученная копия своя.

gaa ★★
()

>>как только данные в SVN обновлялись, сразу checkout'ились в реальную папку с проектом. Как это реализовать?

А зачем? Разработчик работает над своей проблемой, у него есть некий срез исходного кода. Когда он закончит с решением своей проблемы, он может закоммитить свои изменения. Если возникнет конфликт между правками внесенными посторонними разработчиками в проект в промежуток времени между временем взятия среза с проекта и внесенной этим же разработчиком правкой, то ему придется merge-ить изменения.

Может это и не очень удобно, но каковы альтернативы? Если emacs ему сообщит, что файл был visited кем-то ещё с момента его последнего сохраннеия, то паники будет гораздо больше.

anonymous
()

Задолбаешься коллизии разгребать.

UserUnknown ★★★★★
()
Ответ на: комментарий от anonymous

Страшно-то как... Вот так вот задашь вопрос, и тебя тоже обманут... Коллеги, вы чего? Кто сказал что нельзя? А ну-ка все бегом к дядюшке Гуглю шуршать в направлении "subversion hook post-commit"... И пишите себе скрипты, хоть шелл, хоть Ant и экспортите свой репозитарий куда-надо...

И еще. Не всегда над проектом работают несколько девелоперов, а СВН используется для КОНТРОЛЯ ВЕРСИЙ!

FreeOne
()
Ответ на: комментарий от FreeOne

И еще, все-таки лучше делать export, чем checkout... имхо...

FreeOne
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.