Чтобы добавлять сообщения и комментарии, .

@dluciv:
dluciv

Засосал в Git репозиторий от SVN. Помимо trunk и tags, там был ещё каталог stuff.
Я уже примерно понял, куда его уместно воткнуть.
Остался вопрос: как я могу подкачать из SVN URL в гитовый репозиторий этот каталог с историей так, чтобы всё это барахло попало именно в упомянутое выше "_туда_"? К тому, что порядок истории не сохранится, я морально готов.

@Melhior:
Melhior

Нужно было сделать чтобы через шару можно было посмотреть что есть в репозитарии(доступ на чтение). В итоге самое просто решение оказалось прикруть репу к апачу. Затем поставить davfs через который примонтировать репу(через апач) в каталог. И натравить самбу на каталог. Квест пройдет хоть и костыльно.

@Melhior:
Melhior

Кто будет отслеживать subversion (svn update) через inotify — svn при апдейте файла вызывает событие "IN_MOVED_TO".

@mikola:
mikola

А что Жуик? Кто-нибудь уже поюзал svn 1.8 rc?

@Annoynimous:
Annoynimous

Как правильно использовать git-svn с сабвершоном с экстернал-говном?

‰ ~/.local/bin/gsc all-it.ru
svn: E205000: Try 'svn help' for more info
svn: E205000: Syntax error parsing peg revision '67 phiXOS'
Traceback (most recent call last):
File "/home/l29ah/.local/bin/gsc", line 9, in <module>
load_entry_point('gsc==0.1', 'console_scripts', 'gsc')()
File "/home/l29ah/.local/lib64/python2.7/site-packages/gsc-0.1-py2.7.egg/gsc/cmd.py", line 138, in clone
std_layout=opts.std_layout, latest=opts.latest)
File "/home/l29ah/.local/lib64/python2.7/site-packages/gsc-0.1-py2.7.egg/gsc/cmd.py", line 118, in checkout_svn
checkout_svn(svn_path, file_path, latest=True)
File "/home/l29ah/.local/lib64/python2.7/site-packages/gsc-0.1-py2.7.egg/gsc/cmd.py", line 110, in checkout_svn
git_repo.svn('fetch', *fetch_args)
File "/home/l29ah/.local/lib64/python2.7/site-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py", line 227, in <lambda>
return lambda args, *kwargs: self._call_process(name, args, *kwargs)
File "/home/l29ah/.local/lib64/python2.7/site-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py", line 456, in _call_process
return self.execute(call, **_kwargs)
File "/home/l29ah/.local/lib64/python2.7/site-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py", line 377, in execute
raise GitCommandError(command, status, stderr_value)
git.exc.GitCommandError: 'git svn fetch' returned exit status 1: Bad URL passed to RA layer: Unrecognized URL scheme for '67 all-it.ru at /usr/lib64/perl5/vendor_perl/5.16.3/Git/SVN.pm line 148.

@Tishka17:
Tishka17

Как в свн закоммитить текущие правки и игнорируя изменения, которые внесли в репу после последнего апа?

@arrowdodger:
arrowdodger

Толи мне чудится, толи в в 1.7мом свне команда diff стала жутко медленной.

@az09:
az09

каким клиентом svn посоветуете воспользоваться в ubuntu 10.04? чтобы не сильно консольный и желательно из центра приложений

@mikola:
mikola

Всё. Закончил перевод мануала #TortoiseSVN 1.7. Ждём релиза #subversion

@mikola:
mikola

Apache #Subversion 1.7.0-alpha3 Released goo.gl

@arrowdodger:
arrowdodger

Придумал хитрый интероп между ртутью и свн — чекаутнуть свн, прямо в нем сделать hg init, девелопить в ртутном репе и по временам пуллить из "свн".
В моем случае это просто мегакруто, т.к. из свн мне надо только коммиты брать, и история мне тоже не нужна.

@mikola:
mikola

А вот release notes j.mp и ссылки для скачивания j.mp #subversion

@mikola:
mikola

Yes! Вышел #Subversion 1.7.0-alpha1. Может в июне успеют выпустить и релиз.

@helgi:
helgi

