Open FranchukAndrei opened 1 month ago
если часто нужно сравнивать между собой две ветки одного проекта
а чем это лучше штатной команды сравнения с веткой?
У меня есть другой кейс. Предположим у меня 3 версии на поддержке, мне нужно исправить старый баг или добавить критичную фичу, во все три версии, при этом место исправление менялось в каждой из версий, т.е. я не могу выполнить простой черрипик, мне нужно адаптировать исправление под каждую версию.
В таком сценарии удобно рядом друг с другом держать одновременно несколько версий одного проекта, видеть их различия, возможно даже параллельно отладить один и тот же сценарий (например, ещё один сценарий, надо понять почему сломалось в новой версии, а в старой работало. Стек большой и запутанный глазами не увидеть, нужно отладчиком пройти один и тот же сценарий).
Сейчас такие сценарии приходится решать разными ворскпейсами, что уменьшает удобство.
если часто нужно сравнивать между собой две ветки одного проекта
а чем это лучше штатной команды сравнения с веткой?
Виноват, пропустил эту кнопку. Ожидал, что если такая возможность появится, то будет еще один пункт на выбор "с чем сравнивать" в обычной форме сравнения. Кейс со сравнением двух веток между собой можно вычеркнуть. Буду знать, спасибо! Остается работа с несколькими репозиториями, где проекты добавлены в виде вложенных, и лежат в одинаковых папках.
Описание проблемы
Сейчас, имя проекта в рабочей области, это по сути имя папки, в которой найден файл .project. Таким образом, нельзя импортировать проект, даже если это проект из другого гит-репозитория, если папка вложенного проекта называется одинаково. В одной рабочей области с двумя такими проектами работать не получится. Его просто нельзя импортировать.
Описание решения проблемы
Предлагаю отвязаться от имени проекта в области, как от имени каталога, и перейти хотя бы на имя, заданное в .project файле. Тогда в случае острой необходимости, можно будет даже изменить имя проекта в файле, и убрать его из под версионного контроля с помощью ussume-anchanged или skipworktree, и таким образом получить возможность иметь два проекта в одной рабочей области.
Upd: Возможно, в качестве идентификатора можно использовать путь к файлу .project относительно воркспейса. Т.е. не только имя одной папки, а целый относительный путь. А уже в качестве представления проекта - имя из .project.
Дополнительная информация
Такой лайф-хак может быть полезен, если часто нужно сравнивать между собой две ветки одного проекта (не мерджить, а просто сравнивать). Можно конечно выгружать все в файлы и загружать в качестве независимых проектов, но удобнее дважды клонировать репозиторий, сделать чекаут в каждом из них нужной ветки, из каждоно импортировать проект в рабочую область и сравнивать два проекта между собой. Кроме того, несколько версий одной и той же конфигурации могут находиться в разных гит-репозиториях. Но при этом, структура проекта, включая название корневых папок проекта, у них может быть одинаковое. При текущем подходе импортировать их в одну рабочую область не получится, а это иногда могло бы быть удобным.