- 1
- 2
- 3
- 4
- 5
Jenkins Auto-Updater added a comment - Today 00:35
UNSTABLE: Integrated in contoso #223
Create unit test for CN-858; Currently fails
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+107
Jenkins Auto-Updater added a comment - Today 00:35
UNSTABLE: Integrated in contoso #223
Create unit test for CN-858; Currently fails
anonimb84a2f6fd141 30.06.2013 19:19 # −9
Lure Of Chaos 30.06.2013 21:51 # 0
roman-kashitsyn 30.06.2013 22:37 # 0
wvxvw 01.07.2013 02:23 # 0
Просто идея использовать Яву для чего-то, где однозначно нужны скрипты - и зачем они это сделали?..
ЗЫ. Компания пользуется билдбоксом. Дженкинс мой персональный, подпольный, т.как пока ИТ что-то сделает...
bormand 01.07.2013 05:17 # 0
В яве из коробки есть ЯваСкрипт... Почему бы и нет?
Lure Of Chaos 01.07.2013 07:10 # 0
да ладно? где?
roman-kashitsyn 01.07.2013 07:23 # 0
Lure Of Chaos 01.07.2013 07:26 # 0
bormand 01.07.2013 09:12 # +6
Vasiliy 02.07.2013 08:56 # 0
bormand 02.07.2013 10:02 # +1
vistefan 02.07.2013 10:35 # +1
А правда, что вы имеете ввиду под "Ява", острова индонезии, сигареты или мотоцикл?
wvxvw 01.07.2013 08:42 # +1
Lure Of Chaos 01.07.2013 09:08 # −4
roman-kashitsyn 01.07.2013 09:18 # +6
Lure Of Chaos 01.07.2013 10:42 # −1
roman-kashitsyn 01.07.2013 10:47 # 0
А если коллег много и они не знают жабы, то вообще писать на жабе смысла мало.
Но в целом, конечно, многие задачи неплохо решаются жабой.
Lure Of Chaos 01.07.2013 10:48 # 0
bormand 01.07.2013 10:54 # +2
Lure Of Chaos 01.07.2013 10:59 # 0
eth0 01.07.2013 18:54 # +2
Ещё должны быть смарт-карты с поддержкой оной, но по памяти ничего не гуглится. Должно быть что-то типа Java Card.
defecate-plusplus 02.07.2013 07:39 # +1
wvxvw 01.07.2013 09:39 # +1
Vasiliy 01.07.2013 10:56 # +1
А что вы скажете на счет приложений под вынь 8 на js ? просто интересно.
3Doomer 02.07.2013 07:31 # −1
roman-kashitsyn 01.07.2013 09:17 # +2
Нет, писать ядро на простой и богатой библиотеками жабе, заточенной на многопоточность, и дать юзерам возможность по-быстрому говнявкать скрипты на жабоскрипте.
К примеру, ElasticSearch использует для обновлений индекса ScriptEngine (причём можно выбирать язык, по дефолту MVEL). Redis умеет евалить Lua-скрипты, хоть сам написан на сишке.
> в жабоскрипте не предусмотренно ничего для работы с файловой системой
Биндим в жабе пару объектов в контекст перед вызовом скрипта, профит. Только API нужно будет документировать.
wvxvw 01.07.2013 09:51 # 0
Скрипт делающий то же самое был бы и компактнее, и возможностей больше, и позволил бы пользователю работать со знакомыми программами (которые он может под себя заточил).
Написать часть Женкинса на другом языке (скриптовом)? - до этого была одна проблема с Явой, теперь их стало две.
roman-kashitsyn 01.07.2013 09:56 # +2
wvxvw 01.07.2013 10:52 # 0
Но ведь программа, вместо того, чтобы сделать по-человечески (дополнить) делает по-уродски (заменят).
Это типичный стиль корпоративного мЫшления - а т.как подавляющее большинство Явистов мЫшлют по-корпоративному, то и пишут такие уродские программы. Им просто даже в голову не приходит, через какую жопу они это делают.
roman-kashitsyn 01.07.2013 10:59 # +1
Если у вас проблемы, попробуйте на досуге поиграться с buildbot.
bormand 01.07.2013 11:27 # +2
RAR не нужен *.
* не вброс, он действительно не нужен. Век дискет уже давным-давно прошел.
roman-kashitsyn 01.07.2013 11:29 # +2
Lure Of Chaos 01.07.2013 11:29 # 0
inkanus-gray 02.07.2013 00:20 # +2
Lure Of Chaos 02.07.2013 00:24 # 0
и да, 7z научился встраиваться в систему, в частности, в контекстное меню?
defecate-plusplus 02.07.2013 00:26 # +2
Lure Of Chaos 02.07.2013 01:02 # −2
guest 02.07.2013 19:00 # +3
inkanus-gray 02.07.2013 00:26 # 0
Lure Of Chaos 02.07.2013 00:55 # 0
inkanus-gray 02.07.2013 01:28 # 0
Вы так говорите, как будто если бы инсталлятор этого не делал, добавить в реестр пару строчек для распаковки архива было бы трудно:
Кстати, а для каких архиваторов есть хелперы типа zipfldr.dll, чтобы не открывать лишних окон при просмотре?
someone 02.07.2013 07:04 # +2
Он это всегда умел... o_O
Lure Of Chaos 02.07.2013 09:05 # 0
Vasiliy 02.07.2013 12:02 # 0
3.14159265 02.07.2013 17:28 # 0
>открытый 7-zip.
Метью Махони смотрит на эти слова с легким недоумением.
PS А еще есть хацкильный free arc.
bormand 01.07.2013 10:38 # 0
Читаются на всех осях* из коробки. Сжатие шустрое и вполне приличное. Зачем что-то еще?
> хороших средств для архивации
Приведите пожалуйста названия средств и то, чем они хороши. И посмотрим, перевесят ли их "преимущества" возможность не заморачиваясь открыть пак с исходниками/бинарниками на любой оси.
Если что-то и было бы полезно - так это совсем не архиваторы, а плагины для генерации deb/rpm/msi и прочих инсталляшек.
* Шиндовз ниже XP осью не считаем.
defecate-plusplus 01.07.2013 10:47 # 0
roman-kashitsyn 01.07.2013 10:49 # +3
defecate-plusplus 01.07.2013 10:50 # 0
bormand 01.07.2013 10:53 # 0
wvxvw 01.07.2013 10:57 # 0
И в конце концов, я пользуюсь Эмаксом, в нем tar+gzip поддерживается замечательно, а zip - на уровне редактора - не особо. Почему я должен забивать на любимый редактор изза какой-то недоделки в CI сервере?
> Если что-то и было бы полезно - так это совсем не архиваторы, а плагины для генерации deb/rpm/msi и прочих инсталляшек.
CI сервер для этого не предназначен. Просто сбилдить и оповестить всех заинтересованых о результатах. rmp / msi - это уже заботы инструментов сборки, типа SCons / rake и иже с ними.
bormand 01.07.2013 11:08 # 0
И вы это считаете проблемами дженкинса? :)
> кучу дискового пространства
В век дискет, 40 гиговых винтов, cd-rw и GPRS'а по 9 рублей за метр я бы полностью с вами согласился... Тогда я жал все в непрерывные RAR архивы, и считал это нормальным... Но у tar.gz, как и у любого непрерывного архива есть недостаток - довольно медленный seek и перечисление файлов. А ведь если вы хотите править файлы внутри архива прямо из редактора это немаловажно?
P.S. Исходники libc в tar.gz весят 23 метра, в zip - 30 (в обоих случаях дефолтовый уровень сжатия). Оно точно того стоит?
wvxvw 01.07.2013 12:25 # 0
Почему я должен платить хоть один американский цент больше за идиотизм другого программиста? Мало ж. диски стоят? - почему автор Женкинса мне их в подарок не пришлет - то ж фигня копеечная?
Кроме непосредственно хранения, это еще время на отсылку их по сети. У нашей компании три больших оффиса и еще несколько по-меньше, в Израиле, Канаде и на Украине. Почему изза идиотизма разработчика Женкинса человек должен ждать в два раза больше, пока билд скачается?
Просто почему делать через жопу то, что уже было сделано нормально?
roman-kashitsyn 01.07.2013 12:29 # +3
wvxvw 01.07.2013 12:47 # 0
Не вам судить о том, что я сделал и для кого, уж поверьте, вы ничего об этом не знаете. Опять же, пусть бы даже не было никакого моего личного вклада в развитие чего бы то ни было - какая связь между качеством программы и моим вкладом?
В мире есть очень много примеров посредственных / низкопробных продуктов, которыми пользуются не потому, что они такие хорошие, а потому что привыкли / нет хороших альтернатив. Женкинс - один из них.
Если вы посмотрите сюда: то увидите, что по-сути кроме Трависа, Женкинса и Билдбота ничего и нет. Но Травис заточен специально под Гитхаб...
roman-kashitsyn 01.07.2013 12:58 # +3
Собственно, от вас кроме ругани всего кроме Emacs и CL сложно что-то услышать.
CI я сам настраивал не раз, и bulidbot, и Jenkins, и CruiseControl. У всех систем свои недостатки, порой весьма неприятные. Но называть их разработчиков дебилами у меня как-то язык не поворачивается. Тем более, бьюсь об заклад, у вас нет в закромах собственной CI-системы, которую бы все похвалили. Люди делали продукты не для вас, а для себя. И поделились ими с сообществом на добровольных началах. Если вас что-то в них не устраивает - исправляйте, в этом суть опенсорса и его сила. Угодить на всех в гетерогенных средах - очень непростое занятие, поэтому и приходится выбирать метод наименьшего знаменателя.
А уж брызжать слюнями, доказывая иллюзорный идиотизм - совершенно бесполезное и безрезультатное занятие.
wvxvw 01.07.2013 13:26 # 0
Нет, я не знаю ни одного хорошего CI сервера - и это не делает Женкинс лучше, а ынтырпрайз мышление более приемлимым.
Почему я не могу сожалеть о такой плохой ситуации? Сожаление о плохой ситуации - это единственная мотивация для ее изменения.
Идиоты ли авторы Женкинса? - во всем - нет. В реализации конкретной возможности - да.
С чего вы взяли, что я не исправлю и не пошлю патч разработчикам? Наоборот, с какого перепугу я бы стал патчить, если бы меня все устраивало?
roman-kashitsyn 01.07.2013 13:33 # 0
Я этого не утверждаю. Наоборот, активно взываю конструктивно решать проблему. Нормальный инженер, находя проблему, не ищет виноватых, тыча в них пальцем, а молча решает её и идёт дальше. А называть разработчиков свободного продукта дебилами - некрасиво, даже если впоследствии кинуть с царского плеча патч.
Кстати, неплохо было бы увидеть ссылку на патч.
bormand 01.07.2013 13:38 # +5
Не упоминай Царя всуе.
wvxvw 01.07.2013 13:44 # 0
Я очень обломался изза плохой поддержки Сигвина, и пытаюсь с этим что-то сделать.
Но в процессе работы уже много раз возникало желание просто сделать по-новой. Особенно от того, что от Явы тошнит. Я уже выше говорил о том, что хочу попробовать приспособить elnode для этого - судя по всему, этим все и закончится.
roman-kashitsyn 01.07.2013 13:49 # +2
Ваш преемник будет Вас ненавидеть. Ну и в конечном счёте Вы убъёте кучу времени и врядли получите что-то хотя бы отдалённо похожее на нормальный CI-сервер.
guest 02.07.2013 19:01 # −3
bormand 02.07.2013 19:51 # +1
Lure Of Chaos 02.07.2013 22:18 # 0
bormand 02.07.2013 22:23 # 0
tar не умеет упаковывать и нарезать на тома
gzip не умеет работать с несколькими файлами и нарезать на тома
split не умеет упаковывать и работать с несколькими файлами
Тогда как rar умеет это все.
Вывод: unix говно.
Lure Of Chaos 02.07.2013 22:26 # 0
bormand 02.07.2013 22:28 # +1
P.S. Хотя можно и .rar.rar, где первый rar с отключенным сжатием, а второй сжимает один файл.
Lure Of Chaos 02.07.2013 22:32 # 0
скачиваем кучу архивов *.part??.zip
распаковываем каждый отдельно, получаем кучу томов *.r??
распаковываем, получаем один *.zip архив
радуемся, что в нем находится нужное.
anonimb84a2f6fd141 02.07.2013 23:38 # +1
anonimb84a2f6fd141 02.07.2013 23:38 # 0
anonimb84a2f6fd141 02.07.2013 23:37 # +2
Более того, непрерывные архивы имеют смысл только при нормальном размере словаря. У gzip он 64 кбайт, у рара - до 16 мбайт вроде бы, по дефолту 4. У 7z аналогично. Так что прыщебляди соснули, но им не привыкать.
inkanus-gray 03.07.2013 00:35 # +2
anonimb84a2f6fd141 03.07.2013 02:01 # +2
anonimb84a2f6fd141 03.07.2013 02:03 # +2
bormand 03.07.2013 06:15 # +1
Зачем полностью? Только предыдущие. Последующие файлы на упаковку предыдущих никак не влияют.
P.S. Но в .tar.gz еще и заголовки размазаны по всему архиву и пожаты, поэтому чтобы посмотреть список файлов, придется распаковать весь поток.
anonimb84a2f6fd141 03.07.2013 15:02 # +1
А так кто-то умеет? Winrar полностью распаковывает tar только для показа оглавления. В любом случае, из всех знакомых мне архиваторов только rar может располагать файлы в нужном порядке в непрерывных архивах, чтобы readme.txt было в самом начале, причем как минимум с бородатой версии 2.0 под дос. Опенсорсные воры (7zip) это еще не успели прыщеукрасть (15 лет, совсем некуда спешить, как обычно).
Кстати, в непрерывных архивах rar вроде бы может иметь несколько потоков, а gz - только один, т.е. для распаковки одного файла по любому надо будет распаковать все файлы перед ним.
Собсно, 7z - самое лучшее, что было у щвабодных мозолеедов. На их счастье, архиваторы достигли пика развития, и фичи 10-летней давности потихоньку были прыщеукрадены и перекочевали в швабодный продукт. Не пора ли вылезти из подвала?
bormand 03.07.2013 16:20 # 0
Если тебе эта фича очень-очень-очень нужна, то добавь сначала очень-очень важные файлы, а затем добавь все остальные. Тар это умел с самого создания. И никаких гуитыкалок или специализированных опций для этого не нужно. Или ты пакуешь каждую версию своей софтины в рар через гуитыкалку, любовно кликая мышкой по README и прочим важным файлам, чтобы они легли первыми?
> Опенсорсные воры (7zip) это еще не успели прыщеукрасть
> прыщеукрадены и перекочевали в швабодный продукт.
Откуда такая ненависть к швабодке и опенсурсу?
anonimb84a2f6fd141 03.07.2013 17:46 # +1
Оло ло, а ну ка луркай RarFiles.lst
>Откуда такая ненависть к швабодке и опенсурсу?
Ну посмотри сам - в 2010-х 7zip только-только, наконец-то, подобрался по функционалу к винрару начала 2000х, все остальное у него без шансов сосало. Зип, вон, до сих пор в юникод не умеет. WinHTTTrack - глючная копия Teleport Pro родом из 90х. Про опен офис и мс офис известно. И т.д.
defecate-plusplus 03.07.2013 17:56 # −1
guest 05.07.2013 03:31 # 0
roman-kashitsyn 01.07.2013 11:00 # +4
defecate-plusplus 01.07.2013 11:32 # +1
я добавлял в один проект требуемую поддержку .zip архивов - там достаточно взять из поставки полтора файла и написать нужные врапперы, передающиеся в zlib_filefunc_def
wvxvw 01.07.2013 12:26 # 0
Эмакс поддерживает навигацию, поиск, итеративное добавление / удаление из tar+gzip, а к zip он может только применить то, что есть в системе, т.е. в общем случае сжатие / раzжатие.
К примеру, Вижуал Студия не может и того, что может Эмакс при работе с zip файлами.
defecate-plusplus 01.07.2013 12:49 # +2
и да, сэкономить пару метров места на рабочем харде при редактировании кода текущего проекта - да это же киллер-фича, сейчас же деинсталлирую вижуал студию!
wvxvw 01.07.2013 13:29 # 0
bormand 01.07.2013 13:39 # +1
Это в сумме или каждый билд?
wvxvw 01.07.2013 13:41 # 0
defecate-plusplus 01.07.2013 13:45 # +1
зачем вы скачиваете интернет?
bormand 01.07.2013 13:50 # 0
Если весь набор исходников в tgz весит в районе 300мег, и к-т сжатия будет примерно как я замерял выше для либц (zip на 30% больше, чем tgz), то получим где-то 100 метров разницы на каждом архиве, на 1000 таких архивов как раз получатся те самые 100 гигов.
defecate-plusplus 01.07.2013 13:56 # +1
билд сервер собирает версии
а затем собранным версиям и так положено быть упакованными и они лежат не на билд сервере - а на специальном архивном сервере
но к примеру, 100 гигов версий (даже не дельту в 100 гигов) в архивах наша контора не накопила и за 15 лет - но наверное мы и не крайзис не пишем, текстуры не храним
причем, если уж хранить результат - ну так я бы призадумался о lzma (7z), а не взял старый tar.gz (только потому, что мой редактор умеет работать только с ним)
bormand 01.07.2013 14:06 # 0
Да, я знаю об этом...
Но wvxvw выше писал: "Если у меня билды производят текстовые файлы (исходники программы)". Т.е. все-таки там текст.
Но мне не совсем понятно зачем копаться в этом выхлопе и править его эмаксом. Он ведь сгенерен :)
bormand 01.07.2013 13:56 # 0
roman-kashitsyn 01.07.2013 13:58 # +1
bormand 01.07.2013 14:07 # 0
"Если у меня билды производят текстовые файлы (исходники программы)"
roman-kashitsyn 01.07.2013 14:10 # 0
Метациклические билды? Ну в жабе бывает автогенерация классов через процессоры аннотаций и всякие hibernate-утилиты, но даже в этом случае желаемой целью обычно являются не их исходники, а джарник с результатами.
bormand 01.07.2013 14:40 # 0
Ждем жизненного примера, в котором wvxvw понадобилось поправить выхлоп билдсервера ;)
roman-kashitsyn 01.07.2013 14:44 # 0
да уж, с нетерпением.
wvxvw 01.07.2013 14:48 # +1
bormand 01.07.2013 12:57 # 0
Ну и какие такие проблемы возникли при реализации этих фишек? Ну кроме лени и ненужности zip'а для авторов эмакса, конечно.
> при работе с zip файлами
Зачем вообще вам понадобилось копаться внутри архивов при помощи IDE? Гвозди тоже отверткой закручиваете?
> zip занимает в два раза больше дискового пространства.
Выше был пример с libc, на котором zip больше на 30%, а не в два раза. Или исходники libc недостаточно текстовые и недостаточно однообразные, чтобы преимущества непрерывного архива начали проявляться?
wvxvw 01.07.2013 13:38 # 0
Например, в эмаксе есть специальный интерактвный поиск-замена по файлам реализованая через интерфейс Диреда, у нее есть специальный режим редактирования, с удобно подобранными коммандами, настроенной подсветкой, интеграцией с другими макросами / пользовательскими функциями добавленными к редактору.
Система множественных выделений, выделений по шаблону, комбинации выделений, теги, закладки и т.д.
Увы, пользователю редактора типа Вижуал Студии это просто не объяснить...
> Зачем вообще вам понадобилось копаться внутри архивов при помощи IDE? Гвозди тоже отверткой закручиваете?
Потому что я так же выполняю административную работу, где копирование, архивация и т.д. - это то, что я делаю, каждый день? Если ваш редактор этого делать вообще не умеет, то не нужно это знание экстраполировать на остальных.
roman-kashitsyn 01.07.2013 13:40 # +2
wvxvw 01.07.2013 14:50 # 0
roman-kashitsyn 01.07.2013 15:00 # +2
Кстати, основной общий недостаток CI-серверов, который превращает воспроизводимость билдов не более чем в миф - конфиги CI-сервера, как правило, лежат отдельно от проекта (только travis вроде правильнее сделан и цепляет конфиг из дерева исходников).
Это означает, что при смене шагов билда легко можно поломать сборку старых версий.
wvxvw 01.07.2013 19:37 # 0
- на билд сервере есть папка, куда складываются патчи на время когда билд еще не у QA, но уже нельзя коммитить.
- всегда найдется кто-то, кто забудет туда патч положить, или вспомнит об этом слишком поздно, или перепутает папки. Когда людей много, то такие ошибки становятся постоянными.
- билд уходит QA на тестирование, и в первый день, а вернее несколько часов сразу после выясняется, что а) не билдится, б) что-то забыли.
- начинается поиск того, что забыли, в итоге находится, но билдить в это время уже нельзя (т.е. нельзя поднимать версию). И приходится вручную что-то добавлять / изменять.
Каждый раз кто-то получает (не-)строгий выговор, и история в точности повторяется.
bormand 01.07.2013 20:56 # +2
А потом, когда коммиты разблокированы, эти патчи из папки заливают обратно, не забывая внести те изменения, которые были проделаны руками... И в первый же день выясняется, что а) не билдится, б) что-то забыли. Потому что тот, кто правил руками в обход билд-системы, что-нибудь да забыл закоммитить...
Столько бесполезного секса, и все ради удовлетворения бюрократического "нельзя поднимать версию билда"...
roman-kashitsyn 01.07.2013 21:05 # +1
bormand 01.07.2013 22:01 # 0
А ручная правка билда без инкремента номера это же неплохая подстава для QA: они вынуждены доверять Васе-одмину-строительного-сервера в том, что он ничего там не запорол и не напортачил, пока подправлял...
И сам факт правки останется незадокументированным, если уж говорить о бюрократических процедурах...
guest 02.07.2013 00:05 # −5
bormand 02.07.2013 05:44 # 0
16² ?
guest 02.07.2013 06:33 # 0
bormand 02.07.2013 06:48 # +1
А, вы в 265 опечатались. Ну с кем не бывает...
265
wvxvw 02.07.2013 09:45 # −1
В конечном итоге, в большой системе нельзя это полностью автоматизировать, т.как просто все ошибки нельзя предусмотреть. Вот вам пример нетривиальной баги, с которой я живу уже несколько месяцев:
msysgit (сборка для Виндовс) почему-то на наших виндовсах ведет себя неадекватно - не учитывает сдвиг таймзоны. Т.е. врема коммита отличается от времени в системе на пару часов. Так же странно ведут себя несколько других програм, например, Питон (Виндовская версия), Нода.жс... Но в браузерах, например, время нормальное, в Сигвине, что интересно - время тоже нормальное, и Сигвиновская сборка Гита таки учитывает таймзону.
Предположим теперь, что кто-то закоммитил из Гита с неправильным временем. Версий в этой замечательной системе версий нет. Выяснить "кто же был первым" можно только в процессе личного общения с закоммитившим...
roman-kashitsyn 02.07.2013 09:55 # 0
Эм... Время коммита в гите не имеет никакого значения и не может иметь в принципе в распределённой среде, где каждый мог настроить какое угодно время. Последовательность коммитов определяется так, как и должна: отношением родитель - потомок в графе версий.
Закоммитить в "мастер" в принципе невозможно (без --force, разумеется, но за это сажают на кол), пока не смёржишься с ним в локальном репозитории.
Если у каждой локации своя мастер-ветка, а мёрж в "канонический" репозиторий выполняют отдельные люди (что в принципе невозможно в централизованной системе), то тут вопрос, кто коммитил первым, не имеет смысла: они коммитили одновременно.
wvxvw 02.07.2013 15:20 # 0
Да, а как Гит узнает кто жеж был раньше? Он считает время от пуша назад, чтобы выяснить когда коммитили, и кто был первым, если есть противоречие. Но проблема у нас на уровне сети: видя мои коммиты Гит думает, что живет в прошлом даже не потому, что в самом коммите время не правильно указано, а изза рассинхронизации между системным временем и тем, временем, которое использует стевой адаптер.
Я вообще как обнаружил эту интересную особенность - ничего не подозревая, я из прошлого зафигачил коммит поверху коммита сделанного другим человеком. При том, что во время коммита, меня вообще формально даже на работе не было. От так-то.
roman-kashitsyn 02.07.2013 15:25 # +1
По sha-1 дайджесту родителя, разумеется. Время бессмысленно, только граф имеет значение.
wvxvw 02.07.2013 15:37 # 0
roman-kashitsyn 02.07.2013 15:50 # +1
Почитайте уже, как гит работает. Крайне занимательно.
roman-kashitsyn 02.07.2013 16:06 # +1
tell me moar
wvxvw 02.07.2013 16:40 # 0
Я даже пытался разузнать, может быть ситуация не такая уникальная - но похоже что я наблюдаю очередную лажу с датами какого-то народного умельца, только в этот раз пожелавшего остаться неизвестным.
wvxvw 02.07.2013 15:24 # 0
Коммит a47acba был сделан на самом деле за два часа до 4dc3e12
roman-kashitsyn 02.07.2013 15:52 # +2
Что в очередной раз доказывает, что гит клал на даты коммитов.
wvxvw 02.07.2013 16:33 # 0
А заставило его принять такое решение тоф факт, что время при общении с моим компьютером было расчитано не правильно.
Подозрение пока на то, что ради прихотей wmwire хоста были сделаны какие-то странные настройки в сети изза которых что-то сломалось. Как результат, все программы написанные на Си почему-то при вызове системных функций связанных со временем получают строго гринвичевское время (wmwire host не может, или не мог когда-то работать ни в какой другой тайм-зоне). Почему-то .NET программы и даже C++ получают нормальное время... Кроме того, тим-фортерес и перфорс (судя по рассказам ИТ) отказывались синхронизироваться, если время на компьютерах в локальной сети отличалось больше чам на сколько-то минут. Оставшиеся ИТ теперь плохо понимают, что тогда было сделано, но факт отстается таким, что у меня на компутере программы на разных языках показывают разное время.
ЗЫ. +1 в логе коммита - это ДСТ.
roman-kashitsyn 02.07.2013 16:46 # +1
a47acba - это результат мёржа b89b409 и 4dc3e12, он не мог быть сделан на 2 часа раньше предка, это буллшит.
В 15.42 был ваш коммит, в 15.37 (поправка на косяк со временем) - не ваш. Вы сделали pull, произошёл автомёрж транка с вашим коммитом в 15.51 (по локальному времени, разумеется).
Нет никакой магии, всё как и должно быть: забили на время, используются отношения между версиями.
wvxvw 02.07.2013 16:58 # 0
2. Не ту циферку скопировал, b89b409 - мой коммит, ну как бы можно сказать, что a47acba - тоже мой коммит, т.как получился врезультате мержа того самого моего коммита. Он был на самом деле самым первым в этой серии коммитов. Два следующих за ним коммита должны были его "исправить", в итоге, он "исправил" два последующих коммита. Т.е. врезультате мержа были использованы мои сорцы а не из 3cdc9ec.
А... о... я понял еще в чем проблема. Время то отображается у меня, и оно очевидно вычисляется неправильно на моей системе. Лог на сервере выглядит по-другому :О
roman-kashitsyn 02.07.2013 17:06 # +1
wvxvw 02.07.2013 17:13 # 0
Я теперь уже и сам не понимаю почему так. Но это то, что получилось.
roman-kashitsyn 02.07.2013 17:20 # +2
С чего это вдруг? Если бы там были конфликты, гит не стал бы ничего коммитить, а предоставил бы вам возможность разбираться, какие изменения должны переписать другие.
То, какой коммит отображается выше в рисунке git log действительно определяется временем коммита. Но на работу самого гита это абсолютно не сказывается. На любом сервере git log будет отображать изоморфный граф ревизий.