LINUX.ORG.RU
ФорумTalks

Mercurial 3.5

 , ,


0

1

Под большим секретом в прошлую пятницу вышел Mercurial 3.5. Главное изменение - включение по умолчанию сетевого протокола bundle2, операции push и pull теперь атомарные (шёл 2015 год). Ещё включили по умолчанию расширение progress, хотя фиг знает, зачем оно нужно. Наконец-то дропнули поддержку питона 2.4 и 2.5. Из полезного - в hgignore добавили include. Также исправлены старые ошибки и добавлены новые.

>>> Подробности

в hgignore добавили include

Этот hgignore такое говно, что я даже не знаю. В git оно как-то лучше реализовано, ИМХО.

Kilte ★★★★★ ()

Из полезного - в hgignore добавили include

Херасе. После того, как Мэтт похерил мой патч лет 8 назад, я думал, что он в принципе против такой фичи.

дропнули поддержку питона 2.4 и 2.5

Печально.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)

почему не на глагне?

Sahas ★★★★★ ()

операции push и pull теперь атомарные

Транзакционные. Атомарными они станут, когда в процессоры соответствующие команды добавят.

buddhist ★★★★★ ()
Ответ на: комментарий от buddhist

Транзакционные. Атомарными они станут, когда в процессоры соответствующие команды добавят.

Значит, A в ACID использовать нельзя?

tailgunner ★★★★★ ()
Ответ на: комментарий от littlechris

И ещё, не знаю, может у меня hg какой-то неправильный, но я так и не понял, как заставить его игнорировать только определённый путь. Например есть две директории с именем data, одна в корне, другая где-то в недрах репозитория. Так вот он игнорирует обе директории, когда должен игнорировать только ту, что в корне. Хотя у остальных работает как надо. Сколько искал, ничего похожего не нашёл. Хоть в исходники лезь и сам смотри, что не так.

Kilte ★★★★★ ()
Последнее исправление: Kilte (всего исправлений: 1)
Ответ на: комментарий от Kilte

Тогда ХЗ. А зачем? Если .keep хранится в репозитории, его статус отображается вне зависимости от .hgignore, а если не хранится... в чем юзкейс?

tailgunner ★★★★★ ()
Ответ на: комментарий от buddhist

Атомарными они станут, когда в процессоры соответствующие команды добавят.

Ну тогда уж не в процессор, а в ФС.

orm-i-auga ★★★★★ ()
Ответ на: комментарий от orm-i-auga

Но в ФС их тоже можно будет прервать насильственным переключением контекста.

buddhist ★★★★★ ()
Ответ на: комментарий от orm-i-auga

Гит уже научился в regexp в .gitignore?

А зачем? Как по мне, достаточно того, что есть. Ни разу не возникало необходимости в регулярках.

Kilte ★★★★★ ()
Ответ на: комментарий от tailgunner

в чем юзкейс?

Держать пустую директорию под контролем версий например.

Или есть директория со всяким мусором, нужно проигнорить всё, кроме какого-то файла. И вписывать кучу правил и следить за этим сложнее, чем написать две строчки.

Kilte ★★★★★ ()
Ответ на: комментарий от Kilte

в чем юзкейс?

Держать пустую директорию под контролем версий например.

Окей. А зачем для этого исключать .keep из .hgignore? .keep пустой и не меняется, а если и зменится - это будет видно в выводе hg st.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

На практике конечно это так. Мелочь.

Но в идеале, я считаю, то, что лежит под контролем версий, не должно быть проигнорировано, иначе зачем тогда вообще эти пляски с игнором? Давайте тогда по умолчанию всё считать проигнорированным, а что надо, юзеры сами добавят.

Kilte ★★★★★ ()
Ответ на: комментарий от HeipaVai1o

Вот смотрю я в игнор, ага, там всё, что есть в logs, игнорируется, но в репозитории какого-то хрена делает logs/.keep. Что за магия такая? ИМХО, лучше когда всё происходит явно. В конце-концов, питонокодеры как никто другой должны понимать, что явное лучше неявного.

Kilte ★★★★★ ()
Ответ на: комментарий от HeipaVai1o

А если это сделал не я? И вообще только начал знакомство с mercurial. В документации это где-то отражено? Я не нашёл.

Kilte ★★★★★ ()
Ответ на: комментарий от Kilte

Но в идеале, я считаю, то, что лежит под контролем версий, не должно быть проигнорировано

Вот смотрю я в игнор, ага, там всё, что есть в logs, игнорируется, но в репозитории какого-то хрена делает logs/.keep. Что за магия такая?

Т.е. ты сначала хочешь, чтобы ignore не влияло на уже добавленное в репозиторий, а потом не хочешь этого. Что-то тут не так.

orm-i-auga ★★★★★ ()
Ответ на: комментарий от orm-i-auga

Просто для меня не очевидно такое поведение. Конечно я могу сделать так и в git, но он хотя бы предупреждает, что файл проигнорен и если действительно хочешь добавить его, то используй -f. Но я лучше поправлю .gitignore, чем воспользуюсь этим.

Kilte ★★★★★ ()
Ответ на: комментарий от Kilte

Вот смотрю я в игнор, ага, там всё, что есть в logs, игнорируется, но в репозитории какого-то хрена делает logs/.keep.

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

littlechris ★★★ ()
Ответ на: комментарий от littlechris

Если файл в репозитории, то правки не игнорятся. Меркуриал - не гит.

HeipaVai1o ()

Matt забыл мержнуть stable с default после релиза что ли?

Sorcerer ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.