Полистал тут книжечку Managing Software Development with Trac and Subversion (за авторством некоего Дэвида Дж. Мёрфи, издательство Packt). Странно, но почему-то ждал откровений, пусть мелких. Видимо, моё доверие к печатной продукции (в противовес сетевым источникам) до сих пор удивительно высоко.

К сожалению, откровений там нет. Книга 2007 года издания (плохо), в ней описывается svn (плохо) и трак (хорошо) версии 0.10 (плохо). Вся книга состоит из следующего: а) общих (/очень/ общих) слов о подходе к управлению проектом при помощи трака, б) описанию возможностей трака и svn, в) howto по установке трака и svn на винду и линукс.

Короче, несмотря на то, что на trac.edgewall.org эту книгу рекламируют, искать в ней что-то бессмысленно.

@yzh44yzh:
yzh44yzh

Transmitting file data ......
Committed revision 11111.

взял гет )

@yzh44yzh:
yzh44yzh

У svn можно брать гейты по номерам комитов, а у git нет. Это ужасный недостаток! )

@deadlink:
deadlink

Мой проект по реализации клиента subversion на php (без использования модуля php-svn) code.google.com

@yzh44yzh:
yzh44yzh

svn под маком требует пароль на каждую операцию. Я уже устал его печатать (он длинный). Как бы маку объястить, чтобы он сохранил пароль себе где-нибудь?

@yzh44yzh:
yzh44yzh

До сих пор я старался избегать бранчей, а особенно мердж. Но сейчас стал вопрос ребром — нужно это делать. А коли так, то пора задуматься: то ли осваивать досконально нелегкую науку меджрей в svn, то ли переходить на какой-нибудь mercurial или git?

Знаю, знаю, что вы будете мне советовать :) Но с subversion я как-то подружился, да и лениво в чем-то новом разбираться. Буду думать.

@idler-max:
idler-max

Прощай Subversion! Ветки в DVCS это просто рай по сравнению с твоим svn copy

@yzh44yzh:
yzh44yzh

Итак, вот в чем проблема: если output directory для билда в IDEA находится под svn, то IDEA при каждом ребилде, нисколько не смущаясь, запросто сносит внутри папки .svn все файлы и каталоги, чьи имена заканчиваются на tmp

Из этого следует, что output directory должна быть вне контроля версий. А поскольку скомпилированные swc мы все-таки хотим сделать доступными для всех, то их придется скопировать куда-нибудь обратно под контроль версий.

Вручную. Либо bash-скриптом. Либо сим-линки прописать. Лучше всего bash-скриптом.

Ну или просто выложить куда-нибудь в общедоступное место.

@yzh44yzh:
yzh44yzh

Разбиваю монолитное сборище библиотек на отдельные модули. Каждый модуль компилирую в swc, все swc складывают в libs. Каждый раз при создании нового модуля и его компиляции в libs появляется новый swc. Каждый раз одна и та же картина:

svn add libs/myModule.swc
svn: Can't open 'libs/.svn/props/tempfile.tmp': No such file or directory

Каждый раз одно и то же действие:

rm -rf libs
svn update libs
rebuild project
svn add libs/myModule.swc
svn commit -m "add myModule.swc"

