Ricevi registrare i dettagli per un numero di revisione specifica in un gancio post-commit con SharpSVN?

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

  •  12-09-2019
  •  | 
  •  

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.

È stato utile?

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
scroll top