2012-07-31 4 views
0

Я новичок в SharpSVN. Я нашел много примеров из Интернета, связанных с SharpSVN. Кроме того, я сделал некоторые случаи успеха, как CheckoutSharpSVN Can not Commit (... не рабочая копия)

Но проблема в том, я не могу назвать фиксации и добавить функции:

операция, что я хочу сделать, это выбор файла с моего компьютера, то добавьте в указанную папку SVN , также, если файл существует, его следует скопировать как новую версию.

Вот мой код:

private void button1_Click(object sender, EventArgs e) 
{ 
    // FileUpload1.SaveAs("C:\\Users\\user\\Desktop\\crazycodeee\\" + FileUpload1.FileName); 
    SvnClient client = new SvnClient(); 
    client.Authentication.Clear(); 
    client.Authentication.DefaultCredentials = new NetworkCredential("crazyufuk", "123456"); 
    SvnCheckOutArgs coArgs = new SvnCheckOutArgs(); 
    coArgs.Depth = SvnDepth.Infinity; 
    // client.CheckOut(new Uri("http://localhost:8080/svn/crazycode/branches/"), "C:\\Users\\TTVERCIN\\Desktop\\crazycodeee"); 
    Add("C:\\Users\\user\\Desktop\\test_folderl\\"); 
    Commit("C:\\Users\\user\\Desktop\\crazycodeee", "AS"); 
} 

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

public bool Commit(string path, string message) //second 
{ 
    using (SvnClient client = new SvnClient()) 
    { 
     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; 
     } 
    } 
} 

ответ

1

Для того, чтобы добавить или фиксации файлов в хранилище SVN, вы должны проверить соответствующие хранилища локально.

// client.CheckOut(new Uri("http://localhost:8080/svn/crazycode/branches/"), "C:\\Users\\TTVERCIN\\Desktop\\crazycodeee"); 

Закомментированные из кода проверяет код в хранилище для этого корня "C:\\Users\\TTVERCIN\\Desktop\\crazycodeee", но файлы добавляемых должны быть детьми этого.

В вашей линии

Add("C:\\Users\\TTVERCIN\\Desktop\\CSI_headerFooterMenu_prepaid_kurumsal\\"); 

Если CSI_headerFootermenu_prepaid_kurumsal где в папке crazycodeee (и вы закомментированная касса), то я подозреваю, что это будет работать.

+2

Рекомендуемый формат для subversion api не добавляет окончательные '\' к путям, если это не требуется. Но SharpSvn удалит его для вас, если вы добавите его в любом случае. (Но пути, которые вы получите через уведомления, списки и т. Д., Не будут иметь этого) –