1C-Company / 1c-edt-issues

Пространство для пожеланий и обсуждения ошибок 1C:Enterprise Development Tools
https://edt.1c.ru/
140 stars 9 forks source link

Настраиваемое имя проекта в рабочей области #1559

Open FranchukAndrei opened 1 month ago

FranchukAndrei commented 1 month ago

Описание проблемы

Сейчас, имя проекта в рабочей области, это по сути имя папки, в которой найден файл .project. Таким образом, нельзя импортировать проект, даже если это проект из другого гит-репозитория, если папка вложенного проекта называется одинаково. В одной рабочей области с двумя такими проектами работать не получится. Его просто нельзя импортировать.

Описание решения проблемы

Предлагаю отвязаться от имени проекта в области, как от имени каталога, и перейти хотя бы на имя, заданное в .project файле. Тогда в случае острой необходимости, можно будет даже изменить имя проекта в файле, и убрать его из под версионного контроля с помощью ussume-anchanged или skipworktree, и таким образом получить возможность иметь два проекта в одной рабочей области.

Upd: Возможно, в качестве идентификатора можно использовать путь к файлу .project относительно воркспейса. Т.е. не только имя одной папки, а целый относительный путь. А уже в качестве представления проекта - имя из .project.

Дополнительная информация

Такой лайф-хак может быть полезен, если часто нужно сравнивать между собой две ветки одного проекта (не мерджить, а просто сравнивать). Можно конечно выгружать все в файлы и загружать в качестве независимых проектов, но удобнее дважды клонировать репозиторий, сделать чекаут в каждом из них нужной ветки, из каждоно импортировать проект в рабочую область и сравнивать два проекта между собой. Кроме того, несколько версий одной и той же конфигурации могут находиться в разных гит-репозиториях. Но при этом, структура проекта, включая название корневых папок проекта, у них может быть одинаковое. При текущем подходе импортировать их в одну рабочую область не получится, а это иногда могло бы быть удобным.

adminimusRU commented 1 month ago

если часто нужно сравнивать между собой две ветки одного проекта

а чем это лучше штатной команды сравнения с веткой?

RedMammoth commented 1 month ago

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

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

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

FranchukAndrei commented 1 month ago

если часто нужно сравнивать между собой две ветки одного проекта

а чем это лучше штатной команды сравнения с веткой?

Виноват, пропустил эту кнопку. Ожидал, что если такая возможность появится, то будет еще один пункт на выбор "с чем сравнивать" в обычной форме сравнения. Кейс со сравнением двух веток между собой можно вычеркнуть. Буду знать, спасибо! Остается работа с несколькими репозиториями, где проекты добавлены в виде вложенных, и лежат в одинаковых папках.