Skip to content

Lizerium/LizeriumFindChanges

Repository files navigation

🧩 Lizerium Find Changes 🧩

Lizerium Find Changes β€” a console tool for comparing two versions of a file structure, generating a change list, and preparing a ready-to-deploy update folder.

🌐 Language: πŸ‡·πŸ‡Ί Russian | βœ… πŸ‡ΊπŸ‡Έ English (current)

Note

This project is part of the Lizerium ecosystem and belongs to the following direction:

If you are looking for related engineering and supporting tools, start there.

Table of Contents


Overview

Important

The goal of this project is to automatically detect differences between two versions of a file structure and prepare update content.

The tool compares:

  • directories
  • files
  • new items
  • deleted items
  • modified files
  • moved / reused files

After analysis, it can:

  • generate a manifest.json
  • build an update folder with only required files
  • extract files missing from the new version

Features

  • πŸ“ Directory comparison
  • πŸ“„ Detection of new, deleted, and modified files
  • πŸ” Identification of moved or reused files
  • πŸ— Generation of ready-to-use update folder
  • πŸ“œ manifest.json generation
  • 🧩 Extraction of files missing in the new version
  • ⚑ Simple configuration via config.json

Technologies

  • C#
  • .NET
  • Console Application
  • System.Text.Json

How It Works

The program uses two directories:

  • Before β€” previous version
  • After β€” new version

It determines:

  • added folders
  • removed folders
  • changed files
  • newly created files
  • deleted files
  • files with identical content but different paths (Retranslate)

Then it generates:

  • a manifest.json with all changes
  • an update folder with the correct structure

Configuration Structure

The program uses:

config.json

If it does not exist, it will be created automatically.

Example config.json

{
	"Before": "C:\\Builds\\OldVersion",
	"After": "C:\\Builds\\NewVersion",
	"Version": "99.3.12",
	"IsMissingFilesMode": false
}

Parameters

  • Before β€” path to previous version
  • After β€” path to new version
  • Version β€” output update folder name
  • IsMissingFilesMode β€” mode switch

Modes

1. Update Generation Mode

If:

"IsMissingFilesMode": false

The program:

  1. Compares Before and After
  2. Generates manifest.json
  3. Creates an update folder using Version
  4. Copies only required changed / new / reused files

Output:

  • manifest.json
  • update folder, e.g.:
99.3.12/

2. Missing Files Extraction Mode

If:

"IsMissingFilesMode": true

The program:

  1. Compares Before and After
  2. Finds files present in old version but missing in new
  3. Copies them into:
MISSING/

Useful for:

  • file loss analysis
  • incomplete build detection
  • recovery
  • manual inspection

Output Structure

manifest.json

Contains a list of changes.

Change types:

  • Added
  • Deleted
  • Changed
  • Unchanged
  • Retranslate

Update Folder

Example:

99.3.12/

Contains only files required for deployment.


Missing Files Folder

If enabled:

MISSING/

Example Scenario

Input

C:\Builds\Freelancer_99.3.11
C:\Builds\Freelancer_99.3.12

Config

{
	"Before": "C:\\Builds\\Freelancer_99.3.11",
	"After": "C:\\Builds\\Freelancer_99.3.12",
	"Version": "99.3.12",
	"IsMissingFilesMode": false
}

Result

manifest.json
99.3.12/

These can be used for packaging and deployment (e.g., in Lizerium Launcher).


Other

Tip

Used as part of the update preparation pipeline in the Lizerium ecosystem.

Important

For accurate results, compare finalized builds, not intermediate working directories.


Author

Developed and maintained by Dvurechensky Part of the Lizerium ecosystem