АнхСВН - это хорошо?

Я спросил пару коллег об AnkhSVN, и ни один из них не был доволен этим. Один из них зашел так далеко, что сказал, что АнхСВН несколько раз испортил его девенв.

Какой у вас опыт работы с АнхСВН? Я действительно скучаю по наличию интегрированного инструмента управления версиями IDE.

20.08.2008 13:54:31
12 ОТВЕТОВ
РЕШЕНИЕ

Старый AnkhSVN (до 2.0) был очень дрянным, и я использовал его только для блестящих иконок в обозревателе решений. Я полагался на Черепаху для всего, кроме ревертов.

Более новая версия Ankh полностью переписана (теперь она использует API-интерфейс управления исходным кодом в среде IDE) и выглядит и работает намного лучше. Тем не менее, я не заставлял его поднимать тяжести. Иконы мне достаточно.

Единственный недостаток, с которым я столкнулся в 2.0 - это тот факт, что он привязывает свои файлы к файлам .sln . Я всегда обращаю их внимание, чтобы они не создавали проблем коллегам, у которых не установлен Ankh. Не знаю, беспочвенны ли мои страхи или нет.


добавление к нему:

В последние несколько недель я более широко использовал v2.1.7141, и вот что я должен добавить:

  • Никаких отвратительных сбоев, которые мучили v1.x. Ура!
  • По некоторым причинам, окна «Показать изменения» (diff) ограничены только двумя. Мех.
  • Различные окна пока не позволяют редактировать / возвращать. Бу!
  • Обновления, коммиты и просмотр намного быстрее, чем черепаха. Ура!

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

22
7.09.2009 10:37:54
Регистрация в .sln не обязательна, но рекомендуется. Регистрация гарантирует, что AnkhSVN станет активным SCC, когда вы используете нескольких поставщиков SCC рядом друг с другом. Вы можете удалить маркировку, отсоединив решение в File-> Subversion-> Change Source Control.
Bert Huijben 19.09.2008 22:41:37
Я бы порекомендовал выбрать сторонний инструмент сравнения в Сервис -> Параметры -> Управление исходным кодом -> Инструменты пользователя Subversion ... (Лично я использую SourceGear DiffMerge; бесплатный, но очень продвинутый инструмент слияния)
Bert Huijben 10.09.2009 22:21:11

Я попробовал версию 1, и это было, по меньшей мере, ненадежно. Я не могу ничего сказать о 2.0.

Если вы можете себе это позволить, тот, который я использую, VisualSVN , очень хорош и использует TortoiseSVN для всех своих графических интерфейсов, за исключением специализированных вещей, связанных с его интеграцией VS.

6
20.08.2008 14:01:24

У меня всегда были проблемы со стабильностью с АнхСВН. Я не мог переключить всех на Subversion, где я работаю без интегрированного решения.

Слава Богу за VisualSVN + TortoiseSVN .

VisualSVN не бесплатен, но он дешев и приносит удовольствие.

13
20.08.2008 14:04:34

Я попробовал AnkhSVN (1.0.3, всего 4 месяца назад), и он не сработал так, как я хотел (т.е. нужно было выбирать вещи в окне браузера, а не на основе активного файла). В итоге я создал несколько макросов, использующих TortoiseSVN, которые работают намного больше, чем я ожидал.

Я был очень доволен использованием TortoiseSVN через проводник и мои макросы в IDE.

0
20.08.2008 14:10:33

Я начал с AnkhSvn, а затем перешел на VisualSvn. У меня есть свои проблемы с VisualSvn, но это гораздо меньше проблем по сравнению с Ankh. Я еще не попробовал новую версию Ankh, которая, как говорят, является полной перепиской, и в которой также участвовала команда разработчиков Microsoft.

2
20.08.2008 14:31:47

Я использовал как новейшую версию Ankh SVN, так и Tortoise для домашнего проекта. Я считаю, что они оба очень хороши с оговоркой.

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

1
20.08.2008 14:45:47
истинные переименования не реализованы в Subversion, вместо этого происходит удаление + добавление.
Sander Rijken 17.12.2009 14:37:13

@ mcintyre321

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

Операция перемещения или переименования приводит к удалению и «добавлению с историей» на уровне подрывной деятельности.

TortoiseSvn показывает это как:

originalFile   deleted
newFile        added (+)
0
15.09.2008 15:13:40

Ранее (как 2 года назад, когда я в последний раз пытался), AnkhSVN и Tortoise, использованные параллельно с одной и той же рабочей копией, вызвали какое-то повреждение рабочей копии, когда Ankh и Tortoise каким-то образом потеряли отслеживание состояния, в котором другой инструмент оставил рабочую копию.

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

