Здравствуйте, ·, Вы писали:
N>>·>База для 17й версии — это 8я версия.
N>>Скажи это Полу Викси
·>Не знаком я с этим товарищем.
Ну тогда просто знай, что переход BIND 8 -> 9 был сделан через написание кода с нуля. Вся старая история не была продолжена.
За это его, да, ругали, но сейчас версий раньше 9-х нет.
N>>Но даже если без такого радикализма, 8-я версия, очень вероятно, будет сделана на релизной ветке, а не на транке (вообще не представляю себе, кто будет её делать на транке). И там может быть всё заметно иначе.
·>Шо? Не понял. Когда писали 8ю версию, она была транком.
Когда вводили принципиально новое — да. Когда релизили и патчили — уже нет.
N>>·> Надо просто поддерживать историю в порядке, чтобы она не разъезжалась, тогда всё просто мержится с минимумом конфликтов.
N>>Расшифруй "разъежалась".
·>diverged branch. Если в 17 всегда мержить 8, то 17 не будет diverged от 8 и мержи упрощаются.
Нет, не упрощаются. Часть правок от 8 не нужна, часть слишком сложно мержить из-за изменения стиля, расположения по файлам и всё такое, часть реализуется совсем иначе.
N>>>>Зачем их вообще _так_ сравнивать?
N>>·>Для удобства. Если граф истории отражает реальный процесс разработки — это хороший граф.
N>>Он и отображает. Безо всякого форсирования на возможность мержа заметно разных веток.
·>Нет. Замерженный коммит появляется в обоих ветках. Зачерипиканный — это два независимых коммита с т.з. графа истории.
Правильно, поэтому это надо решать принципиально иначе. Вон Gerrit ведёт отдельный change-id, который отличается от commit id, и который, в отличие от commit id, сохраняется при черипиках, при ребейзинге, при format-apply, и служит более надёжным идентификатором.
Можно было вместо этого просто генерировать uuid на коммит, но их метод чуть надёжнее.
Ещё работает связь по id тикета, который тоже должен быть в сообщении коммита.
А сложные случаи всё равно требуют анализа задачи.
N>>>>Ну а так эта история присутствует в тикете. Чем это хуже чем держать её в репе?
N>>·>Гы. Зачем вообще что-то держать в репе?! Забэкапил исходники rar-кой и готово.
N>>Не утрируй.
·>Я намекаю. Если ты не используешь эту фичу, это не значит, что она какая-то неправильная и вообще ненужная. Ты попробуй начать использовать и некоторые вещи могут упроститься.
Я знаю этот подход и пробовал его. С ним значительно гиморнее.
N>>>>Всё равно будут смотреть в тикете в первую очередь.
N>>·>А по уму тикет должен апдейтиться по содержимому истории, ибо она первична, т.к. клиентам ты отправляешь код из скв, а не тикеты.
N>>Нет, первичны как раз цели и задачи.
·>Не утрируй. Я говорю с т.з. разработки. А то заяви уж сразу — первична прибыль, и перейдём сразу к обсуждению бизнес-планов...
N>>Из них делаются спецификации, из них тикеты с задачами и только из них — код. Он тут вообще "четвертичен", если не дальше.
N>>Клиентам отправляется продукт, а не "код из СКВ".
·>Продукт-то из чего собирается? Из тикетов?
И на что тут влияет, из чего собирается продукт?
Я ничего не утрирую, всё на опыте. Вариант с мержем из предыдущих веток приводит к резкому усложнению сопровождения кода. В истории тупо мусор.