10
votes

Trouver la dernière balise SVN

Je configure un travail d'intégration continue qui corrige une bibliothèque externe et libère la version patchée localement.

Cependant, la bibliothèque externe utilise un coffre pour le développement et j'aimerais que mon travail CI sélectionne automatiquement la dernière étiquette de version de la caisse.

SVN a-t-il cette fonctionnalité?

(Les scripts Bash Shell sont ok)


1 commentaires

Je viens de trouver cette question similaire: serverfault.com/questions/68139 / Get-Tag-Tag-de-Subversi sur


5 Réponses :


-2
votes

svn n'a aucune définition de tag . Je suppose que vous voulez dire révision . La révision symbolique la tête pointe vers la dernière révision d'un arbre.

E.g. svn export -rhead ...


2 commentaires

Je sais qu'il n'y a pas de définition réelle d'une étiquette, mais je veux dire la pseudo-tag shincies dans balises à côté de coffre


C'est une utilisation très courante. Nous supposons donc que son repo est structuré dans les balises Trunk Branches Comme la plupart d'entre nous.



10
votes

Cela fonctionnera si rien de mieux ne peut être trouvé:

svn log -v <tagsurl> | awk '/^   A/ { print $2 }' | grep -v RC |  head -1


2 commentaires

Cela a fonctionné mieux pour moi depuis que j'avais besoin de l'URL de tag, pas d'informations.


Utilisez --Limit 1 avec journal pour enregistrer à l'heure pour obtenir la dernière étiquette. SVN LOG -V --LIMIT 1 | awk '/ ^ a / {impression $ 2}'



13
votes

hm ... Qu'en est-il des éléments suivants: xxx

imprimera la dernière étiquette.


0 commentaires

0
votes

Pour Windows, vous pouvez utiliser PowerShell:

$path = (([Xml] (svn log --xml $Url --verbose --username $Username --password $Password)).Log.LogEntry.Paths.Path |
? { $_.action -eq 'A' -and $_.kind -eq 'dir' -and $_.InnerText -like '*tags*'} |
Select -Property @(
    @{N='date'; E={$_.ParentNode.ParentNode.Date}},
    @{N='path'; E={$_.InnerText}} )|
Sort Date -Descending |
Select -First 1).path


0 commentaires

2
votes

Voici une solution plus générique. Parfois, nous n'avons pas besoin de la dernière balise, mais de la dernière balise qui respecte un motif: xxx pré>

ici, nous aurons la dernière balise du projet dont le nom commence par myspecialproject_v . Et si nous avions ces tags: p> xxx pré>

Le résultat de: p> xxx pré>

... serait: P >

MySpecialProject_V2.2.0.0


0 commentaires