#svn #tortoisesvn
#svn #tortoisesvn
Вопрос:
Кроме того факта, что каждая версия Tortoise svn обычно добавляет новые функции или изменяет некоторые способы выполнения действий для улучшения процесса…Я не вижу никаких проблем с использованием последней версии. Я работал в .coms, небольших и крупных компаниях, и никто никогда не беспокоился об этом.
Теперь, если вы новичок и пытаетесь придерживаться того, что есть в команде, потому что на случай, если какие-либо инструкции помогут вам, вы можете захотеть придерживаться того, что использует остальная часть команды.
Что касается меня, мне очень комфортно с Tortoise. Для меня нет ничего сложного в том, чтобы выяснить, как сделать то же самое, что и в более старой версии, в более новой версии, если эта конкретная функциональность изменилась.
Однако мне интересно … или я предполагаю, что базовый репозиторий (Subversion) всегда будет согласованным. Использование x-версии tortoise svn не будет иметь значения с точки зрения сохраняемых метаданных и т.д.
Правильное ли это предположение, и если да, то где вы нашли информацию об этом, потому что я не видел ничего, что действительно говорило бы об этом.
Комментарии:
1. Это важно, потому что позволяет избежать раздражающих всплывающих окон «получить обновление» : (Нет, действительно, TSVN следует постоянно обновлять. Изменений в функциях практически нет, но был решен ряд проблем (и даже не думайте о запуске старого-престарого клиента в более новом репозитории). Еженедельные обновления иногда раздражают, но журнал изменений объясняет, о чем идет речь в обновлении.
2. На самом деле меня не волнуют всплывающие окна
3. tortoisesvn.net/faq.html#multiclients . Хорошо, здесь говорится «Но вы можете использовать разные клиенты, только если все они используют одну и ту же версию библиотеки Subversion. Версия библиотеки Subversion, которую использует TortoiseSVN, указана в имени файла установщика, другие клиенты имеют аналогичные указания. Вы должны убедиться, что эти версии соответствуют друг другу в первых двух цифрах. Например, все клиенты, использующие Subversion 1.6.x, могут использоваться вместе (‘x’ указывает, что это число не имеет значения для совместимости).»
4. но я знаю, что у меня в команде были люди, которые просто использовали любую версию, и у нас никогда не было problem…so Я не понимаю, ПОЧЕМУ они так говорят. Они не объясняют, почему.
5. @CoffeeAddict: когда там написано «вместе», это означает «для одной и той же рабочей копии». Сервер гораздо более снисходителен, но вы все равно должны поддерживать своего клиента в актуальном состоянии.
Ответ №1:
проблема не в том, что кто-то другой использует вашу рабочую копию, а в том, что вы используете другой клиент. В этом случае более новый клиент обновил бы формат рабочей копии, а более старый не смог бы получить к нему доступ.
Однажды я обновил Tortoise, и внезапно мой клиент Ankhsvn отказался работать — поскольку WC был обновлен до 1.6 с помощью Tortoise, но Ankh еще не был перекомпилирован для работы с svn 1.6. Верно и обратное. Вы можете подумать, что это не та проблема, с которой вы когда-либо сталкивались (возможно, так и есть), но иногда вам понадобится исправление безопасности или обновление, и тогда это будет иметь значение.
Я бы рекомендовал обновлять каждый раз, когда выходит новая tortoise — версии point очень обратно совместимы, и даже если возникла проблема, вы можете просто понизить ее без проблем. Вам понадобится новая версия, когда выйдет subversion 1.7, поэтому обновите ее и тогда. (Я случайно прочитал здесь сообщение о людях, работающих под управлением svn 1.4 или старше, вы не хотите быть ими — обновите, команда subversion очень хороша в отношении обратной совместимости и безболезненных обновлений, но обновление 3 или 4 версий не будет таким безболезненным, как обновление 1 основной версии).
Комментарии:
1. что вы подразумеваете под другим клиентом? ОПЕРАЦИОННАЯ система?
2. разные клиенты. например, TortoiseSVN — это 1 клиент, AnkhSVN — другой. Командная строка svn Collabnet использует другое.
Ответ №2:
С точки зрения совместной работы важен не Tortoise (оболочка), а сама Subversion (ядро). Например, давайте предположим, что у вас есть несколько рабочих копий, которые могут использоваться более чем одним разработчиком, возможно, использующим более чем один SVN-клиент. Если такая рабочая копия все еще находится в формате 1.5, и вы касаетесь ее с помощью клиента 1.6 (и выполняете какую-то нетривиальную операцию), она автоматически обновит рабочую копию до формата 1.6, сделав ее удобной для клиентов 1.5. Смотрите Примечания к выпуску Subversion 1.6 — Изменения формата рабочей копии и файловой системы репозитория. (Конечно, вам следует избегать общих рабочих копий, но это уже другая история.)
Комментарии:
1. Думаю, я все еще не понимаю. Рабочая копия — это загрузка ветки или чего-то еще на ваш локальный диск, с которым вы работаете. Зачем кому-то еще указывать на вашу локальную рабочую копию?
2. Распространенным примером является IDE, подобная Eclipse, которая имеет свои собственные библиотеки subversion.
3. @CoffeeAddict: Возможно, аналогичный пример может прояснить ситуацию. Предположим, ваша команда использует Visual Studio 2008. (Замените VS здесь чем угодно, если новая версия не имеет обратной совместимости.) Теперь вы обновляетесь до VS2010. Как только вы открыли проект VS2008 в VS2010, он преобразуется в формат, который больше не совместим с VS2008. Когда вы проверяете это в , никто из членов вашей команды не может использовать проект, если они также не обновятся ! Новый клиент Subversion может внести аналогичные критические изменения в данные репозитория; так что следует беспокоиться об изменениях в репозитории, а не о вашей локальной копии.
4. @CoffeeAddict — Я видел рабочие копии, используемые несколькими разработчиками в действии на промежуточных серверах. Нет, это вообще не очень хорошая практика, и да, ее следует избегать. Независимо от этого особого случая (который, я полагаю, встречается не слишком часто), вы также можете непреднамеренно обновить свою собственную рабочую копию, как указывали другие, используя другой клиент, которых существует множество (Tortoise, command line, Cygwin, Eclipse, Ant — все они могут предоставить свой собственный клиент).