Информация об изменениях

Сообщение Re[39]: Git wtf?.. от 09.02.2016 21:54

Изменено 09.02.2016 22:01 alexzzzz

Здравствуйте, ·, Вы писали:

·>Как локальная закладка будет отслеживать голову именованной ветки? Никак.


Не понял. Задача локальной закладки, которую я устанавливаю в своём репозитории, — показывать мне место, на котором я остановился. Если кто-то закоммитит в мою ветку, закладка продолжит показывать мне ревизию, на которой остановился именно я.

Петя поставил локальную закладку, сделал коммит, пуш, и ушел домой. Маша посмотрела на это дело, внесла исправление, закомимтила, запушила и ушла домой. Петя утром пришёл, сделал pull, увидел место, на котором он остановился вчера, и ещё увидел, что Маша кое-что добавила:



Петя просмотрел Машины изменения, ему они понравились. Он передвинул закладку на Машину ревизию и продолжил работу с неё:



Или не понравились. "Что за фигня?" — подумал Петя и продолжил работу с того места, на котором остановился в прошлый раз.



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

·>Не могут. Проблема ровно та же: "Be aware that there is only one namespace for bookmarks — it is advised to prefix your local-only bookmarks to avoid conflicts with other users. "

Допустим, у Маши с Петей отсутствует фантазия. Маша закоммитила, поставила синхронизируемую закладку, запушила. Петя закоммитил у себя и поставил закладку с таким же именем. Попробовал её синхронизировать, но оказалось, что закладка с таким именем уже есть. Петя переименовал свою закладку, и они жили долго и счастливо.

A>>Могут под свои задачи именованные ветки завести, если захотят или потребуется зачем-то.

·>Ветки же уже заведены — с именем "experiment". Надо будет кому-то из них ветку переименовывать, переписывая историю. А от этой истории уже могут другие зависимости существовать...

В худшем случае, если Маша с Петей две недели пахали локально в ветках с одинаковым названием, успели наделать много-много ревизий, даже успели засветить где-то на стороне хеши этих ревизий, а потом одновременно запушили на сервер, так что ни у кого из них не было шанса заранее узнать о совпадении имён ― ну, значит, пока будет две ветки "experiment". Хоть три. Можно их сразу закрыть и продолжить с новыми внятными названиями. Можно повесить закладки. Можно оставить как есть.

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

A>>Маша и Петя спокойно обошлись без именованных веток, без bookmarks, без тэгов, вообще без всего.

·>Т.к. при совпадении имён веток, Маша может вытянуть ветку Пети под другим именем, скажем, назвать её в своём репозитории как petya_dev. По смыслу — ветки dev у Пети и у Маши — независимые истории.

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

A>>·> Почему их нужно насильно сталкивать лишь по тому, что у них случайно совпали имена — хз.

A>>Я думаю, слово "нужно" неверно. Устраивает базовый функционал анонимных веток? Пользуешься им. Испытываешь неудобства? Можешь использовать закладки и/или именованные ветки.
·>Как выяснилось выше — не могу, проблему они не решают.

Чем больше перечитываю, тем больше не понимаю, о чём речь. Что конкретно ты не можешь? Hg ругается на совпадение имён, виснет, теряет данные или не даёт коммитить, пушить и т.д.? Ему пофиг.

·>Вот. Уже внезапно стало три анонимные ветки, различать их стало ещё сложнее.


Там всё было подписано.

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

A>>Если он знает, что ему так будет неудобно, он может озаботиться, например, использованием синхронизируемых закладок. Тогда он тоже увидит три головные ревизии, но они будут подписаны:
·>Та же проблема, имена закладок глобальны, да ещё и пушатся без спросу — думай тщательно каждый раз когда даёшь название.

Можно тщательно думать, давая имена. Можно не думать, давая имена. Можно не давать имена. Имена не на что не влияют.

Я так понял из разговоров, что Гит заставляет давать каждой головной ревизии уникальные в пределах репозитория имена. Но поскольку головных ревизий бывает много, а слов в языке мало, то названия совершенно разных веток в разных репозиториях периодически совпадают. И тогда чтобы влить в один репозиторий изменения из другого, иногда приходится чужие ветки у себя переименовывать. И тогда в разных репозиториях совершенно разные ветки могут называться одинаково, а одна и та же ветка может называться по-разному. Отсюда, наверное, такая любовь и ненависть к именам?
Здравствуйте, ·, Вы писали:

