2017-01-09 22 views
0

J'ai l'intention d'utiliser des méthodes SharpSvn telles que 'ajouter' et 'verrouiller' pour un fichier ou un dossier sous le référentiel SVN. Si le fichier n'est pas mappé, je reçois une indication d'erreur - 'le noeud ... n'est pas trouvé'. avant SvnClient.Info() ou SvnClient.Status(), comment puis-je connaître l'état du fichier - est-il ou n'est-il pas ajouté au référentiel SVN?SharpSvn - Le fichier ou le dossier se trouve-t-il sous svn repository

Répondre

0

Vous pouvez utiliser la méthode 'GetStatus':

static bool IsInRepository(string filename) 
    { 
     bool isVersioned = false; 
     using (SvnClient client = new SvnClient()) 
     { 
      SvnStatusArgs sa = new SvnStatusArgs(); 
      sa.Depth = SvnDepth.Empty; 
      sa.RetrieveAllEntries = true; 

      Collection<SvnStatusEventArgs> statuses; 
      client.GetStatus(filename, sa, out statuses); 
      isVersioned = !statuses[0].LocalContentStatus.Equals(SvnStatus.NotVersioned); 
     } 
     return isVersioned; 
    }