2017-02-06 22 views
0

J'utilise la classe client Sharpsvn pour définir une propriété sur un fichier dans un répertoire svn. Je veux réinitialiser continuellement la propriété avec un nouvel horodatage et, ce faisant, une nouvelle révision avec un nouveau message de journal sera mise à jour dans l'historique du Repository. La chose que je ne veux pas faire est de faire une modification dans le fichier puis de le renvoyer dans le répertoire. En ce moment, je suis coincé avec essayer de comprendre comment se connecter au fichier sur le répertoire. Voici le code que j'ai actuellement:Comment définir une propriété dans un fichier du répertoire svn à l'aide de la classe sharpsvn clinet?

System.Uri uri = new System.Uri("url link"); 

using (SvnClient client = new SvnClient()) 
{ 
    try 
    { 
    // Get new timestamp 
    DateTime dt = DateTime.Now; 
    string time = String.Format("{0:G}", dt); 

    // Set property to file in the svn directory 
    client.RemoteSetProperty(uri, "svn:time", time); 
    } 
    catch (Svnexception ex) 
    { 
    MessageBox.show(ex.Message + "Check out error!"); 
    } 
} 

J'ai essayé d'utiliser la méthode de client.SetProperty aussi bien, mais cela ne fonctionne pas quand je l'ai essayé à la fois une copie de travail local et directement à l'URL. L'aide serait géniale!

Répondre

0

Modifié certaines parties de votre code pour le faire fonctionner comme requis. S'il vous plaît jeter un oeil:

   System.Uri uri = new System.Uri("url link"); 

       using (SvnClient client = new SvnClient()) 
       { 
        try 
        { 
         // Get new timestamp 
         DateTime date = DateTime.Now; 
         string time = String.Format("{0:G}", date); 

         // To Get the Latest Revision on the Required SVN Folder 
         SvnInfoEventArgs info; 
         client.GetInfo(uri, out info); 

         // Prepare a PropertyArgs object with latest revision and a commit message; 
         SvnSetPropertyArgs args = new SvnSetPropertyArgs() { BaseRevision = info.Revision, LogMessage = "Sample msg for SVN commit" }; 

         // Set property to file in the svn directory 
         client.RemoteSetProperty(uri, "svn:time", time, args); 
        } 
        catch (Exception ex) 
        { 
         MessageBox.Show(ex.Message + "Check out error!"); 
        } 
       } 

Espérons que cela aide;