2015-12-23 5 views
0

У меня есть API, который был разработан с использованием python 2.7. У меня есть некоторые разработчики, которые уже используют его. Я хотел бы перенести этот API на python 3.4. Я больше не буду поддерживать API-интерфейс python 2.7.Git - ветка или бирка?

Мой код хранится в ведро бит. Какова лучшая стратегия? Просто сделайте простую ветвь, например, «python3.4»?

Сделать тег на главной ветке (python 2.7) и запустить новую ветку (python 3.4)?

ответ

2

Да, ветвление правильное. Возможно, вам захочется исправить ошибку в ветке Python 2, поэтому она должна быть веткой, а не тегом. Теги для релизов.

Я бы назвал ветвь Python 2 python2 и назовите ветвь Python 3 master. Таким образом, более очевидно, какая ветка активна.

+0

Пользователям, которые используют python 2.7, как они могут клонировать правильную ветку? В этом случае ветвь «python2», как вы предлагаете. Нужно ли мне удаленное отслеживание ветки python2? благодаря! –

+1

@PedroMagalhaes: Просто «git checkout python2» после того, как вы клонируете. –

0

Возможно, что касается пользователей, вам фактически не нужно ничего делать, кроме как объявить, что поддержка API 2.7 закончилась самой последней версией (в которой уже есть тег). Не требуется немедленное действие git.

(Если вы хотите, чтобы дать пользователям что-то более новое, которое до сих пор поддерживает 2.7, то, что призывает к еще одной «последней 2,7 на основе выпуска» до выреза за кадром.)

Более недавний тег, обозначающий фактическое однако, фиксация до перерезания была бы полезна для ваших внутренних целей. Переход к новому API - это значительное изменение, которое, возможно, заслуживает маркировки тегом, поэтому вы можете легко ссылаться на эту историческую точку.

Не нужно делать какую-либо опору сейчас. Это может сигнализировать пользователям о том, что вы собираетесь поддерживать API, чего у вас нет. («О, ладно, я вижу ветку python2, вот где я могу ожидать исправления, несмотря на объявление о том, что их не будет!»). Легко позже создать ветку на основе подходящего тега, если вы измените свой разум.

Эта ветка может быть изготовлена ​​из точки до перерезания или дальше от последнего официального выпуска, поддерживающего API 2.7: теперь нет необходимости определять точную точку ветвления, если у вас нет намерения поддерживать API вообще.

Если вы позже создали ветку на основе тега, git не будет автоматически настраивать отслеживание (то есть вы не можете сделать git branch -t). Но в этой ситуации вам все равно не нужно, потому что вы не будете перегружать ветвь поддержки python2, но в нее будут входить только завитушки.

Смежные вопросы