Jump to content
Korean Random
WildFrag

Merge конфигов

Recommended Posts

А есть какое-то средство для merge конфигов? А то утомляет каждый патч брать dafault конфиг и переносить в него все свои настройки коих уже не так и мало, ведь посути надо просто распарсить default конфиг и затем из моего конфига перенести все значения которые есть, а все что не найдено в моем конфиге оставить без изменений.

Программы типа winmerge и прочие diff утилиты помогают далеко не всегда.

Share this post


Link to post

Short link
Share on other sites

1) копируем папку default и называем её <nickname>

2) в xvm.xc прописываем путь к конфигу ${"<nickname>/@xvm.xc":"."}

3) вносим туда все необходимые правки

4) после патча копируем файл из пункта 2 и свою папку <nickname> в новую папку с модами

5) ???????

6) PROFIT!!!111

Share this post


Link to post

Short link
Share on other sites

А если в новом патче в конфиг xvm были введены новые переменные то переписыванием своего конфига я их просто потеряю, а хочется именно взять полный default от текущей версии и объединить его с моим конфигом от прошлого патча, таким образом я не потеряю в новом конфиге новые переменные, тот же sound.xc из текущего xvm и так далее.

Share this post


Link to post

Short link
Share on other sites

А если в новом патче в конфиг xvm были введены новые переменные то переписыванием своего конфига я их просто потеряю, а хочется именно взять полный default от текущей версии и объединить его с моим конфигом от прошлого патча, таким образом я не потеряю в новом конфиге новые переменные, тот же sound.xc из текущего xvm и так далее.

есть прога Sublime Text + плагин Compare Side-By-Side для него, хорошая прога использовал чисто для сравнения и дополнения своего конфига

http://www.koreanrandom.com/forum/topic/23605-sublime-text-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B9/

Share this post


Link to post

Short link
Share on other sites

А если в новом патче в конфиг xvm были введены новые переменные то переписыванием своего конфига я их просто потеряю, а хочется именно взять полный default от текущей версии и объединить его с моим конфигом от прошлого патча, таким образом я не потеряю в новом конфиге новые переменные, тот же sound.xc из текущего xvm и так далее.

отслеживаем ченджлоги, дописываем, как это делают все

Share this post


Link to post

Short link
Share on other sites

Да вобщем-то и сам так делаю, но задумываюсь написать более интеллектуальный merge. Чтобы всегда можно было бы загнать свой конфиг в полный default от новой версии, ну и дальше по changelog конечно все равно придется пройтись, но там обычно уже работы минимум.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Если знакомы с git'ом (или любой другой cvs), то merge делается относительно легко.

 

1. Сначала надо создать репозиторий с оригинальным конфигом, пусть будет ветвь (master).

2. Далее создаём новую ветвь (my-config), вносим свои правки. Коммитим.

3. Когда выходит новая версия xvm, то перекючаемся на ветвь master и копируем все файлы от новой версии xvm'a в наш репозиторий и коммитим (теперь master указывает на этот коммит). Переключаемся на нашу ветвь (my-config) и делаем rebase относительно master'a.

 

Однако всё равно приходится вручную просматривать изменения, без этого никак. Но тут diff спасает.

Можно написать шелл, который это всё будет делать более-менее автоматизировано.

Edited by norkas

Share this post


Link to post

Short link
Share on other sites

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

Ну и затем просто смотрим что изменилось в патче и капельку подтачиваем руками если есть необходимость.

Share this post


Link to post

Short link
Share on other sites

В Delphi и XML я сильнее чем в линухах и гитах, я все по старинке сабвершеном :)

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...