Être connecter les détails d'un numéro de révision spécifique dans un post-commit hook avec SharpSVN?
Question
Je suis en train d'écrire un post-commit hook en utilisant SharpSVN mais ne peut pas comprendre comment obtenir les informations en utilisant changeset SharpSVN donné le numéro de révision et le chemin d'accès au repo. Toutes les idées sont très appréciés.
La solution
Dans les clients crochet vous souhaiterez probablement utiliser le SvnLookClient qui accède directement au référentiel. Dans cet exemple (copié à partir d'une autre question ici) J'utilise aussi la classe SvnHookArguments pour analyser les arguments de crochet.
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)
{
//
}
}
}
Autres conseils
Vous voulez que la méthode getLog .
SvnRevision rev(123);
client.GetLog(uri, new SvnLogArgs(rev), out logitems); // uri is your url to the repo.
Cela pourrait ne pas être exact (pas IntelliSense! Comment puis-je m'y attendais au code C # sans que :(), mais son à peu près ce que vous voulez.