Jump to content
Sign in to follow this  
aiRoNe

Используем Mercurial для хранения текущей конфигурации P3D

Recommended Posts

Всем привет. Очень часто мы сталкиваемся с необходимостью обновлять P3D. При каждой новой версии нам приходится как минимум устанавливать свежий клиент. От версии к версии меняется структура файла Prepar3d.cfg (какие-то параметры появляются, какие-то уходят), причем какие-то параметры мы часто изменяем сами (в т.ч. через GUI настройки) и не хотели бы терять их при чистке P3D или переустановке винды. Плюс ко всему, часто бывает так, что по какой-то непонятной причине P3D начинает вести себя как-то не так. В всех этих случаях хотелось бы иметь возможность отслеживать изменения во всех конфигурационных файлах (prepar3d.cfg, scenery.cfg, terrain.cfg), чтобы, так скажем, не терять situation awareness над своими конфигами. Вот такую инфу можно получить по файлу Prepar3d.cfg при обновлении клиента P3D, если папку %APPDATA%\Roaming\Lockheed Martin\Prepar3D v5 добавить в локальный репозиторий. 

2021-01-11_17-04-24.jpg

  • Upvote 1

Share this post


Link to post
Share on other sites

Теперь гайд, как это сделать.

1. Устанавливаем tortoiseHG https://tortoisehg.bitbucket.io/

2. запускаем tortoiseHG, заходим в "file - new repository", выбираем папку (ctrl+V или browse).  расположение основных конфигов (под каждую папку создаем свой репозиторий) :
- prepar3d.cfg: %APPDATA%\Roaming\Lockheed Martin\Prepar3D v5
- terrain.cfg, scenery.cfg: %PROGRAMDATA%\Lockheed Martin\Prepar3D v5
для примера я создаю тестовый репозиторий в папке C:\Users\roman\Desktop\test, в котором у меня лежит всего один файл copy_web_extensions.bat

2021-01-11_17-17-55.jpg

3. теперь мы готовы сделать первый коммит. выделяем все файлы, которые хотим отслеживать (выделим всё), указываем комментарий и нажимаем commit

2021-01-11_17-23-16.jpg

4. пробуем поменять что-то в отслеживаемом файле и посмотреть, как это выглядит в tortoiseHG. чтобы зафиксировать изменения, делаем очередной коммит (в коммит попадают только те файлы, которые вы отметили флагом)

2021-01-11_17-28-03.jpg

йцуйцу.jpg

5. теперь откатываем изменения. выделяем предыдущий коммит, жмем ПКМ и выбираем Update. файл откатится до нужного состояния

123.jpg

final.jpg

6. можем посмотреть историю по файлу. сделаем еще один коммит для наглядности:

apple.jpg

7. теперь выберем другой режим отображения файлов - "отображать все файлы" (в данном случае необязательно, но в будущем у вас может не быть нужного файла в данном окне, т.к. окно может отображать либо все файлы, либо только измененные файлы). заходим в "file history/annotate" и видим все отслеживаемые изменения данного файла:

hist1.jpg

hist.gif

Edited by aiRoNe

Share this post


Link to post
Share on other sites

хотите гит - юзайте гит. а по поводу органайзера я не знаю, что вам сказать, я им не пользуюсь.

Share this post


Link to post
Share on other sites

репозиторий можно выгрузить в public. например, для этого вполне подойдет бесплатный sourceForge.

1. создаем репозиторий в sourceforge

sf1.jpg

sf2.jpg

2. копируем информацию для .hgrc (для ssh скорее всего должен быть установлен ssh-клиент по типу putty; если у вас нет - выбирайте https)

sf3.jpg

 

файл .hgrc находится в папке .hg вашего репозитория 

sf4.jpg

3. после того, как добавили path в .hgrc, нажимаете "push outgoing changes to" (в подсказке высветится адрес удаленного репозитория, который вы добавили в paths\default файла .hgrc), нажимаем "yes", вводим пароль - и ваш репозиторий выгрузится в public, после чего его можно будет склонировать откуда угодно и когда угодно, но только не сейчас, т.к. sourceforge в данный момент выдает ошибку 500 при попытке clone :(((sf99.jpg

sf5.jpg

вот так выглядит наш репозиторий в веб-интерфейсе sourceforge:

sf6.jpg

 

sf88.jpg

 

Edited by aiRoNe

Share this post


Link to post
Share on other sites

вот так выглядит папка репозитория для fslabs. очень удобно отслеживать изменения между обновлениями. переключаться между версиями можно в один клик (через update). например, обновился до v126 и что-то пошло не так - встал через update на коммит предыдущей версии и проверил, все ли в порядке, т.к. все файлы вернулись к тому состоянию, которое тобой уже было облетано.

345.jpg

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

sf10.jpg

Edited by aiRoNe

Share this post


Link to post
Share on other sites
On 1/11/2021 at 6:26 PM, aiRoNe said:

после чего его можно будет склонировать откуда угодно и когда угодно, но только не сейчас, т.к. sourceforge в данный момент выдает ошибку 500 при попытке clone :(((

не могу понять, как использовать клонирование по https. но я понял, как склонировать репу по ssh. для этого нужно сгенерировать пару ключей и сохранить public key в account setttings - ssh settings на сайте.

для того, чтобы сгенерировать ключ (да и вообще, чтобы работал ssh), я установил putty. ключ я сгенерировал по инструкции c sourceforge (https://p.sf.net/sourceforge/sshkey). сначала генерируем пару ключей через puttygen: выбираем тип Ed25519, нажимаем Generate, создаем мышкой рандомность. далее в comment указываем USERNAME@shell.sourceforge.net (USERNAME - ваш логин на sourceforge).

puttygen.jpg

public key.jpg

далее public key отправляем на сайт sourceforge в ssh settings.

site1.jpg

site2.jpg

после этого заходим в tortoiseHG, заходим в file - clone, указываем адрес ssh в source (адрес начинается с ssh://, т.е. hg clone в этом поле tortoiseHG - лишнее) и нажимаем clone. вводим пароль и репозиторий склонирован (он появится в вашем workbench со всей историей изменения). представьте, что вы произвели этот маневр после переустановки винды. важное замечание: security key на сайте обновится не сразу.

hg.jpg

довольно сложный гайд получился, всем спасибо.

Edited by aiRoNe

Share this post


Link to post
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.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...