Как мобильный студент может эффективно использовать Dropbox с системой контроля версий? - PullRequest
3 голосов
/ 19 января 2010

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

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

Примечание: Я не собираюсь делиться папкой Dropbox с другими, так как я понимаю, что несколько человек получают доступ к хранилищу через file:// - плохая идея. Мой вопрос касается только отдельного пользователя.

Ответы [ 3 ]

3 голосов
/ 19 января 2010

Хотя на первый взгляд это кажется плохой идеей (в основном наложение двух разных систем контроля версий друг на друга с разными рабочими процессами), есть способ, который будет иметь смысл для вас, если вы являетесь единственным разработчиком.

(В качестве дополнительного примечания, Dropbox предоставляет вам автономное резервное копирование ваших данных, а также сервер, с которого нужно синхронизироваться. Если вы попытаетесь использовать SVN самостоятельно, вам придется настроить свой компьютер, чтобы разрешить доступ удаленно. Это может или не может быть для вас прерывателем сделки в зависимости от вашего уровня знаний в задачах типа sysadmin.)

Что вы можете сделать, это создать репозиторий для данного проекта на вашем диске Dropbox. Затем при извлечении рабочей копии создайте ее вне папки Dropbox, получая доступ к вашему репо по протоколу file:. Таким образом, репозиторий остается синхронизированным на всех машинах, но на каждой машине есть отдельная рабочая папка, позволяющая вам работать в другой ветке на одной машине, чем на другой, если вы хотите, или поддерживать незафиксированный код без его распространения на другую машину. В этом случае возникает проблема, если несколько человек получают доступ к репо по протоколу file: - это не рекомендуется из-за возможных условий гонки.

Примечание: это решение позволяет продолжать фиксацию даже в автономном режиме, как это делают другие DVCS. Но обратите внимание, что сделать это, а затем зафиксировать в автономном режиме на другом компьютере, прежде чем разрешить синхронизацию репо может быть катастрофическим! Чрезвычайно важно разрешить синхронизацию репозиториев после работы в автономном режиме перед выполнением фиксации на другом компьютере.

2 голосов
/ 19 января 2010

Я бы использовал Git и Github. Тогда у вас есть источник контроля И вы можете легко получить к нему доступ из обоих мест.

Или еще более идеальным было бы настроить собственный сервер для размещения svn или git repo, но это, очевидно, не всегда вариант.

2 голосов
/ 19 января 2010

Я бы предложил использовать DVCS, а не Subversion с Dropbox.Причина в том, что возможно создать конфликт слияния с Dropbox, изменив один и тот же файл на машины в одно и то же время с ограниченными / без подключения к сети.Если вам удастся испортить ваш репозиторий Subversion, как это, будет трудно исправить репозиторий, в то время как с помощью popoular DVCS систем вы можете по крайней мере уничтожить поврежденный репозиторий и клонировать его локальную версию обратно в общий ресурс Dropbox.*

Я понял, когда писал выше, что вы не упоминаете, используете ли вы более одного компьютера с одной и той же учетной записью Dropbox, поэтому вышеприведенное не очень применимо, если вы используете свою учетную запись Dropbox только с одним компьютером (Я думаю, это может случиться, если вы сделаете что-то действительно глупое / странное).

...