Проблемы проявились в том, что Анкх (или Черепаха) настаивал на том, чтобы файлы были там, которых не было, на файлах, которые были изменены, которые не были, и на файлах, которые не были изменены, которые были (и, следовательно, не в состоянии зафиксировать).

Возможно, это было исправлено с тех пор, но я подумал, что лучше предупредить вас, ребята.

0
12.09.2008 09:00:50
это нормально - измените состояние файла вне VS, и черепаха покажет измененный значок, но Ankh не будет. Он не предназначен для просмотра ваших файлов в случае, если вы изменили их вне среды IDE. Тем не менее, он не должен вызывать каких-либо повреждений, он все равно будет работать, когда вы фиксируете или обновляете.
gbjbaanb 6.08.2009 22:36:55
Более новые версии AnkhSVN прослушивают событие, которое TortoiseSVN отправляет в окно проводника, чтобы обновить свои пометки значков. Это должно исправить большинство этих проблем
Sander Rijken 17.12.2009 14:39:07

Около года назад мы с приятелем использовали AnkhSVN для проекта ... несколько коммитов спустя, перемещая пространства имен, он сломал репозиторий SVN. Сломал, как в, последний коммит, который мы сделали, был поврежден, и мы больше не могли коммитить.

После этого мы использовали TortoiseSVN и перемещали пространство имен вручную, это просто ... работало . Если вы работаете только с библиотеками базовых классов, вы всегда можете попробовать использовать SharpDevelop (который интегрируется с TortoiseSVN).

Я надеюсь, что они исправили AnkhSVN сейчас, потому что интеграция IDE всегда качается ... когда они работают.

0
12.09.2008 09:54:43

У меня не было проблем с v1, но меня предупредили не использовать его. Я давно пользуюсь v2, и у меня не было проблем с этим. Я все еще храню резервную копию хранилища, хотя ...

3
12.09.2008 10:39:10
Во-первых, я думаю, что вы всегда должны хранить резервные копии репозиториев ... Во-вторых, если какой-либо клиент может уничтожить репозиторий, то в svn есть ошибка, а не в этом клиенте. Все, что делает клиент, это отправляет команды через линию, что означает, что специально созданный злой инструмент может делать то же самое.
Sander Rijken 18.09.2008 21:38:38

@pilif: AnkhSVN поддерживает состояние рабочей копии в памяти, которое становится недействительным / обновляется событиями Visual Studio (т.е. вы редактируете / изменяете файл) и событиями AnkhSVN (т.е. вы фиксируете / обновляете / возвращаете / и т. д.)

Всякий раз, когда рабочая копия изменяется из-за пределов Visual Studio (путем редактирования с помощью другого инструмента или с помощью другого клиента Subversion), вам придется обновлять AnkhSvn с помощью предоставленной нами команды «Обновить».

Другая вещь, которая случается, когда вы удаляете файл в проекте с TortoiseSvn, например, это то, что он остается в списке в файле проекта, и вам придется удалить его там отдельно (а затем зафиксировать файл проекта).

6
15.09.2008 13:39:17
Примечание из будущего: AnkhSVN 2.1 теперь прослушивает некоторые события, которые TortoiseSVN отправляет проводнику Windows, чтобы сделать его кеш недействительным.
Bert Huijben 10.12.2009 10:35:16

Скопируйте / вставьте части моего собственного поста, когда я переключился с Ankh на VisualSVN:

Почему я переключился? Потому что я был немного недоволен общей стабильностью Ankh, поскольку у него есть некоторые проблемы с отслеживанием изменений решения. VisualSVN является «просто» интерфейсом TortoiseSVN, что означает, что он оставляет весь «тяжелый подъем» стороннему инструменту, который а) все равно установлен на большинстве рабочих станций и б) который был протестирован и использован такой широкой аудиторией, это действительно Скала.

Теперь AnkhSVN, конечно, не плохой продукт, и люди, стоящие за ним, серьезно относятся к тому, что они делают, но наличие давно удаленных файлов в моем SVN или получение сообщения «Please Cleanup your solution» через некоторое время раздражает, но моя самая большая проблема - окно свойств. Приятно, что есть прекрасное окно с Radio Buttons, спрашивающим, какое свойство я хочу добавить. К сожалению, нет возможности вручную ввести свойство.

Изменить: Это было для АнхСВН 1.x. В то же время, он был обновлен до 2.x и значительно улучшен. Я использую его в производстве в системе, где у меня нет VisualSVN, и сейчас она работает очень хорошо.

4
7.08.2009 05:19:24