代码之家  ›  专栏  ›  技术社区  ›  dave

是否有一个c库用于包装多个供应链管理供应商的API?

  •  5
  • dave  · 技术社区  · 17 年前

    我正在处理的项目需要访问用户源代码管理。为此,我们包装了Perforce API和subversionapi(分别使用P4.NET和SubversionSharp)。

    4 回复  |  直到 17 年前
        1
  •  2
  •   TcKs    17 年前

    您可以搜索Microsoft源代码控制提供程序(MSSCCI)。

        2
  •  1
  •   Sergiu Damian    17 年前

    mscci可以帮助许多源代码管理产品直接从Visual Studio访问,但不一定可以从.NET代码中使用。据我所知,没有一个.NET库可以抽象出对所有源代码管理产品的访问,甚至可以抽象出对多个产品的访问。

        3
  •  1
  •   andrewbadera    17 年前

    你能通过DllImport/interop调用MSSCCI吗?

    事实上,是的。。。

    [DllImport(@"C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SSSCC.DLL")]
    
        4
  •  0
  •   Bert Huijben    17 年前

    大多数较新的源代码管理系统使用更新/合并原则和/或允许更新/合并和锁定的组合来模仿旧的行为。

    如果您想使用.Net中的Subversion,还应该查看 SharpSvn 在.Net样式的api中提供所有Subversion功能。(如果不愿意,您不必考虑内存管理、apr数组、函数指针等)。

    using(SvnClient client = new SvnClient())
    {
       client.Update(@"C:\My\WorkingCopy");
    
       // Do something to your working copy
       File.AppendAllText(@"C:\My\WorkingCopy", "\nFile Change\n");
    
       SvnCommitArgs ca = new SvnCommitArgs();
       ca.LogMessage = "Line added";
    
       client.Commit(@"C:\My\WorkingCopy", ca);
    }