·>Как локальная закладка будет отслеживать голову именованной ветки? Никак.


Не понял. Задача локальной закладки, которую я устанавливаю в своём репозитории, — показывать мне место, на котором я остановился. Если кто-то закоммитит в мою ветку, закладка продолжит показывать мне ревизию, на которой остановился именно я.

Петя поставил локальную закладку, сделал коммит, пуш, и ушел домой. Маша посмотрела на это дело, внесла исправление, закомимтила, запушила и ушла домой. Петя утром пришёл, сделал pull, увидел место, на котором он остановился вчера, и ещё увидел, что Маша кое-что добавила:



Петя просмотрел Машины изменения, ему они понравились. Он передвинул закладку на Машину ревизию и продолжил работу с неё:



Или не понравились. "Что за фигня?" — подумал Петя и продолжил работу с того места, на котором остановился в прошлый раз.



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

·>Не могут. Проблема ровно та же: "Be aware that there is only one namespace for bookmarks — it is advised to prefix your local-only bookmarks to avoid conflicts with other users. "

Допустим, у Маши с Петей отсутствует фантазия. Маша закоммитила, поставила синхронизируемую закладку, запушила. Петя закоммитил у себя и поставил закладку с таким же именем. Попробовал её синхронизировать, но оказалось, что закладка с таким именем уже есть. Петя переименовал свою закладку, и они жили долго и счастливо.

A>>Могут под свои задачи именованные ветки завести, если захотят или потребуется зачем-то.

·>Ветки же уже заведены — с именем "experiment". Надо будет кому-то из них ветку переименовывать, переписывая историю. А от этой истории уже могут другие зависимости существовать...

В худшем случае, если Маша с Петей две недели пахали локально в ветках с одинаковым названием, успели наделать много-много ревизий, даже успели засветить где-то на стороне хеши этих ревизий, а потом одновременно запушили на сервер, так что ни у кого из них не было шанса заранее узнать о совпадении имён ― ну, значит, пока будет две ветки "experiment". Хоть три. Можно их сразу закрыть и продолжить с новыми внятными названиями. Можно повесить закладки. Можно оставить как есть.

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

A>>Маша и Петя спокойно обошлись без именованных веток, без bookmarks, без тэгов, вообще без всего.

·>Т.к. при совпадении имён веток, Маша может вытянуть ветку Пети под другим именем, скажем, назвать её в своём репозитории как petya_dev. По смыслу — ветки dev у Пети и у Маши — независимые истории.

Вот на самом деле зачем Маше Петина ветка под другим именем? По смыслу это одна ветка, у неё есть своё имя (если есть), есть своя история, и по всё что Маша с Петей в ней сообща сделают, должно быть частью этой истории.

A>>·> Почему их нужно насильно сталкивать лишь по тому, что у них случайно совпали имена — хз.

A>>Я думаю, слово "нужно" неверно. Устраивает базовый функционал анонимных веток? Пользуешься им. Испытываешь неудобства? Можешь использовать закладки и/или именованные ветки.
·>Как выяснилось выше — не могу, проблему они не решают.

Чем больше перечитываю, тем больше не понимаю, о чём речь. Что конкретно ты не можешь? Hg ругается на совпадение имён, виснет, теряет данные или не даёт коммитить, пушить и т.д.? Ему пофиг.

·>Вот. Уже внезапно стало три анонимные ветки, различать их стало ещё сложнее.


Там всё было подписано.

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

A>>Если он знает, что ему так будет неудобно, он может озаботиться, например, использованием синхронизируемых закладок. Тогда он тоже увидит три головные ревизии, но они будут подписаны:
·>Та же проблема, имена закладок глобальны, да ещё и пушатся без спросу — думай тщательно каждый раз когда даёшь название.

Можно тщательно думать, давая имена. Можно не думать, давая имена. Можно не давать имена. Имена не на что не влияют.

Я так понял из разговоров, что Гит заставляет давать каждой головной ревизии уникальные в пределах репозитория имена. Но поскольку головных ревизий бывает много, а слов в языке мало, то названия совершенно разных веток в разных репозиториях периодически совпадают. И тогда чтобы влить в один репозиторий изменения из другого, иногда приходится чужие ветки у себя переименовывать. И тогда в разных репозиториях совершенно разные ветки могут называться одинаково, а одна и та же ветка может называться по-разному. Отсюда, наверное, такая любовь и ненависть к именам?