Интеграция Subversion в IDE: день сегодняшний
От: fuurin  
Дата: 04.03.06 21:35
Оценка: 22 (7) -4
#Имя: FAQ.tools.svninvs
Если оставить для другого треда споры о необходимости интеграции SVN в IDE и посмотреть на сегодняшнее положение дел, то вот что мы имеем:
Это результаты беглого просмотра на простом Windows .NET проекте в VS2003 и VS2005. На объёмном проекте и при более продолжительной работе, скорее всего, выявятся дополнительные проблемы.
А что хотелось бы иметь? Стабильную реализацию провайдера MSSCC API, предоставляющую в полном объёме функциональность последней версии Subversion. По крайней мере:
И всё это не выходя из IDE. В этом списке даже нет ветвления, переключения между ветками и атрибутов.
Вообще, печально наблюдать отсутствие открытого стандарта на API к VCS. Мне кажется, при наличии такового мы бы сейчас имели более широкий выбор.
Вывод: на сегодняшний день, AnkhSVN — единственный продукт, который можно считать рабочим, но не реализуя MSSCC API, вряд ли ему суждено стать массовым.
Garbage In Garbage Out
svn
Re: Интеграция Subversion в IDE: день сегодняшний
От: fuurin  
Дата: 05.03.06 06:19
Оценка:
Да, возможность интеграции в данном случае рассматривалась для платформы Windows и IDE: VS6, VB6, VS2003, VS2005, PowerBuilder и тому подобное, поддерживающее MSSCC API.
Garbage In Garbage Out
Re: Интеграция Subversion в IDE: день сегодняшний
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.03.06 17:29
Оценка:
Здравствуйте, fuurin, Вы писали:

