Нумерация сборок: наш небольшой спор с Игорем Лейко
Чтобы не флеймить в теме про Windows Neptune, позволю себе перенести текст сюда.
Игорь Лейко писал:Raiker :
Ну есть еще другое объяснение. Вспомни хоть недавние события: 5700 начали разрабатываться задолго до выхода 5600.
До того как 5600 раздали тестерам? Да. До того, как в первый раз собрали 5600 - нет. От первой компиляции сборки до раздачи тестерам может пройти месяц, а иногда и еще больше.
Копни еще раньше (времена смены ядра), какие невероятные были прыжки с 37хх на 40хх и с 40хх на 50хх.
Прыжки (пропуски) могут быть и бывают - при переходе к очередным веховым (milestone) сборкам.
Нельзя исключать, что Neptune был специально "подвинут" в линейке разработок сборок, может планировалось выпустить его намного позже после Windows XP и др.
Номера специально подвинуты - я об этом и говорю, насчет позже ХР - невозможно.
Райкер писал:Игорь Лейко, ну, приехали.
5600 был скомпилирован задолго после сборки 5700.
5600.16384.vista_rc1.060829-2230
5700.winmain.060810-1900
Игорь Лейко писал:Raiker :
Игорь Лейко, ну, приехали.
5600 был скомпилирован задолго после сборки 5700.
_Который_ 5600? Когда была первая компиляция 5600? ;)
Райкер писал:Игорь Лейко, ой, ну ладно вам. Не верите мне - послушайте умных людей.
page.php?id=6435
page.php?id=6324
Не верите умным людям: вспомните многочисленные случае (наприме сборка 5203 за месяц до компиляции 5112 и т.д.).
Игорь Лейко писал:Raiker,
Можно подумать, что те люди, от которых я получаю информацию, глупые.
За ссылку на ролик спасибо, но практически все, что в нем говорится, для меня давно не новость.
Повторю свой вопрос - Вы знаете, когда в первый раз была собрана 5600? Могу с уверенностью сказать, что не знаете. Впрочем, я тоже не знаю, а писать письмо с вопросом не вижу смысла. Однако с достаточно высокой степенью вероятности могу предположить, что это произошло в начале августа. Затем ее начали "вылизывать", чтобы дать достаточно стабильную и рабочую версию (это вылизывание сейчас длится не одну неделю) тестерам, а потом и в массы, но разработку, естественно не остановили. Отсюда и ветвление, о котором Вы говорите, и параллельная работа над двумя ветками.
Возможно, в процессе этого ветвления "тупиковая ветка" и сменит еще несколько номеров сборок - но это непринципиально.
Игорь Лейко, Все ведь каждый останется при своем, верно? Так смысл спорить. Winmain сборки компилятся каждый день. И мы знаем, что сборка 5552.16384.vista_rc1.060822-1900 была скомпилирована 22 августа 2006 года. А это уж никак не "начало августа". К тому же нам еще ивзестна такая сборка: 5584.16384 (vista_rc1). А она уж точно была скомпилирована после 22 августа. 5600 - 29 августа 2006 года. Ничего из графика не выбилось. Теперь я расскажу вам страшный, ужасающие секрет. 5600 это 6.0.5600.16384. Вы можете надо мной посмеяться, но я - старомодный человек, уверенный, что 16384 = 0 в старой системе, а 16385 = 1. То есть 5600.16384 = 5600.0, а, скажем, 5536.16385 = 5536.1. Я бы на вашем месте все же не был настолько самоуверен. Из ваших слов можно сделать вывод: о разработках мы знаем только то, что ничего не знаем. А это глупо. К тому же ваши слова вовсе не объясняют, зачем были нужны все сборки winmain поколения RC1 после где-то 5505 (это первая известная мне винмейновская сборка, скомпилированная в августе (третьего августа). Если 5505 комплировалась вместе с "первой", как вы говорите, 5600, это делает все абсолютно не понятым и запутаныным. Более того - невозможным.
Ай-ай-ай. Какую я оплошность допустил Вы меня конечно сейчас закидаете как минимум четырьмя 5505, собранными в разные дни. Но, извольте! О них нам очень многое что известно. А вот об двадцати 5600 как-то нет.
Raiker,
Ладно, уговорили, если в марте в Редмонд попаду, постараюсь расспросить про эту историю подробнее.
С другой стороны, Олчин в чате, состоявшемся 10 августа, упомянул, что у него стоит 5505.6, а он самые-самые свежие не ставит - насколько я могу судить - примерно с двух-трехнедельной задержкой.
Если вернуться к исходной теме - нептуну, то виста ему не пример. Если это интересно - могу развить тему подробнее.
Буду краток. Игорь Лейко, нам интересно! Извольте развить тему подробнее.
euuugeny,
Постараюсь в выходные все расписать.
Raiker,
Решил последовать доброму совету и послушать умных людей.
Вот что ответил Свен на мой вопрос:
The main reason why we're branching for 3 to 4 weeks per milestone is that it takes us about 3 weeks to run a full set of regressions test against the Windows code base - the 4th week is basically buffer. Test teams are running all their tests firsts, so during the branch to ship the milestone we rebuild every day for the first one or two weeks in order to address bugs that the test teams are finding against their test cases.
Most of our testing is automated these days (this is very different from previous releases of Windows), so testers can run automated tests on the forked branch while at the same time performing code reviews and testing on individual fixes as developers move forward on the main line towards the following milestone.
Приношу извинения за отсутствие перевода, но некогда. Пожалуйста, переведите для тех, кто с английским не в ладах.
Ну приехали! Вот так вот доверяться переводчикам. Позвольте привести англоязычный вариант так, как я (а не SHV) его понимаю.
Главная причина почему мы тратит 3 - 4 недели на поколение это то, что примерно 3 недели занимает полное тестирование всего кода Windows - 4-ая неделя запасная. Команды тестирования первыми запускают все свои тесты, так что во время разработки поколения мы перекомпилируем код каждый день на протяжении первых двух недель для устранения ошибок, найденных командами тестирования.
С этим я полностью согласен. 3 - 4 недели занимает MILESTONE, а не сборка. А, как известно, мильстоунов у нас в последнее время было несколько: Beta 2 - RC1 - RC2. Все они выходили примерно с разностью в месяц.
WINMAIN же компилирует этот код каждый день и получает новые сборки ежедневно внося в код изменения в соответсвии с проведенными тестами. Из чего никак не вытекает, что 5600 компилировалась на протяжении целого месяца.
Простите, тест.
Raiker :
С этим я полностью согласен. 3 - 4 недели занимает MILESTONE, а не сборка.
Именно последняя сборка. О чем достаточно ясно говорит употребленное слово rebuilding.
Да и со сроками Вы что-то путаете - вторая бета - конец мая, RC1 - первое сентября. Явно не "примерно месяц" между ними.
RC2 - не в счет, на нем такого существенного ветвления не было. А вообще ситуация, когда одна сборка не один раз перекомпилируется, в то время как новые продолжают каждый день делаться - не редкость.
Игорь Лейко, вы что же, со своими собственными данными спорить будете?
The main reason why we're branching for 3 to 4 weeks per milestone is that...
Если вы видите только то, что хотите - пожалуйста.
Только не пожалейте времени и, если не очень спешите, ответьте на три вопроса:
1. Зачем нужны все остальные сборки winmain после, где-то, 5505?
2. Если на каждую сборку уходит примерно месяц, тогда, извините меня, получается, что каждая сборка перекокмпилируется где-то месяц? То есть получается что 100 сборок разделяющих 5500 и 5600 потребовали бы сто месяцев?
3. Если даже и так, каким образом происходит синхронизация winmain сборок с той, как вы выражаетесь, "ребилдинг" сборкой?
Raiker :
1. Зачем нужны все остальные сборки winmain после, где-то, 5505?
В каком смысле зачем? чтобы работа на этой сборке не остановилась.
2. Если на каждую сборку уходит примерно месяц, тогда, извините меня, получается, что каждая сборка перекокмпилируется где-то месяц? То есть получается что 100 сборок разделяющих 5500 и 5600 потребовали бы сто месяцев?
А никто и не тратит месяц на каждую сборку. У большинства сборок жизнь - один день, до следющей сборки.
3. Если даже и так, каким образом происходит синхронизация winmain сборок с той, как вы выражаетесь, "ребилдинг" сборкой?
исправления вносятся и в пересобираемую, и в более новые сборки, изменения - только в новые. Регрессионное тестирование при одновременном внесении изменений и доработок особого смысла не имеет.
Если вы видите только то, что хотите - пожалуйста.
Не понял, что Вы хотели этим сказать. Напишите сами Холлоеру, спросите у него, расскажите нам...
Вдогонку: если Вы думаете, что сборки выладываются тестерам через считанные дни после их появления, то ошибаетесь.
К примеру один из разработчиков писал мне 6 декабря прошлого года: "но мне очень интересна ситуация на Висте, на билде >= 5274". Декабрьский CTP, выложенный тестерам 19 декабря, имел номер 5270.
Игорь Лейко писал:В каком смысле зачем? чтобы работа на этой сборке не остановилась.
Согласен. Как в случае с 55хх и с 57хх. В 55хх вносятся лишь "исправления", а в 57хх еще и изменения. Но если есть сборка 5600, которую уже начали отлизывать и доделывать, зачем при этом тратить время на сборки до 5600 - тот же 5536, если в нем теоритически никаких изменений по сравнению с 5505 быть уже не может - ведь это параллелизм с отлизыванием 5600. Иначе бы в 5600 могло бы не быть ряда функций 5536 (если предположить, что 5600 был скомпилирован в то же самое время, что и 5505). Надеюсь вы поняли, что я имел в виду.
Игорь Лейко писал:исправления вносятся и в пересобираемую, и в более новые сборки, изменения - только в новые. Регрессионное тестирование при одновременном внесении изменений и доработок особого смысла не имеет.
Опять же. Получается, что изменения произошедшие на протяжении с 5505 до 5536 не могли быть включены в 5600, так как он "без изменений" (а только с исправлениями) разрабатывается со времен 5505 (а то и того раньше).
Игорь Лейко писал:Не понял, что Вы хотели этим сказать. Напишите сами Холлоеру, спросите у него, расскажите нам...
Хотел сказать, что вам пишут, что месяц тратится на мильстоун, а вы утрвеждаете, что на сборку.
Игорь Лейко писал:"но мне очень интересна ситуация на Висте, на билде >= 5274". Декабрьский CTP, выложенный тестерам 19 декабря, имел номер 5270.
Можно поинтересоваться, какая 5274? Vbl_ux? Vbl_media_ehome? Vbl_igor_leika?
Raiker,
Получается, что изменения произошедшие на протяжении с 5505 до 5536 не могли быть включены в 5600, так как он "без изменений" (а только с исправлениями) разрабатывается со времен 5505 (а то и того раньше).
Почему Вы решили, что первая компиляция 5600 произошла раньше первой компиляции 5505 или 5536?
Разговор становится беспредметным. Даты первой компиляции тех или иных сборок ни мне, ни Вам не известны, так что доказать что-то мы друг другу не можем.
Можно поинтересоваться, какая 5274? Vbl_ux? Vbl_media_ehome? Vbl_igor_leika?
Можно, конечно. ;) Поинтересуйтесь. Лично я дергать человека из-за таких мелочей не намерен, тем более, что он уже наверняка этого не помнит.
Игорь Лейко, нет, очень даже предметно. С чего я взял? Хехе. С чего вы взяли?
с достаточно высокой степенью вероятности могу предположить, что это произошло в начале августа. Затем ее начали "вылизывать", чтобы дать достаточно стабильную и рабочую версию (это вылизывание сейчас длится не одну неделю) тестерам, а потом и в массы, но разработку, естественно не остановили.
ot;, чтобы дать достаточно стабильную и рабочую версию (это вылизывание сейчас длится не одну неделю) тестерам, а потом и в массы, но разработку, естественно не остановили.[/code]
5505 был мной приведен как билд собранный где-то в начале августа. 5536 - позже, 5552 - еще позже.
Raiker :
5505 был мной приведен как билд собранный где-то в начале августа. 5536 - позже, 5552 - еще позже.
Так я и говорю - достоверно даты не знаете, не так ли?