svn - удаленная, отключенная работа - PullRequest
4 голосов
/ 15 мая 2009

Мы используем SVN, и я собираюсь начать работать из дома. У меня была идея принести свой ноутбук, проверить проект и забрать его домой, возвратив и изменив процесс в понедельник.

Но это громоздкий ноутбук, и мне не нравится ездить с ним на спине.

Возможно ли вместо этого:

  1. Создание второго пользователя Windows / SVN "MeRemote"
  2. Проверьте проект в другом месте под "MeRemote"
  3. Скопируйте эти файлы на USB-диск
  4. Возьми диск домой, работай над файлами "локально"
  5. Возврат в понедельник, копирование на проверенный проект "MeRemote"
  6. «MeRemote» фиксирует изменения в репо
  7. «RealMe» обновляет изменения.

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

Это правильный способ сделать это? Просто проверяю, прежде чем войти в другой мир боли SVN.

Мы используем SVN, VisualSVN Server, клиент Visual SVN и TortoiseSVN.

Ответы [ 6 ]

6 голосов
/ 15 мая 2009

Простой способ

Это нормальный процесс для работы с SVN:

  1. Вы можете загрузить проект прямо на флэш-накопитель, выполнив оформить заказ на флэш-накопителе.
  2. Возьмите с собой флэш-накопитель и работайте с ним где угодно (например, с ноутбуком дома).
  3. Когда вы вернетесь к работе с флэш-накопителем, вы можете обновить код и затем зафиксировать все это в хранилище.

Когда вы обновляете изменения, используя свой рабочий логин, он показывает, кто изменился и зарегистрировался в файлах. Единственная трудность, с которой вы столкнетесь, - это исправить конфликты слияния, которые могут возникнуть.

Нужны локальные коммиты?

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

Вы также можете выполнять локальные коммиты, используя распределенный контроль версий, как указано Alex Martelli , это делается путем клонирования репозитория на ваш флеш-накопитель и последующей синхронизации с svn.

3 голосов
/ 15 мая 2009

Subversion предполагает, что метки файлов имеют точность не менее 1 секунды, чтобы проверить, изменились ли файлы, но файловая система FAT на большинстве USB-накопителей поддерживает точность только 2 секунды. Теоретически он может пропустить изменения в ваших файлах в первую секунду после обновления, фиксации и т. Д. И т. Д.

Я бы порекомендовал отформатировать USB-накопитель как NTFS для решения этой проблемы.

1 голос
/ 15 мая 2009

Я думаю, что вы могли бы быть заинтересованы в SVK

svk is a decentralized version control system built with the robust Subversion filesystem. It supports repository mirroring, disconnected operation, history-sensitive merging, and integrates with other version control systems, as well as popular visual merge tools. 

Вы можете найти сообщение в блоге с описанием использования и рабочего процесса здесь

1 голос
/ 15 мая 2009

На вашем месте, я бы использовал DVCS (например, Mercurial) и инструменты, которые поставляются с ним для плавного взаимодействия с SVN, см. Например https://www.mercurial -scm.org / вики / WorkingWithSubversion

0 голосов
/ 15 мая 2009

Вы можете просто экспортировать свой проект (та же структура fs без подпапок .svn) и работать в автономном режиме. Когда вернетесь к работе, просто скопируйте ваш путь разработки и затем подтвердите.

Может использовать простой vpn (используя openvpn, чтобы делать то, что вы просите), чтобы работать из дома без необходимости носить с собой ваш проект. Это обеспечивает полную функциональность scm (коммит, возврат, историю и т. Д.) И является правильным способом для меня.

0 голосов
/ 15 мая 2009

Вы можете использовать RealYou для извлечения проекта в другое место в вашем случае, на USB-накопитель. Затем вы сможете поработать с ним дома и зафиксировать изменения с USB-накопителя, когда вернетесь в понедельник.

Для этого вам не нужен отдельный пользователь.

...