2010-03-02 2 views
1

Я хочу зафиксировать изменения рабочей копии на моем компьютере в репозитории. Хранилище находится в URL и i'm делает это сейчас:Проблема с фиксацией в sharpsvn

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); 
    } 
} 

Но это не распространяется работу, когда он закончить файл добавляется, но не совершил. Зачем? Спасибо !!! :)

+1

SharpSvn гнездится в качестве внутренних исключений. Таким образом, ваше сообщение содержит только некоторые части сообщения об ошибке. –

ответ

4

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"); 
+0

Спасибо вам большое, это работает !!!! – Pedro

+0

@Педро: Добро пожаловать :) –

1

Аргумент работает как список изменений фильтра. Будут выполняться только файлы, помеченные для определенных списков изменений.

Для фиксации вы можете просто предоставить несколько целей.

 Смежные вопросы

  • Нет связанных вопросов^_^