Я разрабатываю личные проекты на двух машинах без использования общего сервера или сетевого соединения между ними.
Поддерживают ли какие-либо распространенные системы контроля версий надежное использование портативного хранилища (например, USB-устройства флэш-памяти) в качестве общего хранилища?
version-control
billpg
источник
источник
Ответы:
Используйте DVCS, такой как Git или Mercurial .
Распределенные системы контроля версий не имеют общего центрального сервера.
С DVCS каждая копия репозитория содержит полную историю - все. Это означает, что при использовании на USB-ключе любые внесенные вами изменения вносятся в репозиторий на USB-ключе и при перемещении между компьютерами сохраняют эту историю.
источник
Помимо GIT, Mercurial и др., Предложенных выше, также обратите внимание на Fossil - у него есть преимущества, заключающиеся в том, что двоичные файлы времени выполнения являются небольшими (1Meg или около того для Windows и Linux), переносимы и не требуют установки. Поэтому, в отличие от других (насколько мне известно), его можно поместить на устройство хранения и запустить на любой машине, к которой подключено хранилище, без предварительной установки приложения на машину. Он включает в себя Wiki и систему отслеживания изменений / дефектов с репо. Он также имеет встроенный графический интерфейс.
Я не использовал его всерьез (я в основном использую GIT), но был впечатлен его легким подходом, а включение Wiki и дефектоскопа делает его идеальным для небольших проектов. Моя единственная обеспокоенность заключалась в том, что некоторые из более мощных функций GIT могут быть невозможны, и в отличие от GIT, сообщество пользователей не настолько велико, что легко найти ответы на вопросы.
источник
Использование DCVS, вероятно, хорошая идея, но это не единственный вариант.
У меня есть небольшой репозиторий CVS на флэш-накопителе USB. Когда я хочу получить к нему доступ, мне просто нужно использовать
cvs -d <path>
или указать$CVSROOT
путь к корню хранилища (что, конечно, требует, чтобы в системе был установлен флэш-накопитель).Если вы уже привыкли использовать CVS, это должно быть работоспособно. То же самое должно относиться к SVN. Это просто означает, что ваш центральный репозиторий находится на флэш-накопителе и не всегда виден.
Есть аргументы для использования DCVS, а не CVS в целом. Я не думаю, что на эти аргументы особенно влияет то, находится ли центральное хранилище на флэш-накопителе или где-то еще. Например, вы можете также легко создать git-репозиторий на флэш-накопителе.
источник
В дополнение к другим ответам:
Хотя DVCS очень хорошо подходит для этой проблемы, технически вы также можете использовать Subversion, если вам удобнее. Subversion может использовать локальный каталог вместо центрального сервера. Вы можете просто положить это на флэш-накопитель и использовать его.
Недостаток, по сравнению с DVCS, заключается в том, что вы можете работать только с Subversion (т. Е. Зафиксировать, просматривать журналы и т. Д.), Когда подключен флэш-накопитель. Кроме того, он всегда должен быть одним и тем же флэш-накопителем (или, по крайней мере, -to-date copy), потому что с Subversion вы не должны использовать более одного репозитория (это нераспределенная часть). Поэтому, если вы когда-нибудь забудете свой флэш-накопитель, вы не сможете его использовать, в отличие от Git или Mercurial.
Замечания:
Как объяснено выше и в комментариях, DVCS действительно лучше подходит для вашей проблемы. Я упоминал Subversion только для полноты картины, и в случае, если у вас есть особые причины использовать Subversion.
источник
svn
(или даже Cvs) может иметь значение в пользу использования этого решения, но в интересах полного раскрытия следует также упомянуть недостатки этого подхода. Не стесняйтесь редактировать пункты из моего комментария в ваш ответ. Если вы это сделаете, я был бы рад очистить (удалить) мои комментарии. * 8 ')