如何使用Rubberduck管理本地git存储库

时间:2017-04-07 03:26:10

标签: git vba version-control vbe rubberduck

我正在使用Rubberduck(版本2.0.13)与本地git存储库结合使用,以便对我的VBA项目进行版本控制。

目前,每次在Source Control Window中使用Manage -> Open Existing Repository启动Rubberduck时,我都需要重新打开存储库。

是否有更好的方法来处理本地存储库,例如Rubberduck可以保存此设置吗?我不想使用在线存储库,因此我认为“Unsynced commits”选项卡对我来说无关紧要。

1 个答案:

答案 0 :(得分:4)

这开头是一个评论,但是太长了......所以我想我会做出令人失望的答案。

我个人不做VBA(最近无论如何),所以我不能说我积极使用Rubberduck的源代码控制功能,而且我没有真正为那个部分贡献很多,但是我知道似乎设法使用它的用户 - 同时使用本地和远程存储库:这些用户可能会提供比我使用使用更好的答案。

有很多开放的issues involving the source control feature,甚至是a project dedicated to stabilizing it。基本上它是“原样”提供的,就像“比什么都没有”更好。

我的想法是它应该选择ProjectId(我们当前存储在已启用写入的VBProject.HelpFile 中,无用的任何用途属性 - 你想混淆活动项目的Rubberduck你只是改变那个值),所以我们确定项目 ID在%appdata%\Rubberduck\SourceControl.rubberduck文件中查看该项目ID是否与已知存储库相关联 - 如果是这种情况,那么我们将打开该存储库并更新SC面板。

配置文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <SourceControlSettings>
    <UserName />
    <EmailAddress />
    <DefaultRepositoryLocation />
    <Repositories>
      <Repository>
        <Id>86689642</Id>
        <LocalLocation>C:\Dev\VBA\VBTools</LocalLocation>
        <RemoteLocation />
      </Repository>
    </Repositories>
    <CommandPromptLocation>cmd.exe</CommandPromptLocation>
  </SourceControlSettings>
</Configuration>

我们正在存储信息 - 存储库<Id>应该完全用于此,因此要么正常工作,要么不可靠,或者是创建问题并被禁用。

但你是对的:每次都不得不手动打开工作存储库是一个理想的用户体验。是否有遥控器不应该有所作为,当你有遥控器时,你仍然需要有一个本地副本。

我记得有一次我们是否应该让用户浏览存储库位置,或者只是从配置文件中列出已知的存储库,这是有争议的 - 决定让用户浏览并打开Rubberduck已知的任何git存储库或不会,这会使它更容易和灵活,特别是当Rubberduck还没有知道存储库时;如果您有想法或功能请求(或只是报告错误),请随意open an issue on GitHub