Я был укушен ошибкой SVN в последнее время; в основном управляемый интенсивным использованием персонального repo на работе для того, чтобы удержать контроль над кодом подтверждения концепции, документами и маленькими файлами, и для хранения моих двух машин в синхронизации.
Мой домашний NAS, D-Link DNS-323, является твердым небольшим полем с некоторыми дополнительными сценариями и пакетами, установленными для обеспечения некоторых ежедневных резервных копий - но он также имеет несколько недостатков, которые мешают ему использоваться как, я хотел бы. Мои надежды состояли в том, чтобы использовать его в качестве моего постоянного файлового сервера для домашнего и удаленного использования - но средства управления разрешением довольно слабы и негибки, и доступ к нему снаружи моей домашней сети ограничен SSH/SCP и FTP (который только включен временно если когда-либо).
Таким образом, я думал мне: что, если я использовал его, прежде всего, в качестве основанного на SVN файлового сервера и предоставил удаленный доступ через SSH+SVN. У меня могла все еще быть non-SVN доля окон для больших файлов, таких как мои резервные копии ноутбука; но я мог в общем и целом использовать его в качестве SVN-repo для персональных файлов.
Вопрос здесь состоит в том, где я останавливаюсь, каковы ограничения на SVN относительно максимума repo размер или размер файлов, хранивших в нем?
Joey Hess, разработчик на проекте Debian, написал длинную, поучительную статью об использовании подверсии для персонального использования: Ниспровергание Вашего homedir или хранение Вашей жизни в svn. Я думаю, что Вы найдете некоторые хорошие идеи там.
Если Вы будете читать тщательно вверху и внизу той статьи, то Вы будете видеть, что он сначала реализовал эту идею в CVS и теперь сохраняет большую часть его корневого каталога в мерзавце
Подверсия главным образом используется в качестве системы управления исходным кодом, поэтому это является основным, предназначают, не должен присваивать версию двоичным файлам. Какие преимущества Вы видите в использовании Подверсии для хранения Вашей Системы в Синхронизации (я нашел бы ужасным к всегда необходимости сохранить метаинформацию Подверсии в моих нормальных файлах и управлении, которое могло стать довольно раздражающим)?
Возможно, резервный инструмент как rsync или Унисон Синхронизатора файла через FTP или SSH более подходит для того, что Вы хотите сделать.
В то время как подверсия для управления исходным кодом, я (ab) использую его для резервного копирования. Существует много интересных ограничений, с которыми я столкнулся:
Однако даже с этими ограничениями я нахожу, что это работает очень хорошо на меня. Одной интересной вещью, которую можно сделать на сервере, является использование, рычаг постфиксации для продвижения копии каждого соглашается на удаленное местоположение автоматически (использующий svnadmin инструмент, чтобы сделать возрастающий дамп того пересмотра).
Насколько ограничения размера идут, у меня никогда не было его, отклоняют файл. Включая помещение файлов ISO там, и т.д. repo размер почти всегда ограничивается размером жесткого диска, не подверсией.
В ответ на ответ Daff:
rsync
не делает, какая подверсия может. Имеет ISO Ubuntu, Вы хотите иметь в наличии для записи везде, Вы?Отлично! rsync
может распределить файл, он работает отлично. Но теперь Вы обновляете к Ubuntu 69.88, но Вы находите неделю спустя, что она не продолжает работать Ваше старое 486sx ноутбук. С rsync
, необходимо пойти, выслеживают более старый ISO, загружают его, и т.д. С подверсией, можно просто откатывать к более старой версии файла.
Если Вы собираетесь использовать подверсию для некоторых файлов, Вы могли бы также полностью выложиться и использовать ее для всего. Большие файлы не так эффективны, но могли бы также сохранить централизованным.
</2 центы>
Скала на! Я делал это в течение нескольких лет и его действительно большого! Это действительно проявляет немного заботы, хотя, но теперь каждый раз, когда я получаю новую машину, я делаю svn co, и запускают скрипт там, и я получаю Firefox, и все как мне нравится он.
Я попытался сделать попытку к использованию подверсии для вещей кроме моего кода разработки. Я понимаю что, в то время как это работает очень приятно на пользователей разработчиков, потому что это имеет историческую учетную запись прогрессии иллюстраций. Книга, которую я купил для подверсии, запускается с упоминания, что они действительно используют подверсию для всего включая их списки покупок бакалеи. В то время как я не делаю больших графических искусств, mediawiki обеспечивает ту же функциональность в уже простом в использовании веб-интерфейсе. Это также имеет дополнительные функции, такие как дискуссия о содержании. Я думаю, что Trac делает очень хорошо путем прикладывания дополнительные усилия и слияния Wiki с svn. Будучи плохо знакомым с svn, я не столкнулся ни с каким ограничением кроме дополнительного времени, требуемого для дополнительных шагов.