F>
  • AnkhSVN — единственный относительно стабильный продукт, и единственный не реализующий MSSCC API.

    SCC рассчитан на модель VSS. SVN мягко говоря под нее не подходит. Так что толку от поддержки SCC API для SVN 0.
    ... << RSDN@Home 1.2.0 alpha rev. 644 on Windows XP 5.1.2600.131072>>
  • AVK Blog
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 05.03.06 18:50
    Оценка:
    AVK>SCC рассчитан на модель VSS. SVN мягко говоря под нее не подходит. Так что толку от поддержки SCC API для SVN 0.

    Какие из перечисленных выше функций не могут быть реализованы через SCC API? Или речь о чём-то другом? Что такое "модель VSS" в таком случае?
    Garbage In Garbage Out
    Re[3]: Интеграция Subversion в IDE: день сегодняшний
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 05.03.06 19:26
    Оценка: 1 (1) +2
    Здравствуйте, fuurin, Вы писали:

    AVK>>SCC рассчитан на модель VSS. SVN мягко говоря под нее не подходит. Так что толку от поддержки SCC API для SVN 0.


    F>Какие из перечисленных выше функций не могут быть реализованы через SCC API?


    статус текущей версии

    Набор статусов VSS и SVN практически не пересекается, а SCC заточено именно под первый.

    историю изменений файла, папки

    Имеет довольно слабое отношение к SCC.

    диф выбранных версий

    Имеет довольно слабое отношение к SCC.

    автоматическая блокировка нетекстовых файлов

    В SCC поддержки такого нет. Да и не нужно это SVN.

    разрешение конфликтов

    Имеет довольно слабое отношение к SCC.

    переименование и перемещение файлов

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

    выполнение команд удалённо, в репозитарии

    Вобще не имеет отношения к SCC.

    удобная работа с клавиатуры

    С чем?

    принятие русского текста

    Вобще не имеет отношения к SCC.

    F> Или речь о чём-то другом? Что такое "модель VSS" в таком случае?


    Модель обрабатываемых данных и поведения пользователя. В случае SVN и VSS отличается очень сильно. Например основное, что упрощает SCC — автоматический чекаут файлов. В SVN аналогичная операция просто отсутствует.
    ... << RSDN@Home 1.2.0 alpha rev. 644 on Windows XP 5.1.2600.131072>>
    AVK Blog
    Re[4]: Интеграция Subversion в IDE: день сегодняшний
    От: Mab Россия http://shade.msu.ru/~mab
    Дата: 05.03.06 19:34
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    AVK>Ну вот единственное где SCC для SVN мог бы быть полезен. Но AnkhSVN вроде бы это обеспечивает, хоть и не через SCC (через внутренние интерфейсы поддержки SCC студии).

    Кстати, ты не пробовал использовать AnkhSVN вместе с Решарпером? Год назад, когда я смотрел AnkhSVN, то переименование делалось только через дополнительную команду в контекстном меню. Авторы это объясняли тем, что от Студии не приходит необходимых событий.

    Соответственно, вопрос в том, если я Решарпером переименую класс, то увидит ли это изменение AnkhSVN?
    Re[5]: Интеграция Subversion в IDE: день сегодняшний
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 05.03.06 21:30
    Оценка:
    Здравствуйте, Mab, Вы писали:

    Mab>Кстати, ты не пробовал использовать AnkhSVN вместе с Решарпером?


    Я его один раз поставил, студия зависла на сборке С++ного проекта и я его снес. С тех пор больше не ставил.

    Mab> Год назад, когда я смотрел AnkhSVN, то переименование делалось только через дополнительную команду в контекстном меню. Авторы это объясняли тем, что от Студии не приходит необходимых событий.


    Гонят. IVsTrackProjectDocumentsEvents.OnAfterRenameFiles

    Mab>Соответственно, вопрос в том, если я Решарпером переименую класс, то увидит ли это изменение AnkhSVN?


    А зачем это ему? VCS не классы волнуют, а файлы. Переименование файла должен увидеть.
    ... << RSDN@Home 1.2.0 alpha rev. 644 on Windows XP 5.1.2600.131072>>
    AVK Blog
    Re[6]: Интеграция Subversion в IDE: день сегодняшний
    От: Mab Россия http://shade.msu.ru/~mab
    Дата: 05.03.06 21:35
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    AVK>Я его один раз поставил, студия зависла на сборке С++ного проекта и я его снес. С тех пор больше не ставил.

    Понятно

    AVK>Гонят. IVsTrackProjectDocumentsEvents.OnAfterRenameFiles

    В том-то и проблема, что OnAfterRenameFiles. А при работе с svn нужно ловить Before. Либо после After возвращать файл назад и делать svn mv. Второй вариант авторам плагина не понравился, поэтому они решили, что пользователей надо приучать переименовывать с помощью их собственной мегакоманды. По крайней мере, такое у меня осталось впечатление от чтения FAQ.

    AVK>А зачем это ему? VCS не классы волнуют, а файлы. Переименование файла должен увидеть.

    Решарпер при переименовании классов переименовыывает файлы, используя стандартное API студии. AnkhSVN события от этого API не использует (не использовал?). Отсюда и вопрос.
    Re[4]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 05.03.06 22:01
    Оценка:
    F>>статус текущей версии
    AVK>Набор статусов VSS и SVN практически не пересекается, а SCC заточено именно под первый.
    По моему, такой список статусов вполне достаточен для работы из IDE:
    Из этого списка только "конфликт" под вопросом поддержки его в SCC API.

    F>>историю изменений файла, папки

    F>>диф выбранных версий
    F>>разрешение конфликтов
    AVK>Имеет довольно слабое отношение к SCC.
    Операция или предусмотрена в API, или нет. История предусмотрена — из окна истории можем сделать и диф. Разрешение конфликтов под вопросом.

    F>>выполнение команд удалённо, в репозитарии

    F>>принятие русского текста
    AVK>Вобще не имеет отношения к SCC.

    F>>переименование и перемещение файлов

    AVK>Ну вот единственное где SCC для SVN мог бы быть полезен. Но AnkhSVN вроде бы это обеспечивает, хоть и не через SCC (через внутренние интерфейсы поддержки SCC студии).
    В VS2005 перемещение происходит и в репозитарии. Можно надеятся, что реализация работает через SCC API.

    F>>удобная работа с клавиатуры

    AVK>С чем?
    С пользовательским интерфейсом, предоставляемым плагином. Для примера попробуй поработать с AnkhSVN без мышки.

    F>>автоматическая блокировка нетекстовых файлов

    AVK>В SCC поддержки такого нет. Да и не нужно это SVN.
    AVK>Модель обрабатываемых данных и поведения пользователя. В случае SVN и VSS отличается очень сильно. Например основное, что упрощает SCC — автоматический чекаут файлов. В SVN аналогичная операция просто отсутствует.
    Речь идёт о необходимости сериализации доступа к бинарным файлам, в SVN это реализуется командой lock. Первый вопрос: какие есть аргументы в пользу того, что это не нужно?
    Garbage In Garbage Out
    Re[7]: Интеграция Subversion в IDE: день сегодняшний
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 06.03.06 11:01
    Оценка:
    Здравствуйте, Mab, Вы писали:

    Mab>В том-то и проблема, что OnAfterRenameFiles. А при работе с svn нужно ловить Before.


    Зачем? Впрочем есть и IVsTrackProjectDocumentsEvents2.OnQueryRenameFiles.

    Mab> Либо после After возвращать файл назад и делать svn mv.


    Не надо ничего возвращать, нужно просто entries подкорректировать.

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


    Ламеры они. Вопрос с Rename стоит и в случае VSS, соотв. весь соотв. функционал должен наличествовать и работать.

    AVK>>А зачем это ему? VCS не классы волнуют, а файлы. Переименование файла должен увидеть.

    Mab>Решарпер при переименовании классов переименовыывает файлы, используя стандартное API студии.

    Ну значит должно работать.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[5]: Интеграция Subversion в IDE: день сегодняшний
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 06.03.06 11:01
    Оценка:
    Здравствуйте, fuurin, Вы писали:

    F>>>историю изменений файла, папки

    F>>>диф выбранных версий
    F>>>разрешение конфликтов
    AVK>>Имеет довольно слабое отношение к SCC.
    F>Операция или предусмотрена в API, или нет. История предусмотрена — из окна истории можем сделать и диф.

    Единственное что там предусмотрено — контекстное меню. Для этого SCC не нужен.

    AVK>>Ну вот единственное где SCC для SVN мог бы быть полезен. Но AnkhSVN вроде бы это обеспечивает, хоть и не через SCC (через внутренние интерфейсы поддержки SCC студии).

    F>В VS2005 перемещение происходит и в репозитарии. Можно надеятся, что реализация работает через SCC API.

    Эта реализация может работать напрямую, пользуясь IVsTrackProjectDocumentsEvents2.

    F>>>удобная работа с клавиатуры

    AVK>>С чем?
    F>С пользовательским интерфейсом, предоставляемым плагином.

    SCC плагин практически не предоставляет никакого пользовательского интерфейса. А вот кастомный вполне может.

    F> Для примера попробуй поработать с AnkhSVN без мышки.


    А с поддержкой VSS?

    F>Речь идёт о необходимости сериализации доступа к бинарным файлам, в SVN это реализуется командой lock.


    Попробуй ответить на простой вопрос — почему эта команда появилась недавно?

    F> Первый вопрос: какие есть аргументы в пользу того, что это не нужно?


    А зачем тебе lock?
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[6]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 06.03.06 11:59
    Оценка:
    AVK>SCC плагин практически не предоставляет никакого пользовательского интерфейса.
    VSS, например, на каждую операцию изменения может вываливать диалог для ввода комментариев. Диф текущих изменений и история изменений — это тоже операции, включённые в SCC API, на которые вываливаются соответствующие диалоги.

    F>> Для примера попробуй поработать с AnkhSVN без мышки.

    AVK>А с поддержкой VSS?
    В проектах под VSS (VS2003) я не использую мышку при выполнении операций с репозитарием.

    F>>Речь идёт о необходимости сериализации доступа к бинарным файлам, в SVN это реализуется командой lock.

    AVK>Попробуй ответить на простой вопрос — почему эта команда появилась недавно?
    Вероятно, она была реализована в порядке очерёдности. То, что она реализована, уже говорит о том, что она востребована.

    F>> Первый вопрос: какие есть аргументы в пользу того, что это не нужно?

    AVK>А зачем тебе lock?
    Что бы предотвратить потерю времени при параллельной модификации бинарных файлов. Смёржить их нельзя, получается что работа одного человека просто выбрасывается — все изменения, которые он сделал, он дожен сделать опять уже в новой версии, а пока он вносит изменения, файл опять мог измениться... Можно говорить, что аналогичная ситуация и с текстовыми файлами, но слияние и разрешение конфликтов в текстовых файлах гораздо проще и выполняется гораздо быстрее, поэтому потеря времени на разрешение конфликтов в текстовых файлах незначительна по сравнению с преимуществом параллельной разработки. С бинарными файлами наоборот — выигранное время при параллельной разработке поглащается временем на разрешение конфликтов.
    На примере проектов на C# бинарные документы это: документация (doc), модели (XDE), графика (ico, png и т.д.). С ресурсами форм ситуация двоякая: с одной стороны это текстовый файл (xml), с другой — в него могут сериализоваться и бинарные данные.
    Собственно, комментарии разработчиков SVN:

    Subversion 1.2 Release Notes
    File Locking
    "Locking" is a long-requested feature, often known in other systems as "reserved checkouts". While Subversion is still primarily a copy-modify-merge system focused on parallel development, there is widespread acknowledgement that not all files are easily mergeable — binary files in particular, such as artwork, compressed files, proprietary binary formats, or any other non-line-based data.
    The goal of the new locking feature is twofold. First, provide a means to force serialized write-access to a file. Second, provide a communication mechanism to prevent users from wasting time on unmergable changes.

    Garbage In Garbage Out
    Re[7]: Интеграция Subversion в IDE: день сегодняшний
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 06.03.06 12:11
    Оценка:
    Здравствуйте, fuurin, Вы писали:

    AVK>>SCC плагин практически не предоставляет никакого пользовательского интерфейса.

    F>VSS, например, на каждую операцию изменения может вываливать диалог для ввода комментариев.

    А SVN вобще подобного не отслеживает.

    F> Диф текущих изменений и история изменений — это тоже операции, включённые в SCC API, на которые вываливаются соответствующие диалоги.


    Я тебе уже написал — вся поддержка заключается в добавлении пунктов в контекстное меню.

    AVK>>А с поддержкой VSS?

    F>В проектах под VSS (VS2003) я не использую мышку при выполнении операций с репозитарием.

    А что используешь?

    AVK>>Попробуй ответить на простой вопрос — почему эта команда появилась недавно?

    F>Вероятно, она была реализована в порядке очерёдности.

    Нет, просто нужды в ней особой нет. Ты можешь конечно не поверить, но все мои знакомые, пользующиеся SVN (а таких немало), операцию lock не используют вобще.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[8]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 06.03.06 12:42
    Оценка:
    F>>В проектах под VSS (VS2003) я не использую мышку при выполнении операций с репозитарием.
    AVK>А что используешь?
    Клавиатуру. Что такого в этом пунтке, что мы ходим по кругу? Пользовательский интерфейс должен быть максимально адаптирован для работы с клавиатуры. Плагин, не зависимо от схемы интеграции, предоставляет элементы интерфейса и должен удовлетровать этому требованию. VSS плагин этому требованию удовлетворяет.

    AVK>>>Попробуй ответить на простой вопрос — почему эта команда появилась недавно?

    F>>Вероятно, она была реализована в порядке очерёдности.
    AVK>Нет, просто нужды в ней особой нет. Ты можешь конечно не поверить, но все мои знакомые, пользующиеся SVN (а таких немало), операцию lock не используют вобще.
    Без аргументации это так и останется вопросом веры.
    Описанная выше проблема возникает при параллельной работе над бинарным файлом. Есть три варианта, почему проблема может не возникать в проекте с несколькими разработчиками:
    1. они не работают с бинарными файлами
    2. они работают с бинарными файлами, но волей случая до сих пор не делали одновременных изменений в одном файле
    3. они работают с бинарными файлами, и доступ разграничивают административно (например, сегодня файл правит этот разработчик, завтра — будет время другого)
    Garbage In Garbage Out
    Re[8]: Интеграция Subversion в IDE: день сегодняшний
    От: Mab Россия http://shade.msu.ru/~mab
    Дата: 07.03.06 03:28
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    AVK>Не надо ничего возвращать, нужно просто entries подкорректировать.

    Они же не работают с WC напрямую, а используют API svn-а.

    Mab>>Решарпер при переименовании классов переименовыывает файлы, используя стандартное API студии.

    AVK>Ну значит должно работать.

    Поигрался с последним билдом AnkhSVN. Диагноз -- в морг. Основные операции (add/remove/rename/move) работают через раз. Единожды переименованный файл второй раз переименовать не закоммитив уже нельзя. Я понимаю, что это ограничение SVN, но работать получается невозможно.
    Re: Интеграция Subversion в IDE: день сегодняшний
    От: Аноним  
    Дата: 07.03.06 07:27
    Оценка:
    Здравствуйте, fuurin, Вы писали:


    F>Вывод: на сегодняшний день, AnkhSVN — единственный продукт, который можно считать рабочим, но не реализуя MSSCC API, вряд ли ему суждено стать массовым.


    чё то не мсог я в нём из студии посмотерть изменения файла (историю) и посмотреть выбранную ревизию файла... мож не так смотрел ?
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 07.03.06 07:38
    Оценка:
    А>чё то не мсог я в нём из студии посмотерть изменения файла (историю) и посмотреть выбранную ревизию файла... мож не так смотрел ?
    Опиши конкретнее, в чём проблема — может, смогу помочь.
    Garbage In Garbage Out
    Re[3]: Интеграция Subversion в IDE: день сегодняшний
    От: Аноним  
    Дата: 07.03.06 08:59
    Оценка:
    Здравствуйте, fuurin, Вы писали:


    А>>чё то не мсог я в нём из студии посмотерть изменения файла (историю) и посмотреть выбранную ревизию файла... мож не так смотрел ?

    F>Опиши конкретнее, в чём проблема — может, смогу помочь.

    Хочу посмотреть лог изменений файла и поглядеть на разницу между некоторыми ревизиями. командами svn это без проблем, tortoise тоже отлично делает, плагин этот выдаёт лог изменений в xml формате, форматированный и обработанный студией, но страничка мёртвая — diff-ы по ревизиям на ней сотреть нельзя...
    Re[9]: Интеграция Subversion в IDE: день сегодняшний
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 07.03.06 09:01
    Оценка:
    Здравствуйте, Mab, Вы писали:

    AVK>>Не надо ничего возвращать, нужно просто entries подкорректировать.

    Mab>Они же не работают с WC напрямую, а используют API svn-а.

    Ну ради такого можно и напрямую влезть, если по другому не получается.

    Mab>Поигрался с последним билдом AnkhSVN. Диагноз -- в морг. Основные операции (add/remove/rename/move) работают через раз.


    Вобщем надо свой плагин писать. Возьмешься?

    Mab> Единожды переименованный файл второй раз переименовать не закоммитив уже нельзя. Я понимаю, что это ограничение SVN, но работать получается невозможно.


    Нет такого ограничения в SVN. Возможно такое ограничение есть в SVN client API, ну так оно не икона. Структура WC прозрачна и проста, можно вобще стандартным API не пользоваться.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[3]: Интеграция Subversion в IDE: день сегодняшний
    От: Аноним  
    Дата: 07.03.06 09:01
    Оценка:
    Здравствуйте, fuurin, Вы писали:


    А>>чё то не мсог я в нём из студии посмотерть изменения файла (историю) и посмотреть выбранную ревизию файла... мож не так смотрел ?

    F>Опиши конкретнее, в чём проблема — может, смогу помочь.

    да и ветки/тэги кстатити делать не умеет Опять же всё свожится к использованию для этого tortoise...
    Re[4]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 07.03.06 20:18
    Оценка:
    А>Хочу посмотреть лог изменений файла и поглядеть на разницу между некоторыми ревизиями. командами svn это без проблем, tortoise тоже отлично делает, плагин этот выдаёт лог изменений в xml формате, форматированный и обработанный студией, но страничка мёртвая — diff-ы по ревизиям на ней сотреть нельзя...

    Дифы открываются из контекстного меню на файле (Diff), в диалоге — выбор ревизий для сравнения. Приложение, выполняющее сравнение, подхватывается из настроек Subversion или переопределяется в конфиге AnkhSVN (если ни то, ни другое не определено, то октрывается встроенный диф — форматированный html).
    Garbage In Garbage Out
    Re: Интеграция Subversion в IDE: день сегодняшний
    От: Аноним  
    Дата: 08.03.06 09:00
    Оценка: 6 (1) +1 -5
    Здравствуйте, fuurin, Вы писали:

    A зачем какая-либо продвинутая интеграция нужна? Кодить в студии — одно, администрировать проект — совсем другое — зачем смешивать? Я уже несколько лет работаю на связке студия+Subversion+TortoisSVN без какой-либо интеграции и никаких неудобств не испытываю. Хотя, когда перешел с VSS, хотелось кликать прямо в студии.
    IMHO, когда люди действительно работают — таких вопросов не возникает — всегда есть что-нибудь более важное, а если делать нечего — возникает желание поиграть с SVN не выходя из студии (может SVN лучше в IE интегрировать — чтобы смотреть историю файлов и т.п. не выходя из rsdn, ну и в аську ещё). Смотрим интернет — куча больших open source проектов сделаны под SVN и (даже) CVS, кое-кто из программеров участвующих в этих проектах вообще из командной строки работает. А кое кому без полной интеграции SVN-a в студию формочку не нарисовать — историю из студии не видно. Какие у вас проекты, если не секрет?
    Re[2]: Зачем нужна интеграция Subversion в IDE
    От: fuurin  
    Дата: 08.03.06 10:33
    Оценка: 3 (1)
    А>A зачем какая-либо продвинутая интеграция нужна? Кодить в студии — одно, администрировать проект — совсем другое — зачем смешивать?

    Речь идёт не о продвинутой, а о минимально необходимой интеграции для производительной работы именно при кодировании. IDE неспроста называется интегрированной — всё необходимое для выполнения текущей задачи должно быть здесь, под рукой, без переключения в другое приложение.
    А минимально необходимая функциональность такова:
    При работе в IDE всю необходимую информацию о файлах мне предоставляет IDE. Все операции над файлами активируются из IDE и заканчиваются там же. Мне не нужно переключасться в другое приложение, подстраиваться под другой вид структуры проекта, искать необходимые файлы, синхронизировать состояние проекта с внесенными изменениями на диске.

    А>Я уже несколько лет работаю на связке студия+Subversion+TortoisSVN без какой-либо интеграции и никаких неудобств не испытываю.

    Человек — вообще легко адаптируемая система. Но оставим это для другого треда.
    Garbage In Garbage Out
    Re: Интеграция Subversion в IDE: день сегодняшний
    От: Igor Trofimov  
    Дата: 08.03.06 14:52
    Оценка:
    Честно говоря, вообще не вижу насущной необходимости этой интеграции.
    Часто приходится работать с несколькими солюшенами, фиксируя все изменения в рамках одной транзакции SVN.
    Пользоваться tortoise'ом вроде тоже не сильно дольше.
    Так ли уж оно надо?
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
    Дата: 08.03.06 15:07
    Оценка:
    Здравствуйте, Igor Trofimov, Вы писали:

    iT>Так ли уж оно надо?


    Оно надо когда постоянно меняется набор файлов, входящих в солюшн.
    Что есть норма в дисциплине XP
    С уважением, Евгений
    JetBrains, Inc. "Develop with pleasure!"
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 08.03.06 18:23
    Оценка:
    iT>Так ли уж оно надо?

    здесь
    Автор: fuurin
    Дата: 08.03.06
    Garbage In Garbage Out
    Re[3]: Интеграция Subversion в IDE: день сегодняшний
    От: Igor Trofimov  
    Дата: 08.03.06 20:20
    Оценка:
    X>Оно надо когда постоянно меняется набор файлов, входящих в солюшн.
    X>Что есть норма в дисциплине XP

    Ну, есть разное "постоянно"

    Как часто у адептов XP происходят коммиты и в каком проценте коммитов меняется набор файлов?
    Я в стиле XP не работал, но насколько представляю — это все равно не может быть настолько часто, чтобы становилось критично делать все "из одного окошка".
    Re[5]: Интеграция Subversion в IDE: день сегодняшний
    От: Аноним  
    Дата: 09.03.06 08:14
    Оценка:
    Здравствуйте, fuurin, Вы писали:

    А>>Хочу посмотреть лог изменений файла и поглядеть на разницу между некоторыми ревизиями. командами svn это без проблем, tortoise тоже отлично делает, плагин этот выдаёт лог изменений в xml формате, форматированный и обработанный студией, но страничка мёртвая — diff-ы по ревизиям на ней сотреть нельзя...


    F>Дифы открываются из контекстного меню на файле (Diff), в диалоге — выбор ревизий для сравнения. Приложение, выполняющее сравнение, подхватывается из настроек Subversion или переопределяется в конфиге AnkhSVN (если ни то, ни другое не определено, то октрывается встроенный диф — форматированный html).


    Открываю контекстное меню на файле — выбираю diff, получаю сравнение рабочей копии и то что в head никакого диалога выбора ревизий не наблюдаю ...
    Re[3]: Зачем нужна интеграция Subversion в IDE
    От: Fyodor Sheremetyev Россия  
    Дата: 29.06.06 20:18
    Оценка:
    А>>A зачем какая-либо продвинутая интеграция нужна? Кодить в студии — одно, администрировать проект — совсем другое — зачем смешивать?
    F>Речь идёт не о продвинутой, а о минимально необходимой интеграции для производительной работы именно при кодировании. IDE неспроста называется интегрированной — всё необходимое для выполнения текущей задачи должно быть здесь, под рукой, без переключения в другое приложение.

    Посмотрите пожалуйста на VisualSVN. Это плагин для Visual Studio 2003 и 2005, позволяющий выполнять все основные операции Subversion. VisualSVN не пытается втиснуться в прокрустово ложе MSSCCI (интегрируется в студию как package), использует TortoiseSVN для UI. В июле 2006 будет выпущена версия с прозрачной поддержкой переименования файлов (в том числе — при рефакторинге Rename для классов в ReSharper'е).

    Разработчики VisualSVN будут весьма признательны Вам за содержательный фидбэк здесь в форуме или на адрес .
    Re: Интеграция Subversion в IDE: день сегодняшний
    От: nzeemin Россия http://nzeemin.livejournal.com/
    Дата: 30.06.06 11:22
    Оценка:
    Здравствуйте, fuurin, Вы писали:

    F>Вывод: на сегодняшний день, AnkhSVN — единственный продукт, который можно считать рабочим, но не реализуя MSSCC API, вряд ли ему суждено стать массовым.


    В ту же копилку:
    TurtleSVN — VS.NET Add-In
    http://www.splendot.com/ru/visual_studio_plugins/turtle_svn
    Основан на идее интеграции VS с TortoiseSVN.
    На данном этапе, практически нерабочий.
    Re[4]: Зачем нужна интеграция Subversion в IDE
    От: fuurin  
    Дата: 01.07.06 12:03
    Оценка:
    FS>Посмотрите пожалуйста на VisualSVN.

    Версия 0.6: функциональные замечания:
    — на папках нет контекстного меню с svn
    — на файлах нет меню update и commit, только на солюшене
    — хотелось бы иметь автоматический запрос на блокировку файла при его редактировании (конфигурируется галочкой в опциях вкл/выкл и, может быть, списком типов файлов)
    — операции должны работать рекурсивно, учитывая зависимости файлов в проекте (при той же блокировке нужно блокировать .cs и зависимый от него .resx), аналогично — для папок

    И те вещи, что уже запланированы на будущее:
    — нужно отображение статуса файла в его иконке
    — переименование файлов и папок
    — добавление, удаление (сейчас работает из окна commit)

    Инсталлятор вызвал ошибку в VS 2005 при регистрации пакета (AV в kernel32), хотя сама регистрация прошла успешно.
    Garbage In Garbage Out
    Re[5]: Зачем нужна интеграция Subversion в IDE
    От: Fyodor Sheremetyev Россия  
    Дата: 04.07.06 11:58
    Оценка:
    Здравствуйте, fuurin,

    Большое спасибо за содержательный feedback!

    > — на папках нет контекстного меню с svn

    Сделаем в 1.0.

    > — на файлах нет меню update и commit, только на солюшене

    Эти команды сделаны только на уровне рабочей копии специально — чтобы избежать несогласованного состояния рабочей копии. Типичная проблема — когда закоммичена или обновлена только часть файлов — проект не собирается, и требуется значительное время чтобы понять, что не все файлы в актуальном состоянии. Приемлемым решением для коммита видится отображение полного списка изменённых файлов, с галочкой, проставленной для текущего файла/папки. Такой вариант мы планируем сделать в VisualSVN 2.0.

    > — хотелось бы иметь автоматический запрос на блокировку файла при его

    > редактировании (конфигурируется галочкой в опциях вкл/выкл и, может
    > быть, списком типов файлов)
    Спасибо, хороший совет. Постараемся включить эту фичу в VisualSVN 1.1 (roadmap). Если у вас есть время обсудить фичу детальней — укажите пожалуйста email, я пришлю черновик спецификации.

    > — операции должны работать рекурсивно, учитывая зависимости файлов в

    > проекте (при той же блокировке нужно блокировать .cs и зависимый от
    > него .resx), аналогично — для папок
    Ок, блокировку зависимого файла сделаем вместе с автоматической блокировкой.

    > Инсталлятор вызвал ошибку в VS 2005 при регистрации пакета (AV в

    > kernel32), хотя сама регистрация прошла успешно.

    Больше ни у кого из пользователей такая ошибка не проявлялась. Может быть она вызвана другим плагином для студии? (В процессе инсталляции выполняется команда "devenv /setup" для корректной инициализации UI студии — и она загружает все плагины). Если Вам не трудно — давайте попытаемся разобрать с проблемой в переписке по email ().
    Re[6]: Зачем нужна интеграция Subversion в IDE
    От: fuurin  
    Дата: 04.07.06 13:48
    Оценка: +1
    >> — на файлах нет меню update и commit, только на солюшене
    FS>Эти команды сделаны только на уровне рабочей копии специально — чтобы избежать несогласованного состояния рабочей копии.

    Имхо, это должно решаться административно, а не навязываться утилитой разработки.
    Скажем, я работаю над каким-то кодом и нахожу баг, заношу его в трекер и тут же исправляю. Хочу залить один или несколько исправленных файлов — зачем мне идти в корень и оттуда искать и фильтровать только необходимое?
    Есть компромиссный вариант — вынести в конфигурацию флаг "разрешить svn на файлах". Поддерживать несколько стилей работы, а не навязывать "единственно правильный" — будет плюс для утилиты.
    Garbage In Garbage Out
    Re[6]: Зачем нужна интеграция Subversion в IDE
    От: fuurin  
    Дата: 04.07.06 14:03
    Оценка:
    FS> Если у вас есть время обсудить фичу детальней — укажите пожалуйста email, я пришлю черновик спецификации.

    Если есть что обсуждать, предлагаю обсуждать это публично. Я ведь не заказчик и не последняя инстанция, а каждый из девелоперов на этом сайте может иметь своё мнение.
    Garbage In Garbage Out
    Re[7]: Зачем нужна интеграция Subversion в IDE
    От: Dziman США http://github.com/Dziman
    Дата: 04.07.06 14:07
    Оценка:
    Здравствуйте, fuurin, Вы писали:
    F>Имхо, это должно решаться административно, а не навязываться утилитой разработки.
    F>Скажем, я работаю над каким-то кодом и нахожу баг, заношу его в трекер и тут же исправляю. Хочу залить один или несколько исправленных файлов — зачем мне идти в корень и оттуда искать и фильтровать только необходимое?
    F>Есть компромиссный вариант — вынести в конфигурацию флаг "разрешить svn на файлах". Поддерживать несколько стилей работы, а не навязывать "единственно правильный" — будет плюс для утилиты.
    Можно еще сделать группировку файлов для более удобной работы(типа изменения в файл1, файл2 — относятсятся к Баг1, а изменения в файл3, файл4 — относятсятся к Фича2). [off]Подсмотренно в IDEA6 [/off]
    ... << RSDN@Home 1.2.0 alpha rev. 653>> MSSQL2000Personal
    С уважением, Dziman
    Re[4]: Зачем нужна интеграция Subversion в IDE
    От: Sergey J. A. Беларусь  
    Дата: 20.07.06 10:31
    Оценка:
    Здравствуйте, Fyodor Sheremetyev, Вы писали:

    FS>Посмотрите пожалуйста на VisualSVN. Это плагин для Visual Studio 2003 и 2005, позволяющий выполнять все основные операции Subversion. VisualSVN не пытается втиснуться в прокрустово ложе MSSCCI (интегрируется в студию как package), использует TortoiseSVN для UI. В июле 2006 будет выпущена версия с ...


    Ну что там с версией 1.0 ? Скоро будет ?
    Re[5]: Зачем нужна интеграция Subversion в IDE
    От: Fyodor Sheremetyev Россия  
    Дата: 20.07.06 19:48
    Оценка:
    Здравствуйте, Sergey J. A., Вы писали:
    SJA>Ну что там с версией 1.0 ? Скоро будет ?

    Скоро — бета-тестирование в процессе.
    Re[5]: Зачем нужна интеграция Subversion в IDE
    От: Fyodor Sheremetyev Россия  
    Дата: 29.07.06 07:56
    Оценка: 21 (3)
    Здравствуйте, Sergey J. A., Вы писали:
    SJA>Ну что там с версией 1.0 ? Скоро будет ?

    VisualSVN 1.0 выпущен: http://www.visualsvn.com/download.html
    Основные новые фичи:
    * Автоматическая перезагружка документов, проектов, солюшена после операции, если они изменились
    * Поддержка переименования для файлов и папок (для файлов поддерживается множественное переименование).
    * Поддержка Windows XP x64
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 29.07.06 21:33
    Оценка:
    Здравствуйте, <Аноним>, Вы писали:

    А>A зачем какая-либо продвинутая интеграция нужна? Кодить в студии — одно, администрировать проект — совсем другое — зачем смешивать? Я уже несколько лет работаю на связке студия+Subversion+TortoisSVN без какой-либо интеграции и никаких неудобств не испытываю. Хотя, когда перешел с VSS, хотелось кликать прямо в студии.

    А>IMHO, когда люди действительно работают — таких вопросов не возникает — всегда есть что-нибудь более важное, а если делать нечего — возникает желание поиграть с SVN не выходя из студии (может SVN лучше в IE интегрировать — чтобы смотреть историю файлов и т.п. не выходя из rsdn, ну и в аську ещё). Смотрим интернет — куча больших open source проектов сделаны под SVN и (даже) CVS, кое-кто из программеров участвующих в этих проектах вообще из командной строки работает. А кое кому без полной интеграции SVN-a в студию формочку не нарисовать — историю из студии не видно. Какие у вас проекты, если не секрет?

    Согласен. Но есть одна бяка. Перемещение файлов между папками. Вот тут интеграция с SVN не помешала бы.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re: Интеграция Subversion в IDE: день сегодняшний
    От: Igoree Россия  
    Дата: 28.08.06 06:30
    Оценка:
    Здравствуйте, fuurin, Вы писали:

    F>
  • PushOk SVN Proxy — платный, да и не работает.
    F>
  • TortoiseSVNSCC — не работает.

    F>Это результаты беглого просмотра на простом Windows .NET проекте в VS2003 и VS2005. На объёмном проекте и при более продолжительной работе, скорее всего, выявятся дополнительные проблемы.

    F>А что хотелось бы иметь? Стабильную реализацию провайдера MSSCC API, предоставляющую в полном объёме функциональность последней версии Subversion. По крайней мере:
    F>
  • статус текущей версии
    F>
  • историю изменений файла, папки
    F>
  • диф выбранных версий
    F>
  • автоматическая блокировка нетекстовых файлов
    F>
  • разрешение конфликтов
    F>
  • переименование и перемещение файлов
    F>
  • выполнение команд удалённо, в репозитарии
    F>
  • удобная работа с клавиатуры
    F>
  • принятие русского текста

    F>И всё это не выходя из IDE. В этом списке даже нет ветвления, переключения между ветками и атрибутов.



    Я сам и мои коллеги пользуемся уже около 3-х лет связкой
    среда-PushOk SVN Proxy-(редко)TortoiseSVNSCC .


    TortoiseSVNSCC – не понимаю что у вас могло не заработать, но покрайней мере базовая функциональность есть и выполняется достаточно быстро. Не спорю, в ранних версиях была приличная кривизна и они даже умудрялись конфликтовали с PushOk SVN Proxy , но в версии 1.3.х уже все исправлено и работает отлично.
    Что на мой взгляд очень важно, разработчики TortoiseSVNSCC следят за изменениями SVN клиента и достаточно быстро переносят их.

    PushOk SVN Proxy – Возможно не идеальный плагин, но это лучшее что нам удалось найти за доступные деньги.
    Тут есть несколько интересных моментов:
    1.Разработчики написали и выложили в Опен сурс СОМ интерфейс для SVN, это волшебная вешь вы можете сами написать небольшой VBS скрипт и автоматизировать некоторые операции работы со своими проектами!!!
    2.Похоже плагин версии 1.3.х перенесен на использование СОМ интерфейса, так как скорость работы плагина увеличилась на 30-45% (почему то сильно влияет протокол доступа к репозиторию).
    3.Приятно удивила тех-подержка. На данный момент функциональность плагина нас устраивает. Но был период когда мы находили ошибки или предлагали некоторые модернизации, так мы получали быстрый и приличный ответ в течение суток, а исправления появлялись от 2-3 дней до недели.
    4.И что самое приятное, ОНИ ОТВЕЧАЮТ И НА РУССКИЕ ПИСЬМА !!!
  • Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: fuurin  
    Дата: 28.08.06 13:28
    Оценка:
    I>Я сам и мои коллеги пользуемся уже около 3-х лет связкой
    I>среда-PushOk SVN Proxy-(редко)TortoiseSVNSCC .

    Что-то я не пойму, как сюда вписывается TortoiseSVNSCC? Вы не путаете TortoiseSVNSCC с TortoiseSVN?
    Garbage In Garbage Out
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: Andrei F.  
    Дата: 29.11.07 14:35
    Оценка:
    Здравствуйте, Igoree, Вы писали:

    I>PushOk SVN Proxy – Возможно не идеальный плагин, но это лучшее что нам удалось найти за доступные деньги.


    А сколько оно стоит? На сайте не дают даже цену посмотреть без регистрации ( )
    Re: Интеграция Subversion в IDE: день сегодняшний
    От: Igor Trofimov  
    Дата: 29.11.07 21:10
    Оценка: +1
    Кстати, на сегодняшний день (раз уж подняли ветку) лучшее, что я видел, и что не перечислено — это VisualSVN.
    Всем рекомендую — очень удобно и качественно.
    Re[2]: Интеграция Subversion в IDE: день сегодняшний
    От: Left2 Украина  
    Дата: 30.11.07 09:18
    Оценка:
    iT>Кстати, на сегодняшний день (раз уж подняли ветку) лучшее, что я видел, и что не перечислено — это VisualSVN.
    iT>Всем рекомендую — очень удобно и качественно.

    И платно
    Насчёт того что лучшее из того что есть — соглашусь.
    Насчёт того что уж очень удобно — не сказал бы, ИМХО есть куда двигаться — к примеру, она у меня довольно сильно втыкала если репозиторий виден не постоянно а только когда нужно сделать какие-то действия (у меня что-то типа диал-апа), ещё какие-то глюки помнится видел...
    Но конечно самый приятный фичер в ней — возможность переименовывать файлы "прямо не выходя из бассейна" — непосредственно в IDE MSVC, при рефакторинге проекта мегаудобно, за это можно простить почти всё
    ... << RSDN@Home 1.2.0 alpha rev. 717>>
    Re[3]: Интеграция Subversion в IDE: день сегодняшний
    От: Igor Trofimov  
    Дата: 30.11.07 20:22
    Оценка: +2
    L>Но конечно самый приятный фичер в ней — возможность переименовывать файлы "прямо не выходя из бассейна" — непосредственно в IDE MSVC, при рефакторинге проекта мегаудобно, за это можно простить почти всё

    На самом деле самый большой плюс такой, прям, необъемлющий плюс — это то, что он использует TortoiseSVN в полный рост для всего.
    И не пытается убого повторить его функционал, который отлично развивается.
    А только протягивает ниточку из МS до TSVN.
    Re[3]: Интеграция Subversion в IDE: день сегодняшний
    От: MatFiz Россия  
    Дата: 30.11.07 21:34
    Оценка:
    Здравствуйте, Left2, Вы писали:

    L>Но конечно самый приятный фичер в ней — возможность переименовывать файлы "прямо не выходя из бассейна" — непосредственно в IDE MSVC, при рефакторинге проекта мегаудобно, за это можно простить почти всё


    Ухты, как это работает?
    How are YOU doin'?
    Re[4]: Интеграция Subversion в IDE: день сегодняшний
    От: Left2 Украина  
    Дата: 01.12.07 11:24
    Оценка: 2 (1)
    MF>Ухты, как это работает?
    Да вот прям так — правой педалью тыкаешь на файле и в контестном меню говоришь "переименовать" — а вызов команды svn rename Visual SVN берёт на себя.
    ... << RSDN@Home 1.2.0 alpha rev. 717>>
    Re[5]: Интеграция Subversion в IDE: день сегодняшний
    От: MatFiz Россия  
    Дата: 03.12.07 07:24
    Оценка:
    Здравствуйте, Left2, Вы писали:

    MF>>Ухты, как это работает?

    L>Да вот прям так — правой педалью тыкаешь на файле и в контестном меню говоришь "переименовать" — а вызов команды svn rename Visual SVN берёт на себя.

    А разрюхает ли Visual SVN такие кейсы:
    1. В Решарпере нажму F2 на имя класса (rename-рефакторинг) и соглашусь переименовать файл?
    2. Мышкой Drag'n'Drop-ну папку с иерархией файлов-классов из одного проекта в другой?
    3. То же, что в пункте 2, только ctrl+X, ctrl+V?
    How are YOU doin'?
    Re[5]: Интеграция Subversion в IDE: день сегодняшний
    От: dotidot Россия  
    Дата: 03.12.07 11:06
    Оценка:
    Здравствуйте, Left2, Вы писали:

    L>Да вот прям так — правой педалью тыкаешь на файле и в контестном меню говоришь "переименовать" — а вызов команды svn rename Visual SVN берёт на себя.

    а если там есть изменения?
    Re[6]: Интеграция Subversion в IDE: день сегодняшний
    От: Alexey Axyonov Украина  
    Дата: 03.12.07 12:15
    Оценка: 2 (1)
    Здравствуйте, MatFiz, Вы писали:

    MF>Здравствуйте, Left2, Вы писали:


    MF>>>Ухты, как это работает?

    L>>Да вот прям так — правой педалью тыкаешь на файле и в контестном меню говоришь "переименовать" — а вызов команды svn rename Visual SVN берёт на себя.

    MF>А разрюхает ли Visual SVN такие кейсы:

    MF>1. В Решарпере нажму F2 на имя класса (rename-рефакторинг) и соглашусь переименовать файл?
    MF>2. Мышкой Drag'n'Drop-ну папку с иерархией файлов-классов из одного проекта в другой?
    MF>3. То же, что в пункте 2, только ctrl+X, ctrl+V?

    Работают все 3 пункта.
    ... << RSDN@Home 1.2.0 alpha rev. 786>>
    Re[6]: Интеграция Subversion в IDE: день сегодняшний
    От: Left2 Украина  
    Дата: 03.12.07 13:20
    Оценка:
    L>>Да вот прям так — правой педалью тыкаешь на файле и в контестном меню говоришь "переименовать" — а вызов команды svn rename Visual SVN берёт на себя.
    D>а если там есть изменения?
    Скажу честно — не пробовал. Но теоретически проблем быть не должно — ты ж можешь переименовать изменённый файл из черепашки, а Visual SVN просто использует черепашкин (вернее, родной SVN-овский) фичер.
    ... << RSDN@Home 1.2.0 alpha rev. 717>>
    Re[7]: Интеграция Subversion в IDE: день сегодняшний
    От: dotidot Россия  
    Дата: 03.12.07 16:05
    Оценка:
    Здравствуйте, Left2, Вы писали:

    D>>а если там есть изменения?

    L>Скажу честно — не пробовал. Но теоретически проблем быть не должно — ты ж можешь переименовать изменённый файл из черепашки, а Visual SVN просто использует черепашкин (вернее, родной SVN-овский) фичер.
    svn при этом ругаеться. говорит только если сделать --force сделаю.
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.