Ricevi registrare i dettagli per un numero di revisione specifica in un gancio post-commit con SharpSVN?
Domanda
Sto cercando di scrivere un post-commit hook usando SharpSVN ma non riesco a capire come ottenere le informazioni di modifiche utilizzando SharpSVN dato il numero di revisione e il percorso per il repo. Tutte le idee sono molto apprezzate.
Soluzione
In clienti gancio molto probabilmente desidera utilizzare lo SvnLookClient che accede direttamente al repository. In questo esempio (copiato da un'altra domanda qui) Uso anche la classe SvnHookArguments per analizzare gli argomenti gancio.
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)
{
//
}
}
}
Altri suggerimenti
Si desidera che il GetLog metodo.
SvnRevision rev(123);
client.GetLog(uri, new SvnLogArgs(rev), out logitems); // uri is your url to the repo.
Che potrebbe non essere esatto (senza intellisense! Come posso aspettavo di codice C # senza che :(), ma la sua più o meno ciò che si desidera.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow