2 Stimmen

Wie man mit sharpsvn eine Liste der Revisionen erhält

Wie erhalte ich eine Liste der Revisionen von sharpsvn

7voto

Luke Duddridge Punkte 4185

Wenn Sie sich die Metadaten für SvnLogEventArgs (die als Sammlung zurückgegeben wird von GetLog ) leitet sie sich ab von SvnLoggingEventArgs mit den Eigenschaften Autor, Revision, Zeit und LogMessage (neben anderen)

Jede SvnLogEventArgs Element hat eine Sammlung von ChangedPaths die Eigenschaften für SvnChangeAction und Path haben.

4voto

CJBrew Punkte 2583

Mit dieser Methode können Sie eine Liste aller Protokollinformationen abrufen:

var client = new SvnClient();

System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEventArgs;

client.GetLog("targetPath", out logEventArgs);

Wenn Sie alle logEventArgs durchgehen, erhalten Sie einige nützliche Informationen - LogMessage, Author, etc.


Ich weiß nicht, was Sie tun, aber ich prüfe die neueste Version der Arbeitskopie mit SvnWorkingCopyClient:

var workingCopyClient = new SvnWorkingCopyClient();

SvnWorkingCopyVersion version;

workingCopyClient.GetVersion(workingFolder, out version);

Die neueste Version des lokalen Arbeitsspeichers ist dann verfügbar über

long localRev = version.End;

Für ein entferntes Repository, verwenden Sie

 var client = new SvnClient();

 SvnInfoEventArgs info;

 client.GetInfo(targetUri, out info);

 long remoteRev = info.Revision;

stattdessen.

Dies ist vergleichbar mit der Verwendung der svnversion von der Befehlszeile aus. Ich hoffe, das hilft.

2voto

Bert Huijben Punkte 19285

Wenn ich raten soll, worum es bei Ihrer Frage wirklich geht, ist die Antwort wahrscheinlich SvnClient.Log(), um eine Liste der Änderungen eines Pfades zu erhalten.

Eine andere Antwort wäre:

for (int i = 1; i < 101; i++)
  yield return i;

um Ihnen die ersten 100 Revisionen eines Repositorys zu beschaffen ;-)

Siehe Verwendung von SharpSvn zum Abrufen von Protokolleinträgen innerhalb eines Datumsbereichs für einige Beispiele für die Verwendung von SvnClient.Log()

0voto

vzades Punkte 112

Dies ist die Codeform, mit der Sie alle Revisionsnummern in der Liste Revisionsnummern erhalten können. UriSCpath wird uri für svn Pfad sein.

 SvnTarget tr = SvnTarget.FromUri(UriSCPath);
                Collection<SvnLogEventArgs> logEventArgs;
                List<Int64> revisionNumbers = new List<Int64>();
                SvnLogArgs logArgs = new SvnLogArgs();
                DPISVN_Clnt.GetLog(UriSCPath, logArgs, out logEventArgs);

                Int64 latestReision = logEventArgs[0].Revision;

                foreach (var item in logEventArgs)
                {
                        revisionNumbers.Add(item.Revision);

                }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X