LINUX.ORG.RU

[#] Ответ на: комментарий от yoghurt 04.10.2011 9:30:42  

> Ааа, это как бранчи с ребейзами для бедных?

Гг. Вот такие люди и говорят "я работал с Mercurial", хотя на самом деле они знают о hg чуть более, чем нифига. mq - это инкрементальная итеративная разработка, когда задача разбивается на несколько этапов, и всегда есть возможность быстро и удобно вернуться к любому этапу и поправить его. Каждый из этапов становится отдельным патчем. Само собой, быстрое создание нового патча, объединение существующих и все возможности Mercurial. И да, rebase тоже есть, но используется редко.

Как сказал Мортон в свое время: 'The key philosophical concept is that your primary output is patches. Not ".c" files, not ".h" files. But patches. So patches are the first-class object here.'.

А этот ваш git - просто распиаренное средство передачи патчей.

> А mq, выходит, позволяет изолированно друг от друга схоронять патчи с разными фичами внутри одной бранчи? И как это дело обновлять потом? Прошлый век какой-то

Ты просто не врубился. Вот такие люди и пополняют ряды гит-хомя^H^H^H^Hфанбоев %)

***** ()
[#] Ответ на: комментарий от tailgunner 04.10.2011 12:14:23  
KRoN73

>Вот такие люди и пополняют ряды гит-хомя^H^H^H^Hфанбоев %)

Я, вот, тоже [ещё?] не проникся [т.е. не пробовал] mq, но всё равно не вижу преимуществ у Git'а :) А на Mercurial подсел исторически, когда Git не умел работать с репозиториями на sshfs/ftpfs.

