c# - 在 sharpsvn 中提交的问题

标签 c# sharpsvn

我想将我计算机中工作副本的更改提交到存储库。 存储库在一个 URL 中,我现在正在这样做:

using (SvnClient client = new SvnClient())
{
    SvnCommitArgs ca = new SvnCommitArgs();

    ca.ChangeLists.Add(workingcopydir + filename);

    ca.LogMessage = "Change";

    client.Add(workingcopydir + filename);



    try
    {
        client.Commit(workingcopydir, ca);

        //, ca, out resultado
    }
    catch (Exception exc)
    {
        MessageBox.Show(this, exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

但是它不起作用,当它完成时文件被添加但没有提交。为什么? 谢谢!!! :)

最佳答案

FWIW,我是这样做的:

    public bool Add (string path)
    {
        using(SvnClient client = NewSvnClient()){
            SvnAddArgs args = new SvnAddArgs();
            args.Depth = SvnDepth.Empty;
            args.AddParents = true;
            return client.Add(path, args);
        }
    }

    public bool Commit (string path, string message)
    {
        using(SvnClient client = NewSvnClient()){
            SvnCommitArgs args  = new SvnCommitArgs();

            args.LogMessage     = message;
            args.ThrowOnError   = true;
            args.ThrowOnCancel  = true;

            try { 
                return client.Commit(path, args);
            } catch(Exception e){
                if( e.InnerException != null ){
                    throw new Exception(e.InnerException.Message, e);
                }

                throw e;
            }
        }
    }

然后我这样调用它:

  repo.Add("some folder");

  ...

  repo.Commit("base working copy");

关于c# - 在 sharpsvn 中提交的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362303/

相关文章:

c# - 使用 SemaphoreSlim,在等待所有线程完成时更新 UI

c# - Blazor - 私有(private)组件

asp.net - 允许本地aspnet账号执行SharpSvn.CreateRepository

c# - CheckedListBox 中行的替代背景颜色?

c# - 并发文件.移动同一文件

c# - 使用 WatiN 爬行至 google 上的下一页

c# - SharpSVN 更新到特定版本 c#

c# - SharpSvn 和 C# 源代码示例

.net - SharpSvn 是否可以按作者检索日志消息?

c# - 如何在 c# 中以编程方式从 svn 存储库获取最新的 top "n"提交消息