Работа в автономном режиме с SVN на локальной машине
Я работаю над проектом в настоящее время на SVN. Однако я не буду иметь доступ к Интернету в течение нескольких дней и буду работать над своим проектом.
Есть ли способ сделать клон репозитория на моем локальном компьютере, зафиксировать изменения в нем, и когда я получу доступ к интернету, "надавите" их на общий репозиторий? Думая о Меркуриале здесь, стоит ли полностью мигрировать?!
Ответы
Ответ 1
Ваша проблема звучит для меня как для git-svn
:
- настройте свой Git репо:
git svn clone http://svn.example.com/project/trunk
- находясь в сети, внесите изменения в SVN
- перед выходом в автономный режим выполните
git svn rebase
, чтобы получить репо Git в синхронизации с репо SVN
- находясь в автономном режиме, передайте репо Git с помощью
git commit
- При повторном подключении снова выполните
git svn dcommit
, чтобы вернуть свои изменения обратно в репозиторий SVN
Я использую этот рабочий день ежедневно!
Вы получаете два огромных преимущества:
- ваша полная история SVN резервируется в репозитории Git и в каждом репо Git, которое клонируется с этого
- находясь в автономном режиме, вы можете просмотреть сообщения о фиксации, проверить другие ветки и т.д.
Ответ 2
Нелепым ответом было бы перейти на другой инструмент управления версиями, без обид!
У меня была точная проблема.
Используется SVN на моем "реальном" сервере, где находится "настоящий" репозиторий.
Когда я вышел с моим ноутбуком, без Интернета, я бы просто дублировал "настоящий" репозиторий на этом ноутбуке (VisualSVN + TortoiseSVN), работал над ним, менял/фиксировал все, а когда возвращался просто "синхронизировал" новую "ревизию", файлов в "реальный" репозиторий.
Быть немного более ясным: иметь два сервера SVN, один локально на вашем ноутбуке (клон) и один на вашем "реальном" сервере (очевидно). Просто синхронизируйте между ними.
Ответ 3
Вы можете получить доступ к репозиториям svn с помощью меркуриального.
Ответ 4
Я использую git в проекте, который использует SVN по той же причине, что вы описали выше. Некоторые из них привыкают к git/mercurial, но через некоторое время мне очень нравится новый подход. Кроме того, у меня никогда не возникало проблем с использованием git -svn, никогда не пробовал меркурий и svn..
Если вы находитесь на Mercurial и по-прежнему ищете хороший учебник с одним или двумя смехами, посмотрите этот учебник, написанный Джоэлом Спольским, И, как упоминалось ранее, безусловно, это отличная возможность начать работу с DVCS.
Ответ 5
Всегда SVK. Я не использовал его в течение многих лет, поэтому я не уверен, насколько хорошо он работает.
Ответ 6
Отказ от ответственности: я являюсь автором SOS (автономная поддержка SVN).
Я написал этот простой в использовании инструмент командной строки, чтобы точно решить проблему работы с SVN в автономном режиме, но он работает не только при проверке SVN, но и для любой рабочей копии VCS (например, Bazaar, Git, fossil) или даже в деревьях без следа. SOS допускает простые коммиты, ветвление, операции переключения/обновления без всех сложных знаний семантического фона, требуемых традиционным VCS. После возвращения в онлайн вы можете интегрировать все изменения обратно в свою базовую VCS.
Веб-сайт
Для установки требуется Python 3 и обрабатывается через pip install -U sos-vcs
Ответ 7
Хехехе, хорошее время, чтобы обнаружить mercurial или git для себя!!