Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>Использовать номер тикета в комите?
W>1) Я не хочу его вписывать руками W>2) Я не хочу его видеть в git log W>3) Я хочу полноценное название ветки, а не номер какого-то тикета
W>Номер тикета в коммите это костыль.
А как детали потом если надо находите, или у вас экстрасенсы работают?
Если прям так сильно хочется ветку, так не удаляйте?
W>>>Но мне интересно именно отслеживать как кто-то пилил что-то. V>>Код ревью с пул реквестами не достаточно?
W>Мы не на гитхабе работаем.
Полно систем для код ревью — gerrit, stash and etc...
Иначе вы получите полный бардак, если все будут мержить что хотят, куда хотят, еще и репозиторий поломают.
То есть код ревью никакого у вас нет как я вижу.
Здравствуйте, vovkab, Вы писали:
V>Например: V>1. нарезал комит, добавляя файлы, строчки, куски, что угодно
Пока я не видел как можно удобно в гите нарезать строчки, куски что угодно.
Ругаемый гитовцами вариант "сохранить в файлик, потом вернуть" реально удобнее всех этих гитовских консольных симулякров а-ля vimdiff.
V>2. спрятал все остальное V>3. прогнал тесты, убедился что все работает V>4. вытащил свой wip и продолжил дальше пилить
И что, с этим есть проблемы где-то? Стешить wip даже в майкросовтовской тфс можно было еще сто лет назад.
V>Надо поменять что то в старом комите, сделал ребэйз или просто фиксап комит, что бы не тратить время сейчас, V>оно потом само автоматически вольется куда надо при ребэйзе.
Одна из немногих фич гита которая более-менее работает, да. Да и то не факт что в других системах нет аналогов + работает эта фича до первого синка с ремотом.
Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>Нормальное код ревью подразумевает нормальную историю и комиты в которых нет лишнего. А для этого надо уметь нарезать и потом перенарезать комиты.
W>Нарезать и перенарезать это лишнее. Уши этого "мастерства" торчат из неудобств гита, где при наличии коммитов с месседжами "quickly fix " или "save state" ты хрен разберешься что имелось в виду.
Такие комиты не пройдут код ревью, так что их по определению нет.
V>>Если у тебя есть бранч как в меркуриале то тебе в общем-то пофиг что там внутри, ты оперируешь макро изменениями, а не микро. Разработчикам удобно работать, можно хоть 100 раз коммитить полуготовые файлы перемежая с полноценными коммитами. И изменения не теряются, и всякой фигней вроде git stash пользоваться не надо, и историю "вдумчиво переписывать" не надо сидеть. Ты просто работаешь как тебе удобно, а vcs тебе в этом помогает.
И как это отличается от гит?
Хоть 100 комитов невнятного содержания сделай, пока работаешь над фичей, это твоя локальная песочница.
Другое дело когда ты готовишь код на ревью, там будь добр привести код и историю в порядок.
И потом позже во время код ревью нужно будет вернутся и поправить комиты.
В общем на сколько я вижу, тут проблема не столько в гите, сколько в организации процесса разработки, которого нет.
V>А как детали потом если надо находите, или у вас экстрасенсы работают? V>Если прям так сильно хочется ветку, так не удаляйте?
Так я не хочу ветку. Нафиг мне ветка нужна Мне нужны макроблоки работы которыми можно легко и удобно оперировать.
V>Полно систем для код ревью — gerrit, stash and etc... V>Иначе вы получите полный бардак, если все будут мержить что хотят, куда хотят, еще и репозиторий поломают.
Мы и пользуемся. Только все эти герриты фигня на палочке, т.к. язык не понимают, рефакторинг не могут и вообще. Приходится держать зоопарк тулзов и смазывать это мерж-реквестами (ака pull реквесты в гитхабе) чтобы удобно понимать по истории изменений что происходило когда.
Жалкое подобие левой руки в общем.
V>То есть код ревью никакого у вас нет как я вижу.
Как и чем ты это увидел?
В курсе хоть что ревью намного удобнее делать с помощью плагинов в IDE а не этими убожествами вроде герритов, стешей и прочими аспорами.
V>В общем на сколько я вижу, тут проблема не столько в гите, сколько в организации процесса разработки, которого нет.
Он есть и в случае использования не гита он вполне работает. Все эти промежуточные коммиты могут быть весьма полезны когда придется отлавливать странный баг или поведение. Далеко не все и далеко не всегда можно\нужно вылизывать до блеска и полировать тестами в своей песочнице.
Если все пихать в каноничные мега коммиты с рюшечками и сообщениями на пять строк, то хрена с два ты там найдешь тот самый момент когда что-то отвалилось
Здравствуйте, vovkab, Вы писали:
V>Такие комиты не пройдут код ревью, так что их по определению нет.
Тоже вопрос весьма спорный. Что плохого в промежуточном коммите, если у тебя есть нормальная история на более высоком уровне?
Зачем тратить время на причесывание истории к каноничным стандартам, если в 99% случаев ты эту историю даже не откроешь?
В Меркуриале достаточно глянуть какие ветки слились и тебе сразу понятно что было проделано. В гите с помощью сторонних приблуд можно сделать симулякр в виде пулл реквестов.
На ревью ты смотришь уже готовый результат. Было-стало. А промежуточный стейт нужнен только для случая разбора полетов. Много мелких коммитов это лучше чем пара развесистых на 100500 файлов каждый. Когда ты берешь, открываешь и просто не понимаешь откуда могут расти ноги проблемы.
Просто в гите не делают такие коммиты т.к. гит с историей и ветками нормально работать не позволяет
Здравствуйте, willie, Вы писали:
W>В курсе хоть что ревью намного удобнее делать с помощью плагинов в IDE а не этими убожествами вроде герритов, стешей и прочими аспорами.
Чем удобнее? Эти плагины могут делать аннотации для изменений, смотреть signoff'ы от других reviewer'ов и т.п.?
Здравствуйте, Cyberax, Вы писали:
W>>В курсе хоть что ревью намного удобнее делать с помощью плагинов в IDE а не этими убожествами вроде герритов, стешей и прочими аспорами. C>Чем удобнее? Эти плагины могут делать аннотации для изменений, смотреть signoff'ы от других reviewer'ов и т.п.?
Конечно могут
Выделил мышкой два слова, написал коммент. Выделенный кусок подсветился.
Второй разраб моментально увидел коммент, открыл, увидел что плохо названа переменная, нажал кнопку рефакторить, ВО ВСЕМ проекте ПРАВИЛЬНО поменял название в два клика. Закрыл твой коммент. Ты увидел обновление, нажал accept, ревью закончилось.
Для большинства линуксоидов это звучит как фантастика конечно
Здравствуйте, willie, Вы писали:
W>Второй разраб моментально увидел коммент, открыл, увидел что плохо названа переменная, нажал кнопку рефакторить, ВО ВСЕМ проекте ПРАВИЛЬНО поменял название в два клика. Закрыл твой коммент. Ты увидел обновление, нажал accept, ревью закончилось. W>Для большинства линуксоидов это звучит как фантастика конечно
Это извращение, а не фантастика. Примерно на том же уровне, что и "checkout" файлов из SourceSafe.
Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>Например: V>>1. нарезал комит, добавляя файлы, строчки, куски, что угодно
W>Пока я не видел как можно удобно в гите нарезать строчки, куски что угодно. W>Ругаемый гитовцами вариант "сохранить в файлик, потом вернуть" реально удобнее всех этих гитовских консольных симулякров а-ля vimdiff.
V>>2. спрятал все остальное V>>3. прогнал тесты, убедился что все работает V>>4. вытащил свой wip и продолжил дальше пилить
W>И что, с этим есть проблемы где-то? Стешить wip даже в майкросовтовской тфс можно было еще сто лет назад.
Вы написали что все время косячите при создании комитов, я вам написал один из сценариев как сделать что бы все было железно.
V>>Надо поменять что то в старом комите, сделал ребэйз или просто фиксап комит, что бы не тратить время сейчас, V>>оно потом само автоматически вольется куда надо при ребэйзе.
W>Одна из немногих фич гита которая более-менее работает, да. Да и то не факт что в других системах нет аналогов + работает эта фича до первого синка с ремотом.
С какого перепугу что то поломается?
Ну потянул ты мастер/дев, чего в друго в твоем бранче что то сломается?
Ну сделал ты ребэйз поверх мастера, опять же ничего не поломается.
Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>А как детали потом если надо находите, или у вас экстрасенсы работают? V>>Если прям так сильно хочется ветку, так не удаляйте?
W>Так я не хочу ветку. Нафиг мне ветка нужна Мне нужны макроблоки работы которыми можно легко и удобно оперировать.
Вы суете кучу мусора в историю, от этого и появилась надобность выслеживать по ветка, иначе похоже вообще ни как.
Я даже не представляю как вы git blame используете с такой историей, наверное вообще жесть?
V>>Полно систем для код ревью — gerrit, stash and etc... V>>Иначе вы получите полный бардак, если все будут мержить что хотят, куда хотят, еще и репозиторий поломают.
W>Мы и пользуемся. Только все эти герриты фигня на палочке, т.к. язык не понимают, рефакторинг не могут и вообще. Приходится держать зоопарк тулзов и смазывать это мерж-реквестами (ака pull реквесты в гитхабе) чтобы удобно понимать по истории изменений что происходило когда. W>Жалкое подобие левой руки в общем.
И кофе тоже не варит?
Вообще как это относится к гит? В целом код ревью не зависит от используемой системы контроля версий.
Разница будет только насколько просто делать запрошенные командой изменения.
V>>То есть код ревью никакого у вас нет как я вижу.
W>Как и чем ты это увидел? W>В курсе хоть что ревью намного удобнее делать с помощью плагинов в IDE а не этими убожествами вроде герритов, стешей и прочими аспорами.
Делай на здоровье ни кто ведь не запрещает? Я согласен так даже лучше, вытащить код, проверить с удобной подстветкой и навигацией, что все работает как надо.
Но ведь нужно как то общаться с командой, обсуждать, правильно? Что бы все одобрили изменения. В целом для этого и нужны герит, стэш и тд
Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>В общем на сколько я вижу, тут проблема не столько в гите, сколько в организации процесса разработки, которого нет.
W>Он есть и в случае использования не гита он вполне работает. Все эти промежуточные коммиты могут быть весьма полезны когда придется отлавливать странный баг или поведение. Далеко не все и далеко не всегда можно\нужно вылизывать до блеска и полировать тестами в своей песочнице.
W>Если все пихать в каноничные мега коммиты с рюшечками и сообщениями на пять строк, то хрена с два ты там найдешь тот самый момент когда что-то отвалилось
Где я писал про мега комиты? Если изменение может жить отдельно без все остального, значит должно быть в отдельном комите.
Видишь ничего не поменялось? Только разница в том, что в истории не будет шума о том как я переименовывал класс 5 раз, пока не определился с именем.
Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>Такие комиты не пройдут код ревью, так что их по определению нет.
W>Тоже вопрос весьма спорный. Что плохого в промежуточном коммите, если у тебя есть нормальная история на более высоком уровне? W>Зачем тратить время на причесывание истории к каноничным стандартам, если в 99% случаев ты эту историю даже не откроешь? W>В Меркуриале достаточно глянуть какие ветки слились и тебе сразу понятно что было проделано. В гите с помощью сторонних приблуд можно сделать симулякр в виде пулл реквестов.
Пример, ты работаешь на фичей и я, допустим ты уже сделал кусок, который нужен мне, но он у тебя разбросан по 100500 комитам, типа wip1 wip2 wip3 (очень полезно)
Если бы делал нормально, то можно было бы просто вырезать нужный комит и сделать пулл реквест, или просто зачерипикать.
W>На ревью ты смотришь уже готовый результат. Было-стало. А промежуточный стейт нужнен только для случая разбора полетов. Много мелких коммитов это лучше чем пара развесистых на 100500 файлов каждый. Когда ты берешь, открываешь и просто не понимаешь откуда могут расти ноги проблемы.
W>Просто в гите не делают такие коммиты т.к. гит с историей и ветками нормально работать не позволяет
Здравствуйте, willie, Вы писали:
W>Здравствуйте, vovkab, Вы писали:
V>>Например: V>>1. нарезал комит, добавляя файлы, строчки, куски, что угодно
W>Пока я не видел как можно удобно в гите нарезать строчки, куски что угодно. W>Ругаемый гитовцами вариант "сохранить в файлик, потом вернуть" реально удобнее всех этих гитовских консольных симулякров а-ля vimdiff.
Не знаю о чем ты, но обычно нужно:
1. выделить строчки что хочешь закомитить мышкой
2. нажать правой кнопкой
3. кликнуть на "stage"
Здравствуйте, Anton Batenev, Вы писали:
AB> D> avalon 1.0rc3 build 430, zlib 1.2.5
AB> Сорри, что не в тему, если ты под Windows, то не помешает обновиться — домен в подписи уж несколько лет как не существует, а с тех пор в openssl багов много.
AB> P.S. С другой стороны, работает — не трогай.
на маке я и вроде готовых новых сборок нет,а самому лень
Здравствуйте, willie, Вы писали:
w> V>Использовать номер тикета в комите? w> 1) Я не хочу его вписывать руками w> 2) Я не хочу его видеть в git log w> 3) Я хочу полноценное название ветки, а не номер какого-то тикета w> Номер тикета в коммите это костыль. w> W>>Но мне интересно именно отслеживать как кто-то пилил что-то. w> V>Код ревью с пул реквестами не достаточно? w> Мы не на гитхабе работаем. w> V>Как то вы сами себе противоречите w> В чем?
Здравствуйте, willie, Вы писали:
W>>>И что ? Покажет что смержились две ветки. Как посмотреть какие именно коммиты вошли в мою ветку из чужой? W>·>git log myBranch^..alienBranch W>Не сработает. Ведь бранчи-то удаляются.
Бранчи сами не удаляются. Если они тебе нужны — не удаляй. Если удалил по ошибке, добавь обратно.
Да и не нужны они по большому счёту, мержи-то вечные. А именно мержи нужны для "посмотреть".
W>Это тебе не меркуриал с его мегафичей вечных веток.
Это не мегафича, а тяжелое наследние cvcs.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, willie, Вы писали:
W>>>Например чтобы откатить все что наваял нерадивый юниор. Для начала надо все это как-то найти. Желательно удобнее чем с помощью команды W>·>Найти точку нерадивого мержа, заревертить её. Не вижу проблемы. W>Я вижу как минимум проблему найти удобно коммиты которые ревертить.
Это никак не зависит от наличия/отсутствия перманентных бранчей.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, willie, Вы писали:
W>·>Можно, для небольшого проекта с центральным репозиторием, как CVCS hg ещё ок, в качестве альтернативы svn. Хотя в случае централизованной разработки лучше взять gerrit. W>Не понимаю этого упора на централизованность-децентрализованность.
Больше возможностей.
W>В большинстве продуктовых компаний по факту вся разработка централизована. Нету там никаких "распределенных систем равноправных репозиториев". Нету равноправия между офисами Есть центральный, куда все остальные сливаются по спринтам и откуда они забирают код других команд. Даже аутсорсеры зачастую либо получают репу и отдают ее на сливание заказчику, либо тупо по vpn сидят подключившись к серверу заказчика. Все эти мульки гита с распределенностью просто не нужны.
Не нужны — не используй, эти мульки ничем не мешаются, зато когда понадобится — очень здорово помогают. Не приходится скатываться до идиотизма "сохранить в файлик, потом вернуть".
W>Весь этот тред сводится к спору пары человек которые видимо работают в распределенных командах.
Даже в централизованной команде можно распределяться между собой — офисный десктоп/домашний десктоп/лаптоп/виртуалки.
W>Я вот почитал и понял что все же выбор гита видимо был ошибкой предыдущей команды. Повелись на баззворды, послушались красноглазого тимлида и вот результат. Постоянно за кем=то разруливать косяки приходится из-за того что кто-то не осилил документацию гита в очередной раз
Какие косяки приходится разруливать? Тем более в случае вашей централизованной разработки.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
W>>Весь этот тред сводится к спору пары человек которые видимо работают в распределенных командах. ·>Даже в централизованной команде можно распределяться между собой — офисный десктоп/домашний десктоп/лаптоп/виртуалки.
Это и без гита можно.
W>>Я вот почитал и понял что все же выбор гита видимо был ошибкой предыдущей команды. Повелись на баззворды, послушались красноглазого тимлида и вот результат. Постоянно за кем=то разруливать косяки приходится из-за того что кто-то не осилил документацию гита в очередной раз ·>Какие косяки приходится разруливать? Тем более в случае вашей централизованной разработки.
Я ж написал. Прямо в предложении на которое ты отвечаешь.