Ну вот как он может постоянно пропадать, этот tempfile.tmp? Ну один раз сработала стремная умолчалная настройка IDEA: clear output directory on rebuild. Но тогда этот clear снес всю папку .svn целиком. А сейчас избирательно пропадает один файл, причем регулярно :(

@yzh44yzh:
yzh44yzh

Вот еще пару раз увижу это говно, и точно все перейдем на mercurial
svn: Can't open 'libs/.svn/props/tempfile.tmp': No such file or directory

@yzh44yzh:
yzh44yzh

опять порадовал: внезапно svn status стал показывать, что один из каталогов проекта переключен на другую ветку. И это при том, что никаких веток в проекте нет, один trunk. Вот не знаю, что теперь с этим делать. Разве что, как обычно, снести рабочую копию и сделать checkout заново.

@yzh44yzh:
yzh44yzh

В дополнение к #427282
Разворачиваем проект без IDE-настроек из репозитория. В проекте уже лежит баш-скрипт install, примерно такой:
#!/bin/bash

echo "install project MyCoolProject"

PROJ=/path/to/project
SETT=/path/to/settings

if [ ! -d $SETT ]; then mkdir $SETT; fi

echo "checkout project settings"
cd $SETT
svn checkout svn://myRepository/MyCoolProject/settings/developerName/ .

echo "create simlinks"
cd $PROJ
ln -s $SETT/idea .idea

for i in module1 module2 module3 module4;
do
cd $PROJ/$i
ln -s $SETT/$i.iml $i.iml
done

echo "done"

Он получает IDE-настройки из репозитория для конкретного разработчика в отдельную папку и делает симлинки в папке проекта.
Все, можно открывать проект в IDE и он сразу настроен для конкретной машины.

Работает, правда, только для тех ОС, где поддерживаются симлинки. В винде они тоже вроде как есть, но хз. Ну и в винде это надо будет на bat переписать, либо с cygwin повозиться.

@yzh44yzh:
yzh44yzh

Это #426358 оказалось не такой уж бредовой идеей. Причем никакая экзотическая система контроля версий не понадобилась. Просто создаем отдельный каталог, в него из проекта перекидываем папку .idea и все module1/module1.iml module2/module2.iml В каталоге проекта делаем симлинки на реальные файлы. Каталог настроек отдельно импортируем в репозиторий.

Теперь я могу спокойно синхронизировать настройки между рабочим и домашним компом (окружение у них одинаковое). Для разных разработчиков можно делать ветки настроек, и никто будет мешать друг другу.

Еще в проекте можно сделать bash-скрипт, который автоматически создаст каталог настроек вне каталога проекта, сделает checkout из нужного места в репозитории и залинкует симлинки.

Все, проект будет подыматься в один клик, не хуже мавена.

PROFIT :)

@yzh44yzh:
yzh44yzh

svn ingore очень не удобен в использовании, особенно из консоли. Ладно, все, надоело. Планируем переход на другую систему контроля версий.
Пока выбор между git и mercurial. Я сперва исключал git, ибо у него небыло нормального gui клиента под винду. Но счас вроде бы есть code.google.com
А черепаху, я гляжу, хорошие люди делают bitbucket.org :)

@yzh44yzh:
yzh44yzh

Ну я и дядел. Пользуясь тем, что из всей команды у меня одного IDEA я спокойно закоммитил вместе с проектами все .ipr, .iws, *.iml файлы. Оно удобно — когда обновлял проекты из дома там уже были все нужные настройки.
И вот здрасте — еще один разработчик в моем тиме начал юзать IDEA. Пришлось все это удалять из проектов :)

@yzh44yzh:
yzh44yzh

Бывает такое (и довольно часто): смотрим HEAD в репозитории, видим:
fileA
fileB
fileC
смотрим рабочую копию, видим:
fileA
fileC
одного файла не хватает. svn status возвращает пустую строку (типа все синхронизирована). svn info показывает, что рабочая копия соотвествует HEAD. svn update ничего не меняет, говорит что рабочая копия соотвествует HEAD.
Наконец, svn update fileB забирает этот файл из репозитория и кладет в рабочую копию.

В итоге у меня переодически бывает так, что я делаю svn update, потом в IDEA вижу ссылки на какой-то несуществующий класс, гляжу в репозиторий — там он есть, у меня в рабочей копии нету. И не появится, пока я не сделаю svn update /path/to/class/Class.as

Кто-нибудь знает, что это за фигня?

@yzh44yzh:
yzh44yzh

Народ, объясните, плз, кто-нибудь: Это я дурак, или у subversion и правда проблемы с файлами, имеющими пробелы в имени? Уже с десяток раз имел с этим проблемы.

@yzh44yzh:
yzh44yzh

И снова я добавил бинарный файл с пробелом в имени. И снова и при update был обрадован сообщением
Error:svn: Error processing command 'mv' in '/home/yura/IdeaProjects/.../src'
svn: Can't move source to dest
svn: Cannot rename file '/home/yura/IdeaProjects/.../src/.svn/tmp/prop-base/Stats.as.svn-base' to '/home/yura/IdeaProjects/.../src/.svn/prop-base/Stats.as.svn-base'
На этот раз все обошлось, разрулил из консоли. svn cleanup сработал, как ни странно.

@yzh44yzh:
yzh44yzh

Шутки шутками, а bash скрипт таки написал:

