题
我问了几位同事 安赫SVN 两人都对此不满意。其中一位甚至说 AnkhSVN 已经好几次搞砸了他的 devenv。
您使用 AnkhSVN 的体验如何?我真的很怀念 IDE 集成源代码控制工具。
解决方案
较旧的 AnkhSVN(2.0 之前)非常糟糕,我只将它用于解决方案资源管理器中闪亮的图标。除了恢复之外,我一切都依赖 Tortoise。
较新的 Ankh 是完全重写的(它现在使用 IDE 的源代码控制 API),并且看起来和工作得更好。尽管如此,我并没有强迫它承担任何繁重的工作。图标对我来说就足够了。
我对 2.0 唯一的抱怨是它把足迹打到了 .sln 文件。我总是恢复它们,以免给没有安装 Ankh 的同事带来问题。不知道我的担心是否毫无根据。
附录:
在过去的几周里,我更广泛地使用了 v2.1.7141,以下是我必须添加的新内容:
- 没有困扰 v1.x 的丑陋崩溃。耶!
- 由于某种原因,“显示更改”(diff)窗口仅限于两个。嗯。
- 差异窗口尚不允许编辑/恢复。嘘!
- 更新、提交和浏览比 Tortoise 快得多。耶!
总而言之,我不会单独使用它,但一旦你开始使用它,它就成为Tortoise几乎不可或缺的伴侣。
其他提示
@皮利夫:AnkhSVN 维护工作副本的内存状态,该状态由 Visual Studio 事件(即您编辑/更改文件)和 AnkhSVN 事件(即您提交/更新/恢复/等)无效/更新
每当从 Visual Studio 外部更改工作副本(通过使用其他工具编辑或使用其他 Subversion 客户端)时,您都必须使用我们提供的刷新命令刷新 AnkhSvn。
例如,当您使用 TortoiseSvn 删除项目中的文件时,会发生的另一件事是它仍然在项目文件中列出,您必须在那里单独删除它(然后也提交项目文件)。
我尝试了版本 1,至少可以说它是不可靠的。对于2.0,我无话可说。
如果你买得起的话,我用的那个, 视觉SVN, ,非常好,除了与 VS 集成相关的专门内容外,它的所有 gui 都使用 TortoiseSVN。
复制/粘贴我的部分内容 自己的博客文章, ,当我从 Ankh 切换到 VisualSVN 时:
我为什么要转行?因为我对 Ankh 的整体稳定性有点不满意,因为它在实际跟踪解决方案更改时存在一些问题。VisualSVN“只是”一个 TortoiseSVN 前端,这意味着它将所有“繁重的工作”留给了第三方工具,该工具 a) 无论如何都安装在大多数工作站上,b) 已经过如此广泛的受众的测试和使用,它确实坚如磐石。
现在,AnkhSVN 当然不是一个糟糕的产品,而且它背后的人对他们正在做的事情很认真,但是长时间删除的文件仍然在我的 SVN 中或者在一段时间后收到“请清理你的解决方案”消息会变得很烦人,但是我最大的抱怨是财产窗口。很高兴有一个带有单选按钮的漂亮窗口询问我要添加哪个属性。不幸的是,没有办法手动输入属性。
编辑: 那是针对 AnkhSVN 1.x 的。与此同时,它已更新至 2.x 并 很多 改善了。我在没有 VisualSVN 的生产系统上使用它,现在它运行得非常好。
我使用 v1 没有任何问题,但有人警告我不要使用它。我已经使用 v2 一段时间了,没有遇到任何问题。不过我仍然保留存储库的备份......
我从 AnkhSvn 开始,然后转向 VisualSvn。我对 VisualSvn 有自己的抱怨,但与 Ankh 相比,它的麻烦要少得多。我还没有尝试新版本的 Ankh,他们说这是一个完全重写,并且也有微软开发团队的投入。
我一直在家里的一个项目中使用最新版本的 Ankh SVN 和 Tortoise。我发现它们都非常好,但有一点需要注意。
我发现这两个 SVN 工具有时无法跟上我的文件/文件夹重命名和移动,导致它认为需要在下次提交时删除一个完美的文件。这可能是由于我在某种程度上滥用了 SVN,但工作中的 TFS 没有这个问题。
我尝试了 AnkhSVN(1.0.3,就在 4 个月前),但它没有按照我想要的方式工作(即需要在浏览器窗口中选择内容而不是基于活动文件)。我最终制作了一些利用 TortoiseSVN 的宏,它们的工作方式更像我的预期。
我对通过资源管理器和 IDE 中的宏使用 TortoiseSVN 感到非常满意。
早些时候(比如 2 年前,当我上次尝试时),AnkhSVN 和 Tortoise 与同一个工作副本并行使用会导致某种工作副本损坏,其中 Ankh 和 Tortoise 不知何故失去了其他工具留下工作副本的状态。
就好像其中一个工具存储了工作副本中未包含的附加元数据,并且依赖于其正确性。
Ankh(或 Tortoise)坚持要求文件存在而文件不存在,文件被更改而文件没有更改,文件未更改而文件被更改(因此无法提交)。
也许此后这个问题已经得到解决,但我想我最好警告你们。
@mcintyre321
我发现这两个 SVN 工具有时无法跟上我的文件/文件夹重命名和移动,导致它认为需要在下次提交时删除一个完美的文件。
移动或重命名操作会导致在颠覆级别进行删除和“添加历史记录”。
TortoiseSvn 将其显示为:
originalFile deleted
newFile added (+)