Я хочу проверить и при необходимости обновить Ствол Django Subversion на компьютере Mac OS X Leopard 10.5.5.
Меня интересует только обновление кода Django на моем Mac. Я не заинтересован в внесении исправлений в проект Django. Мне не нужна история Subversion для ствола Django.
Я планирую использовать Git в качестве DVCS / SCM для всех моих личных проектов.
Как лучше всего поддерживать мой Mac в актуальном состоянии с помощью последней версии Django и почему?
Я новичок в Git, поэтому понимание того, почему вы выбрали именно этот вариант, будет очень полезным.
Используйте Subversion 1.4.4, установленную на моем Mac: svn co http://code.djangoproject.com/svn/django/trunk/. По сути, использую Subversion для получения репозиториев Subversion и Git для моих личных проектов.
Используйте Git SVN, чтобы получить Репозиторий Django Subversion. Инструкции, как это сделать для новичка в Git?
Используйте Git, чтобы получить Git зеркало репозитория Django. Я немного обеспокоен тем, что зеркало может исчезнуть в будущем, но я готов использовать его, если это лучший вариант.
Если вы не собираетесь вносить изменения в код Django, то нет причин импортировать его в Git. Просто воспользуйтесь вариантом 1.
Использование git-svn
(запуск его самостоятельно или клонирование чьего-либо репозитория) полезно, если вы хотите внести локальные изменения в проект, который использует Subversion (независимо от того, отправляете ли вы какие-либо из этих изменений обратно в проект). Но если вы не вносите никаких локальных изменений, это просто ненужная сложность.
Я согласен с @cjm. Если вам просто нужна копия исходников Django, используйте обычную Subversion.
Мой опыт работы с git-svn заключается в том, что он наиболее полезен для людей, которые предпочитают и более знакомы с Git, которым нужно отслеживать репозиторий Subversion, и не так полезен для людей, которые знакомы с Subversion, но являются новичками git, желающими чего-то лучше Подрывная деятельность. Есть несколько ограничений для git-svn, проистекающих из того факта, что Subversion имеет худшее отслеживание слияния, и, если у вас нет значительного опыта работы с git, эти ограничения будут временами подскакивать и кусать вас.
Что ж, если вы используете git для всех своих проектов и достаточно знакомы с ним, я бы посоветовал использовать git mirror, так как он выглядит достаточно актуальным. Git также должен быть быстрее, чем использование Subversion. Если зеркало уходит / устаревает, вы всегда можете просто svn co / svn up, чтобы получить текущий источник.
Но поскольку у вас также установлена Subversion - вы также можете просто использовать ее вместо этого ... не имеет большого значения и это скорее вопрос личных предпочтений.
Git-svn немного утомительнее настраивать и синхронизировать - вам нужно сначала получить обновления Subversion, используя git svn fetch, а затем выполнить git svn rebase, чтобы применить изменения к репозиторию git. Это также займет больше места на диске. Это несколько более подвержено ошибкам, и я бы рекомендовал использовать git-svn только в том случае, если вы действительно хотели заниматься разработкой на дереве исходного кода. Если вы любите приключения и хотите попробовать, взгляните на этот учебник - я нашел весьма полезным начать работу с git-svn.
Лучше поздно, чем никогда ... может быть ... Я не согласен с текущим победным ответом. Я бы пошел с
- Use Git to fetch a Git mirror of the Django repo
Что касается аргумента против: тот, кто знаком (или хочет чувствовать себя) комфортно с Git, не должен находить его «просто ненужной сложностью». Примечание: аргумент может быть действителен для случая git-svn для некоторых людей (не для меня).
Некоторые причины для это:
скорость
мощные запросы (журнал) и визуализация (gitk и даже более изысканные кузены)
меньше места на диске в большинстве случаев
деление пополам - напр. пытаясь изолировать регресс, помогая с лучшими отчетами об ошибках
согласованность - если все остальные проекты находятся в git
даже если вы еще не планируете вносить свой вклад, вы можете проще экспериментировать с локальными изменениями
если вы все же передумаете - вы все равно можете быть на шаг ближе к участию
Даже если это зеркало исчезнет, вы все равно сможете переключиться на другое зеркало, и вам больше не потребуется клонировать.
Кстати, текущее зеркало находится по адресу https://github.com/django/django, и оно считается официальным.
В ссылке на репозиторий Django на Github отсутствует завершающая буква «О». Я не могу редактировать одну букву.
Согласен, я бы предпочел git для 1) скорости 2) мощных запросов, визуализации (gitk и даже более причудливые дополнения) 3) согласованности - если все остальные проекты находятся в git 4) меньше места на диске в большинстве случаев 5) даже если вы этого не сделаете планируете внести свой вклад, вы можете легко попробовать изменения локально ... Могу добавить мой собственный ответ сейчас :)