Персональный контроль источников через SubVersion - останови меня, прежде чем я зайду слишком далеко!

1450
STW

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

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

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

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

4

6 ответов на вопрос

13
Daff

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

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

4
retracile

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

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

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

О, только что вспомнил еще один: когда я делаю проверку моего домашнего каталога на новой машине, я должен убедиться, что я касаюсь индексных файлов mbox, чтобы kmail не перестраивал их, и выбрасывал флаги чтения / ответа / etc в теме. Использование maildir вместо mbox приводит к третьему недостатку, который я уже упоминал. retracile 14 лет назад 0
Retracile, вы можете редактировать свой ответ, чтобы включить свой комментарий. В связанной заметке вы также можете удалить свой комментарий после включения его в ответ. Travis 14 лет назад 0
4
Jack M.

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

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

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

</ 2 цента>

Вы МОЖЕТЕ делать инкрементные, версионные резервные копии с помощью RSync, и главное было то, что есть более подходящие инструменты для обработки бинарных файловых резервных копий, чем система управления версиями SOURCE (для резервных копий я предпочитаю это наоборот: пусть сервер извлекает новые резервные копии вместо о необходимости все время совершать). Я никогда не говорил, что это не работает, если вы можете жить со всеми недостатками. Daff 14 лет назад 0
http://backuppc.sourceforge.net/ показывает, как вы можете сохранять версии резервных копий при использовании rsync. gbjbaanb 13 лет назад 0
4
Doug Harris

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

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

2
Joshua K

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

1
Hugo

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

Похожие вопросы