***** ()
[#] Ответ на: комментарий от baverman 04.10.2011 12:32:24  
KRoN73

>Но зачем, ради всего святого, это может быть нужно?

Например, если к удалённой машине есть доступ только по FTP, но работать нужно именно на ней, а не делать экспорт каждый раз.

***** ()
[#] Ответ на: комментарий от KRoN73 04.10.2011 12:31:01  

> Я, вот, тоже [ещё?] не проникся [т.е. не пробовал] mq

А я уже давно не представляю себе работы без mq или подобного средства. Возможность по-быстрому вернуться назад и что-то поправить - это киллерфича. Поэтому, когда я вижу очередное признание "я люблю git/я ушел с hg на git", и в нем никак не упоминаются mq и stgit/guilt/topgit/git-subtree/whatever, я понимаю, что вижу высер хомячка :)

***** ()
[#] Ответ на: комментарий от Reset 03.10.2011 23:59:32  
franchukroman
>>-----Цитата---->>

Недавно только обсуждали про reset --hard

<<-----Цитата----<<

git gc. Нужно хоть иногда читать маны.

>>-----Цитата---->>

претензии к веткам не понял

<<-----Цитата----<<

Претензия к тому, что веток в hg можно сделать кучей разных способов, некостылен из которых только один.

** ()
[#] Ответ на: комментарий от franchukroman 04.10.2011 16:46:41  
Reset

> git gc. Нужно хоть иногда читать маны.

Сейчас мы по 100500му кругу пойдем.

1. в man git-reset нет ссылки на git-gc

2. в man git-gc нет описания формата даты

> Претензия к тому, что веток в hg можно сделать кучей разных способов, некостылен из которых только один.

Который из ты считаешь некостыльным? В гите тоже несколько способов.

***** ()
[#] Ответ на: комментарий от Reset 04.10.2011 16:48:52  
franchukroman
>>-----Цитата---->>

1. в man git-reset нет ссылки на git-gc

<<-----Цитата----<<

Почему должна быть? git reset --hard всего лишь переключает HEAD на нужный коммит, все последующие остаются, хотя ссылок на них уже нет. Клонироваться они не должны, но место занимать будут. Выброшенные коммиты можно восстановить, если помнишь хэш прошлого HEAD. А git gc нужен, чтобы удалить объекты, на которые нет ссылок (то есть, вернуть убитые коммиты будет уже нельзя).

Почитайте лучше Git magic, там о всем этом написано.

>>-----Цитата---->>

Который из ты считаешь некостыльным? В гите тоже несколько способов.

<<-----Цитата----<<

Для hg нативным является hg branch, всё остальное - костыли. Для git нативный git branch, и других способов создания веток нет (все остальное сводится к git branch).

** ()
[#] Ответ на: комментарий от tailgunner 04.10.2011 12:14:23  
franchukroman
>>-----Цитата---->>

Гг. Вот такие люди и говорят "я работал с Mercurial", хотя на самом деле они знают о hg чуть более, чем нифига. mq - это инкрементальная итеративная разработка, когда задача разбивается на несколько этапов, и всегда есть возможность быстро и удобно вернуться к любому этапу и поправить его. Каждый из этапов становится отдельным патчем. Само собой, быстрое создание нового патча, объединение существующих и все возможности Mercurial.

<<-----Цитата----<<

Чем оно лучше git stash?

>>-----Цитата---->>

А этот ваш git - просто распиаренное средство передачи патчей.

<<-----Цитата----<<

Чем он не VCS? Почему вы считаете, что он хуже hg?

** ()
[#] Ответ на: комментарий от Reset 04.10.2011 0:01:35  
franchukroman

Хз когда он появился (не в этом суть), но он вполне удобен и с своими задачами справляется. А взаимодействие с пользователем ничем не хуже того же hg.

** ()
[#] Ответ на: комментарий от franchukroman 04.10.2011 17:03:33  
Reset

> Клонироваться они не должны

Где про это сказано и почему они всё равно клонируются ?

> Для hg нативным является hg branch, всё остальное - костыли.

Это ты сам придумал такой бред или прочитал где? Ветка == репозиторий, остальное изобрели cvsнутые на всю голову.

> Для git нативный git branch, и других способов создания веток нет (все остальное сводится к git branch).

Нет, в git'е тоже поддерживается парадигма ветка == репозиторий.

***** ()
[#] Ответ на: комментарий от franchukroman 04.10.2011 17:09:19  
Reset

Посмотрел man и сразу углядел стандартный гитовкий косяк -- взаимнообратные операции называются не взаимнообратно. Для stash взаимнообратны save/pop, а не push/pop. Аналогично, для git взаимнообратны push/fetch, а не push/pull ...

***** ()
[#] Ответ на: комментарий от Reset 04.10.2011 17:13:43  
franchukroman
>>-----Цитата---->>

Это ты сам придумал такой бред или прочитал где? Ветка == репозиторий, остальное изобрели cvsнутые на всю голову.

<<-----Цитата----<<

Ветка != репозитарий, т.к. это разные сущности.

** ()
[#] Ответ на: комментарий от franchukroman 04.10.2011 17:06:44  

> Чем оно лучше git stash?

Студент, ты дислектик штоле? Я только что объяснил, что такое mq. Теперь ты попробуй объяснить, чем stash лучше.

>> А этот ваш git - просто распиаренное средство передачи патчей.

> Чем он не VCS?

Git - это ядро DVCS, используемое обычно в режиме передатчика патчей. Так понятно?

> Почему вы считаете, что он хуже hg?

Потому что его UI сделан по деццкому принципу "я ненавижу SVN и буду делать всё не так, как SVN". Потому что это не настоящая DVCS, ориентированная на конечного пользователя, а ядро DVCS (кто-нибудь вообще читал git@gelato в те времена, когда гитоюзерами были старые юниксоиды и понятия plumbing и porcelain были в ходу?). И главное, потому что гитояюзеры - орава хомячков, которые считают, что, освоив git pull, они уже поняли, как нужно применять DVCS. Git плох не столько сам по себе, сколько потому, что создает у пользователя иллюзии.

***** ()
[#] Ответ на: комментарий от Reset 04.10.2011 17:18:12  

> Посмотрел man и сразу углядел стандартный гитовкий косяк

Это стандартный комплекс фанов хг. Считают, что система команд меркуриала не нуждается в чтении манов. Обычно, такие аргументы идут в ход, когда по функционалу крыть нечем и остается: "а у меня шарик — зеленый".

** ()
[#] Ответ на: комментарий от baverman 06.10.2011 2:06:35  

> Это стандартный комплекс фанов хг. Считают, что система команд меркуриала не нуждается в чтении манов.

Комплекс насчет манов - у фанатов git, потому что они не могут сделать вообще ничего без чтения манов %) А Mercurial просто расширил всем привычный набор команд SVN специфичными DVCS-вещами. А mq - это практически quilt.

***** ()
[#] Ответ на: комментарий от tailgunner 06.10.2011 2:26:54  

> А Mercurial просто расширил всем привычный набор команд SVN

Угу. Только не говори, что любой может просто вот так сесть и начать работать как с свн. Команды это дело привычки, дело десятое. Проблема в том, что для гита надо по особому руки выворачивать и наслаждаться болью.

** ()
[#] Ответ на: комментарий от baverman 06.10.2011 2:36:09  

> Только не говори, что любой может просто вот так сесть и начать работать как с свн.

Мне хватило clone, честно. И дело даже не в том, можно ли совсем без манов, или придется что-то почитать - я согласен учиться чему-то новому, если оно реально необходимо, но интерфейс git специально сделан непохожим на SVN из-за тараканов в голове Линуса.

***** ()