Это не ответ на вопрос, а возможное альтернативное решение описанной проблемы.
Я не знаком с файлами Visual Studio 2008 или Designer, но натолкнулся на решение, в котором я хотел сохранить в git файлы, сгенерированные другой программой. Порядок строк в некоторых файлах не имеет значения вообще. В других файлах порядок не был важен, но простая сортировка была неадекватной, потому что она содержала вложенные структуры данных.
Мое решение состояло в том, чтобы использовать фильтры в git для изменения содержимого файла до его фиксации. Это настроено в двух частях. Сначала необходимо назначить фильтр файлам, используя файл .gitattributes
.
*.list filter=sort
Далее поведение фильтра необходимо определить в файле конфигурации. Это можно сделать либо в вашей пользовательской конфигурации ~/.gitconfig
, либо в конфигурации репозитория .git/config
. Это только локально и не передается другим автоматически в рамках репо, поэтому, если вы хотите, чтобы другие тоже это делали, вам нужно сообщить им.
[filter "sort"]
clean = sort
smudge = cat
Результатом этого простого фильтра стало то, что когда файлы были переданы в репозиторий, а не в произвольном порядке строк из создавшей их программы, они сортировались в алфавитно-цифровом порядке, и в них появлялись только добавления, удаления и изменения. различия.
Теперь я упомянул, что у меня есть два разных типа файлов, с которыми работают два: простой и сложный. Для сложного, который содержал вложенные типы данных (точнее, таблицы Lua), я создал (с большой помощью кого-то другого) сценарий для чтения содержимого файла, сортировки каждого вложенного раздела и вывода отсортированного результата без изменения поведения когда данные были позже использованы.