Невозможно пометить тег на GitHub, потому что тег уже существует - PullRequest
0 голосов
/ 30 октября 2019

Итак, у меня есть GitHub-репозиторий, но мне нужно использовать SVN. К счастью, у GitHub есть SVN Bridge. Я использую TortoiseSVN с этим, поскольку это приятно и просто, и мне нравятся цветные значки в Проводнике.

Проблема в том, что GitHub сообщает, что тег уже существует, если строка тега является частью существующей строки тега.

Например. Если я отмечу 1.0.0.alpha в пустом хранилище, это работает нормально. Но если я затем перейду к тегу 1.0.0, GitHub сообщит, что 1.0.0 существует (чего, очевидно, нет, поскольку хранилище содержит только тег 1.0.0.alpha).

Если имена теговвсе полностью уникальны (например, 1.0.1.альфа, 1.0.1.релиз), это работает. Есть ли ошибка в SVN Bridge GitHub?

Импорт репозитория работает нормально. Только при тегировании GitHub жалуется, что тег уже существует, когда его нет.

Большое спасибо.

1 Ответ

0 голосов
/ 04 ноября 2019

Как указал @fredrik, это, похоже, ошибка в коде SVN Bridge на GitHub.

Если я отмечу 1.0.0.alpha в новом репозитории с использованием SVN Bridge, он успешно завершится.

Если я отмечу 1.0.0, GitHub сообщит, что этот тег уже существует. Это, очевидно, не соответствует действительности, поскольку это новый репозиторий с одним существующим тегом, отличным от 1.0.0.

Как утверждает @fredrik, проблема заключается в том, что GitHub, вероятно, проверяет, является ли новая строка тега частьюсуществующей строки тега. Таким образом, строка 1.0.0 является частью строки 1.0.0.alpha, поэтому в ней неправильно указано, что тег уже существует. Вы могли бы подумать, что GitHub SVN Bridge будет соответствовать строке, но они, кажется, используют строковое содержимое (или любой другой эквивалент в их языке кода). Это вызывает недоумение.

Я отправил заявку в GitHub, но они не ответили вообще.

Обходной путь (по крайней мере, на данный момент) - убедиться, что имена тегов уникальны. Так что помечайте альфа-релизы как «1.0.0.alpha», а финальные релизы как «1.0.0.release». Поскольку строка «1.0.0.release» не является частью «1.0.0.alpha», это будет работать. Вы просто не сможете пометить как «1.0.0», потому что строка тега является частью «1.0.0.alpha».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...