AnkhSVN有什么用吗?

时间:2020-03-05 18:41:07  来源:igfitidea点击:

我向几个同事询问了有关AnkhSVN的信息,但他们俩都不满意。其中一位甚至说AnkhSVN搞砸了他的几次开发。

我们对AnkhSVN有何经验?我真的很想拥有IDE集成的源代码控制工具。

解决方案

回答

较旧的AnkhSVN(2.0版之前)非常糟糕,我只在解决方案资源管理器中将其用于闪亮的图标。除了还原以外,我都依赖于Tortoise。

较新的Ankh是一个完整的重写(它现在使用IDE的Source Control API),并且外观和效果要好得多。不过,我没有强迫它进行任何繁重的工作。图标对我来说足够了。

我对2.0唯一的抱怨是它占用了.sln文件的空间。我总是还原它们,以免它们给未安装Ankh的同事造成问题。邓诺,如果我的担心是没有根据的。

附录:

过去几周我一直在广泛使用v2.1.7141,这是我必须添加的新内容:

  • 没有困扰v1.x的丑陋崩溃。耶!
  • 由于某些原因,"显示更改"(diff)窗口仅限于两个。嗯
  • 差异窗口尚不允许编辑/还原。 !
  • 更新,提交和浏览比Tortoise快得多。耶!

总而言之,我不会单独使用它,但是一旦开始使用它,它将成为Tortoise几乎不可缺少的伴侣。

回答

我尝试了版本1,至少可以这样说。我不能说2.0。

如果可以负担得起,我所用的VisualSVN会非常好,并且将TortoiseSVN用于其所有GUI,除了与VS集成相关的特殊功能外。

回答

我总是遇到AnkhSVN的稳定性问题。如果没有集成解决方案,我无法将所有人切换到工作的Subversion。

感谢VisualSVN + TortoiseSVN。

VisualSVN不是免费的,但价格便宜,并且可以满足要求。

回答

我尝试了AnkhSVN(1.0.3,就在4个月前),它没有按照我想要的方式工作(即需要在浏览器窗口中选择内容而不是基于活动文件)。最后,我制作了一些利用TortoiseSVN的宏,它们的工作方式与我期望的非常相似。

我对通过浏览器和IDE内的宏使用TortoiseSVN感到非常满意。

回答

我从AnkhSvn开始,然后转到VisualSvn。我对VisualSvn有自己的见识,但与Ankh相比,它的麻烦要少得多。我还没有尝试过新版本的Ankh,他们说这是完全重写的版本,并且也得到了Microsoft开发团队的投入。

回答

我在家里的一个项目上一直在使用最新版本的Ankh SVN和Tortoise。我发现它们在警告方面都很好。

我发现这两种SVN工具有时都无法跟上我的文件/文件夹的重命名和移动,导致它认为下一次提交时需要删除一个完美的文件。这可能是由于我以某种方式滥用SVN而导致的,但是在工作中的TFS并没有这个问题。

回答

@ mcintyre321

I've found that both SVN tools have at times failed to keep up with my file/folder renaming and moving resulting in it thinking that a perfectly good file needs to be deleted on the next commit.

移动或者重命名操作会导致在Subversion级别删除并"添加历史记录"。

TortoiseSvn显示为:

originalFile   deleted
newFile        added (+)

回答

较早的时候(例如2年前我上次尝试时),与同一工作副本并行使用的AnkhSVN和Tortoise导致某种工作副本损坏,其中Ankh和Tortoise不知何故失去了另一工具将工作副本留在其中的状态。

好像其中一种工具存储了工作副本中未包含的其他元数据,并且依赖于这种正确性。

Ankh(或者Tortoise)坚持不存在的文件,不进行更改的文件和不进行更改的文件(因此无法提交)坚持不懈地表明了自己的问题。

也许此后已解决,但我想我最好警告你们。

回答

大约一年前,我和一个伙伴将AnkhSVN用于一个项目...几处提交之后在移动名称空间时破坏了SVN存储库。中断了,我们的最后一次提交被破坏了,我们不能再提交了。

之后,我们使用了TortoiseSVN并手动移动了名称空间,它就开始工作了。如果仅在基类库上工作,则可以始终尝试使用SharpDevelop(与TortoiseSVN集成)。

我确实希望他们现在能修复AnkhSVN,因为IDE集成在工作时总是会摇摇欲坠。

回答

我对v1没问题,但是被警告不要使用它。我已经使用v2一段时间了,但我没有遇到任何问题。我仍然保留存储库的备份...

回答

@pilif:AnkhSVN维护工作副本的内存状态,该状态在Visual Studio事件(即,我们编辑/更改文件)和AnkhSVN事件(即,我们提交/更新/还原/等)中无效/更新。

每当从Visual Studio外部更改工作副本时(通过使用其他工具进行编辑或者使用另一个Subversion客户端),我们都必须使用我们提供的Refresh命令刷新AnkhSvn。

例如,当我们使用TortoiseSvn删除项目中的文件时,发生的另一件事是,该文件仍列在项目文件中,我们将必须单独将其删除(然后再提交项目文件)。

回答

从Ankh切换到VisualSVN时,复制/粘贴我自己的Blogpost的各个部分:

Why did I switch? Because i was a bit unhappy with the overall stability of Ankh, since it has some problems actually tracking Solution changes. VisualSVN is “just” a TortoiseSVN Frontend, which means it leaves all the “heavy lifting” to a third-party tool that a) is installed on most Workstations anyway and b) that’s been tested and used by such a wide audience, it’s really rock-solid.
  
  Now, AnkhSVN is certainly not a bad product, and the people behind it are serious about what they are doing, but having long-deleted files still in my SVN or getting the “Please Cleanup your solution” message get’s annoying after some time, but my biggest gripe is the property window. It’s nice that there is a nice window with Radio Buttons asking me which property I want to add. Unfortunately, there is no way to manually enter a property.

编辑:那是为AnkhSVN1.x。同时,它已更新为2.x,并且有了很大的改进。我在没有VisualSVN的系统上的生产环境中使用了它,并且现在效果非常好。