Лучшая система контроля версий для не сетевой среды? - PullRequest
8 голосов
/ 17 октября 2008

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

Наибольшие требования следующие:

  1. Работает в Windows XP и Vista. (обязательно)
  2. Изменения могут быть зафиксированы локально. (Кажется, что дело обстоит со всеми DVCS's)
  3. Репозитории с нескольких машин могут быть объединены без доступа к сети. (Возможно, путем сохранения репозитория на USB-накопителе и замены накопителя на другой компьютер, а затем слияния оттуда)

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

Любые предложения относительно того, какой DVCS подходит лучше всего.

EDIT:

Спасибо за ответы. Mercurial выглядит неплохо, но поддерживает ли слияние репозиториев из одного каталога в другой, или мне нужно настроить локальную сеть для объединения?

Ответы [ 6 ]

6 голосов
/ 17 октября 2008

Git хорош, но его поддержка Windows крайне слабая (даже с MSysGit ). Я бы порекомендовал Mercurial. Я на самом деле не использовал его сам, но я слышал, что его поддержка Windows вполне пригодна. Кроме того, он имеет немного более легкую кривую обучения для людей, пришедших из традиционных VCS (таких как SVN).

5 голосов
/ 17 октября 2008

Mercurial довольно прост в использовании как в Windows, так и в Linux. TortoiseHg - это графический интерфейс для Windows, который интегрируется в проводник; Работает нормально. Оба с открытым исходным кодом. Насколько я понимаю, использовать Git под Windows менее просто.

Спасибо за ответы. ртутный выглядит довольно хорошо, но поддерживает ли объединение репозиториев из одного каталог на другой, или я должен настроить локальную сеть для слияния через

Mercurial / TortoiseHg сделает это (и многое другое), как и все другие распределенные инструменты контроля версий (насколько я знаю). Я верю, что это решит вашу проблему. Это DVCS, и с TortoiseHg его легко использовать в Windows. Другие распределенные инструменты контроля версий, вероятно, тоже будут работать (например, bzr), но у меня меньше опыта с ними. Subversion (svn) - это централизованный инструмент контроля версий. С некоторыми обходными путями вы можете заставить его работать в вашей среде, но он действительно не решает проблемы, которые вы хотите решить. Я понятия не имею, почему другие респонденты предлагают это.

2 голосов
/ 17 октября 2008

Спасибо за ответы. Mercurial выглядит довольно хорошо, но поддерживает ли слияние репозиториев из одного каталога в другой, или мне нужно настроить локальную сеть для объединения?

Да, это так. Все DVCS поддерживают это. Единственная разница между этим и слиянием с сервера заключается в том, что вы передаете соответствующей команде локальный путь к файлу вместо URL.

В Mercurial это выглядит так:

Предположим, у вас есть два репозитория, один на жестком диске (C: \ Project) и один на флеш-диске (F: \ Project):

cd C:\Project

hg pull F:\Project

Аналогично, если у вас есть два репозитория в одной системе:

cd C:\Project

hg pull C:\Project1

Если есть необходимость в слиянии, он создаст две «головы» и попросит вас слить их с hg merge.

added 1 changesets with 1 changes to 1 files (+1 heads)

(run 'hg heads' to see heads, 'hg merge' to merge)

Обратите внимание, что это так же, как если бы вы вытащили и слились с сервера.

2 голосов
/ 17 октября 2008

Я люблю базар: http://bazaar -vcs.org /

Он имеет все, что вы просите, и очень прост в использовании.

2 голосов
/ 17 октября 2008

Я думаю, Mercurial вполне соответствует вашим потребностям.

  • Он написан на Python, поэтому у вас не возникнет проблем с его запуском под Windows.
  • Изменения могут быть легко применены локально с помощью патчей или пакетов
  • Существует несколько инструментов с графическим интерфейсом (ищите TurtoiseHG)

Mercurial - это VCS, которую я лично использую. Действительно легко учиться. Вы определенно хотите попробовать это через Git, так как его поддержка Windows намного лучше.

0 голосов
/ 17 октября 2008

Я обнаружил, что SVN удивительно прост в настройке и использовании, особенно для одного пользователя!

Одна вещь, которая мне показалась действительно интересной - протокол ssh + svn использовал способность SSH запускать командную строку в удаленной системе для фактического запуска SVN, так что на сервере вообще не было никаких настроек, создавая каталог для ваш репозиторий.

В SVN есть много оболочек, если вам не нравится CLI (TortiseSVN в Windows) - так что его так же легко использовать, как и все остальное.

...