metaclass: (Default)
[personal profile] metaclass
Мейл-лист разработчиков некоей СУБД:
BTW, IMHO subversion is worse than CVS. I don't understand why you want to migrate at all.

Date: 2012-07-16 01:35 pm (UTC)
From: [identity profile] thinker8086.livejournal.com
>> Но с одой особенностью

Это которой?

Date: 2012-07-16 01:40 pm (UTC)
From: [identity profile] blacklion.livejournal.com
rebase, который не прописывается в историю. Сама идея rebase/squash/whatever хороша и иногда полезна, но это деструктивная команда, никак не отмечаемая в репозитории — ВДРУГ удалили часть коммитов бесследно.
Это никак не соотносится с хранением истории проекта. Историю НЕЛЬЗЯ переписывать.

Ну и это ещё приводит к чудесным эффектам, когда такое делают у репозитория с которым кто-то уже синхронизировался. Что приводит к тому, что все “workflow” с использованием этих команд (тысячи их в интернете) неработоспособны когда одну и ту же фичу делают несколько человек или хотя бы один человек на нескольких рабочих местах (ноуте и рабочей станции или домашнем и рабочем компьютере). Но это уже побочные эффекты изначально кривого дизайна, заложенного в этих командах.

Date: 2012-07-16 02:22 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
reflog же.

И вообще ребейз индивидуальная команда - сделал фичу один, ребейзнул и тд. Если над бранчем работает несколько человек то юзается бекмердж основного бранча а не ребейз.

Date: 2012-07-16 02:25 pm (UTC)
From: [identity profile] blacklion.livejournal.com
reflog же.
Хм. Читаю man — не вижу при чём он тут.

И вообще ребейз индивидуальная команда
Это не важно. Важна сама штатная техническая возможность переписывать историю, никак не ограниченная вообще. Там хоть ACL'и нормальные появились? Или нет?

Date: 2012-07-16 02:31 pm (UTC)
From: [identity profile] blacklion.livejournal.com
Вот если бы git сам при pull/push пользовался рефлогом (и там не было бы команды "expire") это было бы хоть на что-то похоже. А сейчас — push, ребейз, push — и репозиторий кровь кишки распидорасило а от git ни слова.

Я сам сторонник разрешения стрелять себе в ногу — но не когда речь идёт об истории, которая принципиально не должна редактироваться.

Date: 2012-07-16 02:39 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Ну гит не даст пушнуть если что-то распидорасит. Только через форс, а если ругатся на форс, то можно ругатся и на то что "rm -rf /" удалит вам все файлы в руте )

ИМХО возможность поправить историю хороша при факапе. Тогда рефлог позволяет очень гранулярно откатится куда надо и иметь чистую и читабельную историю, а не полный пиздец из-за одной ошибки.

ЗЫ: Кстати в компании мы не пользуемся рибейзом вообще, только мердж. Когда есть центральный репозиторий (гитхаб) в который feature branches регулярно пушатся, рибейз не нужен.

Date: 2012-07-16 02:43 pm (UTC)
From: [identity profile] blacklion.livejournal.com
Ну гит не даст пушнуть если что-то распидорасит.
Даст. Дабл-коммиты только так возникают если ребейзиться, пушить, снова ребейзхится и снова пушить. Что, подумав, не удивительно.

Date: 2012-07-16 02:51 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Я может туплю, но как? После второго рибейза в репозитории куда пушим будет коммит посде предыдущего рибейза, куда он денется? Если он там будет то дерево в локальном репозитории 1 ahead 1 behind и fast-forward не пройдет.

Date: 2012-07-16 02:54 pm (UTC)
From: [identity profile] blacklion.livejournal.com
После второго рибейза в репозитории куда пушим будет коммит посде предыдущего рибейза, куда он денется?
Да. А так как после второго рибейза того коммита уже нет, а есть новый (пусть и стем же сожержанием ПО СМЫСЛУ, но с другой чексуммой — т.е. идентификатором), то он снова проапушится и промёржится.

У меня без всяких форсов получилось на раз-два.

Date: 2012-07-16 02:59 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Блядь, и правда. Правильно мы всегда мёрдж юзаем тогда %)

Date: 2012-07-16 03:00 pm (UTC)
From: [identity profile] blacklion.livejournal.com
Воот! Я на это напоролся в первый же день — я использую свой сервер как точку встречи своих двух компов (итого на одного меня три репозитория — серверный и два на рабочих станциях, общение с апстримом через сервер) и, не подумав, сразу выбрал workflow с ребейзом. Потом уже подумал, хлопнул себя по лбу, и понял, что в такой схемек ребейз делать нельзя.

Date: 2012-07-17 12:21 am (UTC)
From: [identity profile] theiced.livejournal.com
так делать низяяяяя.

Do not rebase commits that you have pushed to a public repository. (c)

а вообще торвальдс говноед ;]

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 10th, 2025 05:52 pm
Powered by Dreamwidth Studios