On Thu, Sep 21, 2006 at 11:30:06PM +0400, Денис Смирнов wrote: > В связи с большим количеством репозиториев у меня, использующих svn, я > написал простейшую утилитку для обновления git из svn. > > Утилитка и пример конфига для нее в аттаче. > > Оно кому-нибудь кроме меня надо? Мне приходится фетчить из разных подкаталогов, напр. http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/compiler http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/rtl и складывать это в разные бранчи, потом перемещать в подкаталоги и сливать. Это не очень красиво, хотя вроде бы работает. Кроме того, таким образом нельзя фетчить отдельные файлы (типа fpc.1, который почему-то лежит в ещё более другом месте), и, даже если бы это работало, не хотелось бы заводить отдельный бранч для отдельного файла. Короче я немного поковырял git-svn и подумал, что можно было бы его захачить и писать более сложный rc-файл, типа URL=http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/compiler subdir=compiler URL=http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/rtl subdir=rtl URL=http://svn.freepascal.org/svn/fpcbuild/branches/fixes_2_0/install/man/man1/fpc.1 subdir=man1 Потом как всё это сливать. Если в пределах trunk'а revision'ы пересекаются, тогда можно делать соответствующие атомарные коммиты для compiler и rtl. В общем можно как бы немного переписать git-svn, там ничего хитрого нет, но меня не интересует возможность commit обратно в svn. Ещё меня беспокоит что git-push не аплоадит мета-информацию из .git/svn/; Это значит, что после git-clone дальнейшая работа с git-svn будет невозможна.