4

Я был укушен ошибкой SVN в последнее время; во многом благодаря интенсивному использованию личного репо на работе для контроля кода, документов и небольших файлов, а также для синхронизации моих двух машин.

Мой домашний NAS, D-Link DNS-323, представляет собой солидную небольшую коробку с некоторыми дополнительными сценариями и пакетами, установленными для обеспечения ежедневного резервного копирования - но у него также есть несколько недостатков, которые не позволяют использовать его так, как мне бы хотелось , Я надеялся использовать его как мой постоянно работающий файловый сервер для домашнего и удаленного использования, но контроль разрешений довольно слабый и негибкий, и доступ к нему из-за пределов моей домашней сети ограничен SSH/SCP и FTP (который включен только временно, если когда-либо).

Поэтому я подумал про себя: что, если бы я использовал его главным образом в качестве файлового сервера на основе SVN и разрешил удаленный доступ через SSH+SVN. У меня все еще может быть общий ресурс Windows без SVN для больших файлов, таких как резервные копии моего ноутбука; но я мог бы использовать его в качестве SVN-репо для личных файлов.

Вопрос здесь в том, где мне остановиться, каковы ограничения SVN в отношении максимального размера репо или размера файлов, хранящихся в нем?

6 ответов6

13

Subversion в основном используется в качестве системы управления исходным кодом, поэтому его основной целью является не версия бинарных файлов. Какие преимущества вы видите в использовании Subversion для поддержания вашей системы в синхронизации (мне было бы ужасно постоянно хранить метаинформацию Subversion в моих обычных файлах и управлять ими, что может стать довольно раздражающим)?

Может быть, средство резервного копирования, такое как rsync или файл Synchronizer Unison через FTP или SSH, больше подходит для того, что вы хотите сделать.

4

Джои Хесс (Joey Hess), разработчик проекта Debian, написал длинную поучительную статью об использовании subversion для личного использования: подрыв вашего homedir или сохранение вашей жизни в svn. Я думаю, что вы найдете там несколько хороших идей.

Если вы внимательно прочитаете вверху и внизу этой статьи, вы увидите, что он впервые реализовал эту идею в CVS, а теперь хранит большую часть своего домашнего каталога в git.

4

В то время как Subversion для контроля версий, я (ab) использую его для резервного копирования. Есть ряд интересных ограничений, с которыми я столкнулся:

  • используя http транспорт, я иногда сталкивался с лимитами передачи 2GB на извлечения и фиксации, но не всегда
  • в подкаталоге .svn есть вторая копия каждого файла, поэтому вы сразу удваиваете свои потребности в пространстве
  • большое количество файлов в каталоге становится очень медленным
  • хранилище subversion никогда не сжимается; он будет только увеличиваться в размере, даже когда вы "удаляете" файл, потому что он хранит историю этого файла, которая была там в прошлом

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

4

Что касается ограничений по размеру, у меня никогда не было отказа от файла. Включая размещение ISO-файлов и т.д. Размер репо почти всегда ограничен размером жесткого диска, а не подрывной деятельностью.

В ответ на ответ Даффа : rsync не делает то, что может подрывная деятельность. Есть ли у вас Ubuntu ISO, который вы хотите иметь для записи везде, где вы есть? Большой! rsync может распространять файл, он отлично работает. Но теперь вы обновляетесь до Ubuntu 69.88, но через неделю вы обнаружите, что он не работает на вашем старом ноутбуке 486sx. С rsync вы должны искать более старый ISO, загружать его и т.д. С помощью Subversion вы можете просто вернуться к старой версии файла.

Если вы собираетесь использовать Subversion для некоторых файлов, вы можете также использовать все возможности и использовать его для всего. Большие файлы не так эффективны, но могут поддерживать их централизованно.

</2 цента>

2

Я пытался подтолкнуть к использованию Subversion для других вещей, чем мой код разработки. Я понимаю, что в то время как это работает очень хорошо для пользователей дизайнеров, потому что у него есть исторический отчет о прогрессе художественного произведения. Книга, которую я купил для Subversion, начинается с упоминания о том, что они используют Subversion для всего, включая списки покупок. Несмотря на то, что я мало занимаюсь графикой, mediawiki предоставляет те же функциональные возможности в уже простом в использовании веб-интерфейсе. Он также имеет дополнительные функции, такие как обсуждение контента. Я думаю, что у Трэка все получилось, пройдя лишнюю милю и включив вики с svn. Будучи новичком в SVN, я не столкнулся с какими-либо ограничениями, кроме дополнительного времени, необходимого для дополнительных шагов.

1

Раскачать! Я занимаюсь этим пару лет, и это действительно здорово! Хотя это немного заботит, но теперь, когда я получаю новую машину, я запускаю svn co, запускаю скрипт и получаю firefox и все, что мне нравится.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .