Создание коммитов в локальную копию репозитория SVN - PullRequest
4 голосов
/ 10 июля 2009

Я проверил копию проекта, размещенного в коде Google. Я собираюсь внести в него изменения, и я хотел бы сохранить их под контролем версий в репозитории на моей локальной машине.

Я бы хотел использовать svn, если это возможно, потому что я уже знаю основы создания репозитория, проверки и фиксации.

Могу ли я сделать это с помощью svn или мне следует обратить внимание на распределенный контроль версий? Я использую Linux, а не Windows.

Ответы [ 6 ]

6 голосов
/ 10 июля 2009

Я был очень счастлив использовать svn против удаленного репозитория + использовать mercurial или git как локальный репозиторий поверх репозитория svn.

Они оба являются инструментами управления исходным кодом, и мне они оба нравятся по нескольким причинам.

Я считаю очень мощным использование собственного локального репо, совпадающего с удаленным хранилищем Subversion ...

Обновление

Хотя мне действительно нравятся ответы об экспорте из кода Google и импорте в локальный репозиторий, мне действительно нравится комбинация svn и git / mercurial в том, что вы можете периодически выполнять обновление svn, чтобы получать последний код из Google, а затем в git commit или hg commit, чтобы добавить последний код в ваш локальный репозиторий.

Гораздо проще, чем периодически делать экспорт SVN в репозиторий для получения обновлений.

Кроме того, используя git / mercurial, у вас есть мощные инструменты ветвления / исправления, которые svn не делает такими простыми.

3 голосов
/ 10 июля 2009

ДА! Пожалуйста, используйте инструмент контроля версий. SVN очень прост в использовании, поэтому я предлагаю это.

Единственное, что может быть полезно, это то, что вы можете использовать Eclipse + PyDev (для python) + Subeclipse (для вашего SVN). Это должен быть хороший независимый от платформы стек, который выигрывает у вас SVN-клиент с графическим интерфейсом. Обязательно проверьте плагин Mylyn , который поставляется с большинством пакетов Eclipse - он действительно потрясающий.

Альтернативой для пользователей Windows является TortoiseSVN - следуйте их руководству для создания репозитория.

Самым простым для одного пользователя является использование протокола «Файл». Немного сложнее настроить надлежащий сервер SVN, который вы, возможно, захотите отложить, пока не разберетесь в SVN, - он позволяет работать с нескольких компьютеров.

2 голосов
/ 10 июля 2009

SVN - очень хорошая система контроля версий. Он используется во многих важных проектах, а также прост в использовании, но в то же время имеет мощные опции.

Если ваша локальная копия указывает на код Google. Вы можете выполнить экспорт, который, по существу, извлекает информацию об управлении версиями, а затем импортирует ее в локальный SVN.

Это означает, что вы потеряете всю предыдущую историю и начнете с нуля и будете иметь историю с тех пор изменений, которые вы вносите локально и вносите в свой SVN.

Если вам нужно сохранить историю всех коммитов в коде Google до этого момента в вашем локальном SVN, сообщите нам, как это можно сделать.

Если вам также нужно в какой-то момент зафиксировать свой локальный код в коде Google, то дайте нам знать, чтобы объяснить, как это сделать.

Надеюсь, это поможет.

1 голос
/ 10 июля 2009
svnadmin create project-local-repo
svn checkout file:///path/to/project-local-repo project-branch
svn export http://PROJECT.googlecode.com/svn/trunk/ project-branch

Это создаст (должен) создать новый репозиторий в Project-Local-Repo на вашем компьютере для вашей ветки и извлекать из этого репозитория в папку ветки проекта. Затем он экспортирует чистую копию файлов из основного репозитория в папку вашего проекта. Затем вам просто нужно добавить эти файлы в (локальный) репозиторий и зафиксировать, и вы должны быть готовы. Это абсолютно непроверенный и гипотетический, хотя ..

1 голос
/ 10 июля 2009

Да.

Вы можете создать свой локальный репозиторий, используя

svnadmin create repositoryName

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

svn checkout file:///path/to/your/repositoryName

Просто убедитесь, что вы действительно выполняете экспорт проекта, который вы получили через код Google, а не через svn checkout. В противном случае у вас возникнут проблемы с файлами .svn, уже существующими для другого репозитория. Возьмите все файлы, которые вы получили из вашего экспорта, и переместите их в свою только что созданную локальную копию, добавьте все файлы в svn и подтвердите.

Если вы хотите перенести свои изменения, просто

svn update

каталог, который содержит заархивированную версию репозитория кода Google, перезаписывает все файлы, которые вы изменили (или используйте diff для внесения изменений), затем фиксирует обратно в репозиторий.

1 голос
/ 10 июля 2009

svn commit передаст ваши изменения в (удаленный) репозиторий. Если вы хотите выполнить локальную регистрацию, прежде чем отправлять ее в удаленный репозиторий (если вообще), то вам нужен распределенный инструмент, такой как git или mercurial.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...