Comment puis-je voir les modifications apportées après qu'une révision a été validée et l'analyse des commentaires?

StackOverflow https://stackoverflow.com/questions/293582

  •  08-07-2019
  •  | 
  •  

Question

J'espérais automatiser certaines tâches liées à SubVersion, alors j'ai eu SharpSvn. Malheureusement, je ne trouve pas beaucoup de documentation pour cela.

Je souhaite pouvoir afficher les modifications après qu'un utilisateur a validé une nouvelle révision afin de pouvoir analyser le code pour les commentaires spéciaux qui peuvent ensuite être chargés dans mon système de ticket.

Était-ce utile?

La solution

Si vous souhaitez simplement parcourir SharpSvn, vous pouvez utiliser http://docs.sharpsvn.net/ . La documentation est loin d’être complète car l’accent est mis principalement sur la fourniture de fonctionnalités. Toute aide pour améliorer la documentation (ou SharpSvn elle-même) est la bienvenue; -)

Pour utiliser les messages de journal pour votre suivi des problèmes, vous pouvez utiliser deux itinéraires:

  1. Un hook post-commit qui traite les modifications une par une
  2. Un service planifié qui appelle 'svn log -r < le dernier récupéré >: HEAD' de temps en temps.

Les dernières versions quotidiennes de SharpSvn prennent en charge les hooks de validation, mais cette partie n'est pas encore vraiment stable.

Vous pouvez créer un hook post-commit (post-commit.exe) avec:

static void Main(string[] args)
{
  SvnHookArguments ha;
  if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha))
  {
    Console.Error.WriteLine("Invalid arguments");
    Environment.Exit(1);
  }

  using (SvnLookClient cl = new SvnLookClient())
  {
    SvnChangeInfoEventArgs ci;
    cl.GetChangeInfo(ha.LookOrigin, out ci);

    // ci contains information on the commit e.g.
    Console.WriteLine(ci.LogMessage); // Has log message

    foreach(SvnChangeItem i in ci.ChangedPaths)
    {
       //
    }
  }
}

(Pour une solution complète, vous devez également connecter le post-revprop-change, car vos utilisateurs risquent de changer le message du journal après la première validation.)

Autres conseils

Je me demande si les points d'ancrage de subversion (sur le serveur svn) pourraient ne pas être une autre approche ici? Je ne l'ai pas essayé, mais CaptainHook semble offrir svn - > intégration de .NET hook.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top