任何人都可以推荐一个 SVN 客户端,以便在带有 VBA 的 Excel 中使用(仅限代码模块)。理想情况下,我还希望 SVN 在提交更改之前忽略大小写,以避免在存储库中过度流失(VBA 有一个令人讨厌的习惯,即在整个项目中更改变量的大小写)。
4 回答
TortoiseSVN与 Windows 文件资源管理器完美集成,并允许集成外部差异工具(如Beyond Compare .
Beyond Compare有一个用于 Visual Basic 代码的特定插件,它似乎忽略了“不重要文本”的大小写,这意味着任何不在引号中的内容。
但是,我认为这不会解决 SVN 流失问题。我不相信 SVN 使用外部 diff 程序来确定文件在提交之前是否已更改,并且我不知道有任何方法可以覆盖此行为。
哇,我对 Excel VBA SVN 的搜索让我找到了一个 9 岁的线程。所以我想我会更新。
上面的 msofficesvn(移至 sourceforge/github)是我找到的最好的 svn 选项,但 2 年内没有更新,它只管理整个文档。OP 和我自己正在寻找对单个 bas 文件的控制。
我最近开始使用Rubberduck,它是一个 Excel VBA git 接口,用于管理到您的 git 存储库的复杂导出/导入。它目前受支持,虽然有点棘手,但可以工作。
我的组织不仅强制使用 Windows,它对 git 有点抵抗力,而且还在使用 SVN,但我认为没有 Excel VBA SVN 工具,所以会悄悄地坚持使用 Rubberduck。我希望这对其他人有帮助。
更新:由于我在 Excel VBA 上花费了更多时间,我意识到您并不绝对需要 Rubberduck。你可以只用 git for Windows 就可以了。但是,您需要自己仔细管理导出/删除/导入。这可能更可取,因为我发现如果您在非常基本的添加和提交功能之外使用 Rubberduck 做任何事情,那么您的模块会发生非常不愉快的事情。尝试签出一个新分支会让你回到最初的提交并覆盖你的所有模块。首先关闭 Excel,执行 git 操作,然后重新打开 Excel 并在 Rubberduck 中重新打开您的存储库。
如果您确实想管理自己但需要菜单和表单,可以使用 TortiseGIT和TortiseSVN集成到 Windows 资源管理器中。