Ich versuche, die Revisionsnummer eines Projekts zu erhalten und es in eine Variable zu speichern. Ich weiß, dass ich die Revisionsnummer durch den Befehl svnversion bekommen kann, aber ich bin mir nicht sicher, wie ich es speichern kann. Ich verwende die normale Windows-Eingabeaufforderung. Im Grunde versuche ich so etwas wie: set svnVersion =% svnversion%, aber ich bin mir nicht sicher, wie ??Kann ich eine Umgebungsvariable mit der SVN-Revisionsnummer eines Projekts festlegen?
Antwort
Der Unterbefehl "svn info" teilt Ihnen die Revisionsnummer in Ihrer Arbeitskopie mit.
Sehen Sie, wenn diese Hilfe: Change Revision Number
Um die Ausgabe der Variablen mit dem Ausgang des svnversion in einer Batch-Datei gesetzt, Sie haben, dies zu tun:
for /f "delims=" %%a in ('svnversion') do @set myvar=%%a
echo %myvar%
anderen Ansatz: Wenn Sie haben TortoiseSVN können Sie auch verwenden SubWCRev.exe. Siehe get the project revision number into my project? oder Automatic SVN Revision Numbering in ASP.Net MVC
In bash (via Cygwin):
svn info | grep -i "Revision" | cut -d ' ' -f 2
Sie dann, dass in einem Bash-Shell-Skript verwenden, um den Wert in einer Variablen zu speichern.
Ich bin mir nicht sicher, ob die meisten Leute Bash als ihre "normale Windows-Eingabeaufforderung" ausführen ;-) –
Du hast Recht, also habe ich hinzugefügt -> Cigwin :) – BryanH
Etwas wie:
svn version > ver.txt
set /p ver= < ver.txt
del ver.txt
echo %ver%
Wenn Sie diese von einer Remote-Repository (wie in nicht localy ausgecheckt) können Sie dies
for /f "delims=: tokens=1,2" %%a in ('svn info %SVN_REPO_URL%') do (
if "%%a"=="Revision" (
set /a RELEASE_REVISION=%%b
)
)
ich diese verwenden in meinem Release-Prozess zu greifen die Revisionsnummer von einem Tag.
Das ist großartig, danke! –
Hier ist eine Alternative, die ein Rohr verwendet eine einzelne Zeile findstr zu bekommen:
FOR /F "tokens=2" %%G IN ('svn info ^| findstr /B Revision:') DO SET SVN_REVISION=%%G
echo SVN_REVISION: %SVN_REVISION%
FOR /F "tokens=2" %%G IN ('svn info ^| findstr /B URL:') DO SET SVN_URL=%%G
echo SVN_URL: %SVN_URL%
- 1. Festlegen der Umgebungsvariablen von Visual Studio zum Debuggen eines Projekts
- 2. Wie kann ich eine Umgebungsvariable als Schluckaufgabe festlegen?
- 3. Wie kann ich beim Ausführen eines Skripts eine Umgebungsvariable aliasieren?
- 4. Umgebungsvariable für ClickOnce-Anwendung festlegen?
- 5. GIT_SSH-Umgebungsvariable in Gitconfig festlegen
- 6. Kann ich eine Umgebungsvariable für eine Anwendung mithilfe einer Verknüpfung in Windows festlegen?
- 7. Wie kann ich mein Java SDK beim Erstellen eines Android-Projekts in IntelliJ festlegen?
- 8. Wie setze ich eine Umgebungsvariable in Perl?
- 9. Warum müssen Sie die Umgebungsvariable WORKON_HOME festlegen?
- 10. Wie kann ich eine Umgebungsvariable in allen laufenden Shells ändern?
- 11. Wie setze ich eine Umgebungsvariable mit Chef?
- 12. Wie kann ich eine Datei bei der Erstellung eines Projekts von einem Archetyp einschließen oder ausschließen?
- 13. Kann ich mehrere Konfigurationen eines Projekts innerhalb einer Lösungskonfiguration erstellen?
- 14. Kann ich den Wert eines Attributnamens mit Xpath festlegen?
- 15. Wie kann ich Scrapy innerhalb eines Python-Projekts kriechen lassen?
- 16. Wie kann ich ein zweites Fork eines GitHub-Projekts erstellen?
- 17. Kann keine Umgebungsvariable in der Registrierung erstellen
- 18. Wie kann ich den Standort eines Projekts in Eclipse ändern?
- 19. Bereitstellen eines Maven-Projekts
- 20. Neustart eines Wordpress-Projekts
- 21. Wie kann ich den Projekttyp eines VS C# -Projekts kennen?
- 22. Wie kann ich zum Online-Zweig eines GitHub-Projekts zurückkehren?
- 23. Wie lösche ich eine Firebase-App innerhalb eines Projekts
- 24. Git ziehen Sie eine Änderung eines Gerrit-Projekts mit gitpython
- 25. Programmgesteuertes Erstellen eines Projekts
- 26. Erstellen Sie eine DLL eines C++ Projekts mit CMakeList
- 27. Kompilieren eines Projekts mit unterschiedlicher Java-Quellkompatibilität
- 28. baute Aromen eines Projekts
- 29. Bereitstellen eines Website-Projekts mit TeamCity
- 30. Problem mit der Verwendung von IntermediateSerializer außerhalb eines XNA-Projekts
Haben Sie es in einer Batch-Datei wirklich tun muss? Wenn es für ein Projekt-Build-System ist, dann könnte es leichtere Möglichkeiten geben, es zu tun, zum Beispiel in Kombination mit ant in der Java-Welt. – amarillion
Ich empfehle dringend zu jedem Betriebssystem der Unix/Linux-Familie wechseln, wenn Sie etwas mit der Befehlszeile für alles tun wollen. – Eonil