#!/bin/bash
rm -rf /home/yura/IdeaProjects/dn
svn checkout svn://myserver/myproject/trunk/ /home/yura/IdeaProjects/dn

Работать-то надо как-то :(

@yzh44yzh:
yzh44yzh

Опять поломалась рабочая копия. IDEA тут точно не причем, последние пару недель все update и commit делал из консоли. Есть закономерность: рабочая копия ломается, когда кто-то из-под винды (а откуда еще?) добавляет новый бинарный файл: psd или fla.

Что интересно, тот же проект под виндой ни разу не ломался. Кажись корень проблем в каких-то различиях в файловых системах винды и линукса.

@yzh44yzh:
yzh44yzh

В очередной раз дизайнер закоммитил новый psd файл, и в очеденой раз сломалась моя рабочая копия. И не починишь — svn cleanup вызывает Segmentation fail. Опять нужно сносить и создавать заново. Начинаю думать, что IDEA тут ни при чем. Это личные счеты между subversion и psd-файлами.

Ну что, git?

@yzh44yzh:
yzh44yzh

В очередной раз возник lock в рабочей копии, и я, наконец, понял, в чем были проблемы. Оказывается IDEA (ее subversion плагин) неправильно работает, если в именах файлов есть пробелы. Плагин этот выполняет svn move file name with spaces и имя файла не берет в кавычки. В результате получается вся фигня.

Проблема эта никогда раньше не возникала, потому что с subversion работали только программисты. А никакому нормальному программисту и в голову не придет давать файлам имена с пробелами. А тут наш дизайнер стал коммитить туда свои psd, и там везде пробелы в именах.

Тем не менее, это баг IDEA. В такой зрелой IDE странно видеть такие нелепые ошибки.

@yzh44yzh:
yzh44yzh

Мне определенно не нравится, как IDEA работает с subversion. Некоторые виды конфликтов из IDEA не видны, и разрешить их нельзя. Приходится переключаться в консоль и делать оттуда.

Но я уже крепко подсел на IDEA и возвращаться к Flex не хочется. Может от subversion отказаться? Надо будет дома на каком-нибудь своем проекте попробовать Git.

С другой стороны, меня не особо напрягает пользоваться консолью. Пока так поживу, а там видно будет.

@yzh44yzh:
yzh44yzh

ну бля, опять

yura ~/IdeaProjects/dn $ svn cleanup
svn: Your .svn/tmp directory may be missing or corrupt; run 'svn cleanup' and try again
svn: Can't open file 'BlowIntoTheMic/.svn/tmp/entries': No such file or directory

Вчера только заново создал рабочую копию. Всего лишь переименовал класс рефакторингом, как сразу что-то пропало в .svn Это IDEA глючит, однозначно.

@yzh44yzh:
yzh44yzh

Проблемы с svn все в одном проекте. До этого в других проектах не было. Однако до этого мы не хранили в репозитории psd и fla файлы. Бинарных файлов было немного и они обычно не модифицировались. А сейчас много и модифицируются часто. Видимо в этом корень всех проблем.

@yzh44yzh:
yzh44yzh

что-то перестал радовать. Какие-то локи возникают невесть откуда, файлы пропадают из папок .svn, после чего он не хочет делать апдейт. И cleanup не помогает :(

@yzh44yzh:
yzh44yzh

IDEA коммитит не каталог проекта, а индивидуально каждый измененный файл. В итоге можно сделать комит без предварительного апдейта, если в репозитории именно эти файлы не изменялись. Это, в общем-то, неплохо. В Eclipse я всегда коммитил весь проект, а для этого почти всегда нужно было делать апдейт перед комитом. Там тоже можно закомитить отдельные файлы, но только вручную.

Идеологически верно, конечно, всегда делать апдейт перед комитом. Но на практике не всегда удобно. Так что подход IDEA мне нравится больше.

И еще, у меня в одном проекте в IDEA собраны модули, которые в репозитории числятся отдельными проектами. Это потому, что клиентская и 2 серверные части (FMS и PHP) изначально создавались как три разных проекта. И для всей команды, кроме меня, они и остаются разными проектами. IDEA у меня одного, и она позволяет мне иметь внутри проекта несколько рабочих копий, полученных из разных точек репозитория. IDEA все их коммитит одной правкой. В Eclipse каждый проект нужно коммитить отдельно.