Около полутора лет назад мы анонсировали поддержку svn, которая позволила ограниченно использовать репозитории GitHub через клиенты subversion.
Сегодня мы запускаем новую улучшенную поддержку svn.
Боль��е не надо использовать svn.github.com, теперь вы в svn клиенте можете использовать тот же url, что и в git. Репозитории все еще доступны по svn.github.com, но вам следует их мигрировать, т.к. svn.github.com скоро будет выключен.
Репозитории маппятся так, чтобы выглядить в svn «стандартно». Например, ваш master бранч станет trunk, а остальные бранчи осядут в branches/
Делайте checkout и up только тех частей репозитория, которые вам нужны
Редактируйте файлы, создавайте бранчи и заливайте ваши изменения.
Мы продолжим улучшать интеграцию с subversion для того, чтобы смешанным командам стало легче работать вместе. Ожидайте следующих изменений:
Сегодня мы запускаем новую улучшенную поддержку svn.
Что нового?
URL
Боль��е не надо использовать svn.github.com, теперь вы в svn клиенте можете использовать тот же url, что и в git. Репозитории все еще доступны по svn.github.com, но вам следует их мигрировать, т.к. svn.github.com скоро будет выключен.
$ git clone github.com/nickh/dynashard git-ds
Cloning into git-ds…
remote: Counting objects: 135, done.
remote: Compressing objects: 100% (71/71), done.
remote: Total 135 (delta 65), reused 128 (delta 58)
Receiving objects: 100% (135/135), 31.19 KiB, done.
Resolving deltas: 100% (65/65), done.
$ svn checkout github.com/nickh/dynashard svn-ds
A svn-ds/branches
A svn-ds/branches/shard_names
A svn-ds/branches/shard_names/.document
A svn-ds/branches/shard_names/.gitignore
…
A svn-ds/trunk/spec/support
A svn-ds/trunk/spec/support/factories.rb
A svn-ds/trunk/spec/support/models.rb
Checked out revision 25.
Бранчи
Репозитории маппятся так, чтобы выглядить в svn «стандартно». Например, ваш master бранч станет trunk, а остальные бранчи осядут в branches/
$ git ls-remote --heads origin
7523fabdfea89c38b10afde0ec2f07095de8c9a2 refs/heads/master
2ed6303f260abe2bd76d231fe173aeef833b1c9e refs/heads/shard_names
$ svn ls
branches/
trunk/
$ svn ls trunk
.document
.gitignore
…
dynashard.gemspec
lib/
spec/
$ svn ls branches
shard_names/
Частичный checkout
Делайте checkout и up только тех частей репозитория, которые вам нужны
$ svn co -N github.com/nickh/dynashard svn-ds
Checked out revision 25.
$ svn up -N branches
A branches
Updated to revision 25.
$ svn up trunk
A trunk
A trunk/.document
A trunk/.gitignore
…
A trunk/spec/support
A trunk/spec/support/factories.rb
A trunk/spec/support/models.rb
Updated to revision 25.
Коммиты
Редактируйте файлы, создавайте бранчи и заливайте ваши изменения.
$ svn cp trunk branches/wip
$ svn commit -m 'Created a topic branch'
Adding branches/wip
Committed revision 26.
$ git ls-remote --heads origin
7523fabdfea89c38b10afde0ec2f07095de8c9a2 refs/heads/master
2ed6303f260abe2bd76d231fe173aeef833b1c9e refs/heads/shard_names
7523fabdfea89c38b10afde0ec2f07095de8c9a2 refs/heads/wip
$ echo '# Important change' >> branches/wip/README.md
$ svn commit -m 'Made an important change'
Sending branches/wip/README.md
Transmitting file data.
Committed revision 27.
Планы:
Мы продолжим улучшать интеграцию с subversion для того, чтобы смешанным командам стало легче работать вместе. Ожидайте следующих изменений:
- слияние и ребейс бранчей
- имена пользователей в коммитах
- поддержка аннотаций и ревью кода (blame)
- поддержка маппинга trunk на git-branch отличный от master
