Vraag Hoe de url van de huidige SVN-repo te krijgen?


Ik heb 2 svn-checkouts die iemand voor me heeft opgezet. Nu moet ik deze zelfde bestanden op een andere computer controleren, maar omdat ik ze in eerste instantie niet heb gecontroleerd, weet ik niet welke URL's moeten worden gebruikt bij het uitvoeren van de opdracht svn uitchecken:

svn co WHAT_GOES_HERE?

Omdat deze twee kassa's al op een van mijn servers staan, is er dan een manier om de URL van de repo te krijgen van waaruit ze aanvankelijk waren uitgecheckt?


75
2017-09-11 22:07


oorsprong




antwoorden:


U kunt de URL van de map waarin u zich bevindt, evenals de root van de repository en andere informatie vinden door de volgende opdracht uit te voeren in een van de uitgecheckte mappen:

svn info

Als u een commando wilt dat alleen de URL van de repository retourneert, misschien voor gebruik in een script, dan kunt u de volgende parameter doorgeven:

svn info --show-item repos-root-url 

Het is vermeldenswaard dat --show-item  is beschikbaar in Subversion 1.9+. In oudere versies kunt u het volgende fragment gebruiken om een ​​vergelijkbaar resultaat te bereiken:

svn info | grep 'Repository Root' | awk '{print $NF}'

125
2017-09-11 22:20



Hetzelfde voor Windows: svn info | findstr / C: "Repository Root:" - s3v1
Om het relatieve pad voor de repository te krijgen (handig als aanvulling op de root-URL): svn info --show-item relative-url - Elijah Lofgren


Voor SVN 1.7 moest ik gebruiken

svn info | grep '^URL' | awk '{print $NF}'

Ik hoop dat dit iemand anders helpt die hier komt met een nieuwere SVN


11
2017-09-28 19:09



Het geaccepteerde antwoord werkt nog steeds voor svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38. - dash17291
@ dash17291 het "werkt" omdat het iets afdrukt maar niet de juiste info. Het retourneert de repowortel die niet is wat de vrager wil. De root is niet de repo-URL (althans niet gewoonlijk). Met het bovenstaande antwoord krijg je repourl.com/root tegen de mijne waar je zult krijgen repourl.com/root/branch/branch_name of wat je hebt uitgecheckt. - JoshStrange
Dit komt ook overeen met "Relatieve URL" met svn 1.8.10. De grep moet worden gewijzigd in grep "^URL" - Burhan Ali


Niet nodig om te grepen, gebruik gewoon AWK voor het zoeken en het afbakenen van de string
svn info | awk '/^URL/{print $2}'


2
2017-11-04 20:24