LINUX.ORG.RU

Отсортировать git show-ref --tags


0

1

Помогите отсортировать вывод git show-ref --tags по возрастанию версии:

7748231dc1c266699bc561a3f4968bb8e2589b49 refs/tags/0.4
c0b835339f1cef60a16832ab006528dd7914e466 refs/tags/0.5
fba8794e6e2aff840347980158d26cae7520e5dd refs/tags/0.6
de96eb6d9c4941fd11a5d17c21591a70a6a4d3cd refs/tags/0.7
a9deb95a7345957585caa270ce6f35fbf327d78f refs/tags/0.7.1
650f27c0b091382990cc681b25629d17de9a7216 refs/tags/0.7.2
8e2216695c1fb45432ca480002e12080aeb6ffea refs/tags/0.9.0
2ba71b919124b50bc56db611bdacea0b59f9391c refs/tags/0.9.5
1c01b63a02ae67043d5f18b8a80169dd6b6bbb05 refs/tags/0.9.5.1
fc359007671e884b37c606311172990b0ec11085 refs/tags/1.0.0rc1
c3db5e873424b774984cbb348da1868b7298a40f refs/tags/1.0.0rc10
b83a214a8e05f29b20d236bfbda8f9f0eab056c1 refs/tags/1.0.0rc2
749997ec6f96e7bc5f91257fa30139932a4fce1d refs/tags/1.0.0rc3
6d68493ce465fda9b4c285eaf9b2b1a331e2ddba refs/tags/1.0.0rc4
cb54b658c90ff1be9d1214c825885447a12387a0 refs/tags/1.0.0rc5
b4c6a49c30be8ac64a50cdf889c9c3c5d1eeb88b refs/tags/1.0.0rc6
fb78cb5f45d901c3c1d0327b4713a31ad97a8317 refs/tags/1.0.0rc7
8ecb5492b6ac4ab966d8d9376a3f88c46b9336d4 refs/tags/1.0.0rc8
03bd1643980e10dbcc45264cb72e703df6d0c47e refs/tags/1.0.0rc9

т.е. что б после 1.0.0rc9 шел 1.0.0rc10

Пробую так: Сначала получить столбец, что б его корректно обрабатывал 'sort -n':

git show-ref --tags | awk '{printf "%s %s %s\n", $2, $1, $2}' | sed -e 's/^refs\/tags\///'

0.4 7748231dc1c266699bc561a3f4968bb8e2589b49 refs/tags/0.4
0.5 c0b835339f1cef60a16832ab006528dd7914e466 refs/tags/0.5
0.6 fba8794e6e2aff840347980158d26cae7520e5dd refs/tags/0.6
0.7 de96eb6d9c4941fd11a5d17c21591a70a6a4d3cd refs/tags/0.7
0.7.1 a9deb95a7345957585caa270ce6f35fbf327d78f refs/tags/0.7.1
0.7.2 650f27c0b091382990cc681b25629d17de9a7216 refs/tags/0.7.2
0.9.0 8e2216695c1fb45432ca480002e12080aeb6ffea refs/tags/0.9.0
0.9.5 2ba71b919124b50bc56db611bdacea0b59f9391c refs/tags/0.9.5
0.9.5.1 1c01b63a02ae67043d5f18b8a80169dd6b6bbb05 refs/tags/0.9.5.1
1.0.0rc1 fc359007671e884b37c606311172990b0ec11085 refs/tags/1.0.0rc1
1.0.0rc10 c3db5e873424b774984cbb348da1868b7298a40f refs/tags/1.0.0rc10
1.0.0rc2 b83a214a8e05f29b20d236bfbda8f9f0eab056c1 refs/tags/1.0.0rc2
1.0.0rc3 749997ec6f96e7bc5f91257fa30139932a4fce1d refs/tags/1.0.0rc3
1.0.0rc4 6d68493ce465fda9b4c285eaf9b2b1a331e2ddba refs/tags/1.0.0rc4
1.0.0rc5 cb54b658c90ff1be9d1214c825885447a12387a0 refs/tags/1.0.0rc5
1.0.0rc6 b4c6a49c30be8ac64a50cdf889c9c3c5d1eeb88b refs/tags/1.0.0rc6
1.0.0rc7 fb78cb5f45d901c3c1d0327b4713a31ad97a8317 refs/tags/1.0.0rc7
1.0.0rc8 8ecb5492b6ac4ab966d8d9376a3f88c46b9336d4 refs/tags/1.0.0rc8
1.0.0rc9 03bd1643980e10dbcc45264cb72e703df6d0c47e refs/tags/1.0.0rc9

Вот толтко не соображу, дальше как sed`ом заменить «rc» в первом столбце, к примеру на ".9.".

Или я уже куда-то не в те дебри велосипежу?


aleax> Или я уже куда-то не в те дебри велосипежу?
Действительно велосипедист:

git for-each-ref --sort='*authordate' --format='%(refname:short) %(objectname)' refs/tags

0.4 7748231dc1c266699bc561a3f4968bb8e2589b49
0.5 c0b835339f1cef60a16832ab006528dd7914e466
0.6 fba8794e6e2aff840347980158d26cae7520e5dd
0.7 de96eb6d9c4941fd11a5d17c21591a70a6a4d3cd
0.7.1 a9deb95a7345957585caa270ce6f35fbf327d78f
0.7.2 650f27c0b091382990cc681b25629d17de9a7216
0.9.0 8e2216695c1fb45432ca480002e12080aeb6ffea
0.9.5 2ba71b919124b50bc56db611bdacea0b59f9391c
0.9.5.1 1c01b63a02ae67043d5f18b8a80169dd6b6bbb05
1.0.0rc1 fc359007671e884b37c606311172990b0ec11085
1.0.0rc2 b83a214a8e05f29b20d236bfbda8f9f0eab056c1
1.0.0rc3 749997ec6f96e7bc5f91257fa30139932a4fce1d
1.0.0rc4 6d68493ce465fda9b4c285eaf9b2b1a331e2ddba
1.0.0rc5 cb54b658c90ff1be9d1214c825885447a12387a0
1.0.0rc6 b4c6a49c30be8ac64a50cdf889c9c3c5d1eeb88b
1.0.0rc7 fb78cb5f45d901c3c1d0327b4713a31ad97a8317
1.0.0rc8 8ecb5492b6ac4ab966d8d9376a3f88c46b9336d4
1.0.0rc9 03bd1643980e10dbcc45264cb72e703df6d0c47e
1.0.0rc10 c3db5e873424b774984cbb348da1868b7298a40f

aleax
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.