You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rdpwrap/docs/SUBMODULE-UPDATE.md

2.9 KiB

Submodule Update Guide

This repository includes one git submodule (with nested sub-submodules):

Submodule Upstream Current tag
src-csharp/RDPOffsetFinder llccd/RDPWrapOffsetFinder v0.9
src-csharp/RDPOffsetFinder/zydis zyantific/zydis (pinned by upstream)
src-csharp/RDPOffsetFinder/zydis/dependencies/zycore zyantific/zycore-c (pinned by upstream)

The nested zydis and zycore submodule commits are controlled by llccd's repository — update only the outer submodule and the inner ones follow automatically.


Cloning with submodules

# Full clone (recommended for builds)
git clone --recurse-submodules https://github.com/sjackson0109/rdpwrap

# If you already cloned without --recurse-submodules:
git submodule update --init --recursive

Checking current submodule version

git submodule status --recursive
# Expected output (one line per submodule):
#  68da37acab6593c329776644944f55695a131731 src-csharp/RDPOffsetFinder (v0.9)
#  5a68f639e4f01604cc7bfc8d313f583a8137e3d3 src-csharp/RDPOffsetFinder/zydis (...)
#  fb69402566a15a719e5df7a64a3db95105590b7e src-csharp/RDPOffsetFinder/zydis/dependencies/zycore (...)

Updating to a new upstream release

Do this only when a new tagged release of llccd/RDPWrapOffsetFinder is published and you have verified that the new version produces correct INI sections for a known Windows build.

# 1. Fetch all tags from upstream
cd src-csharp/RDPOffsetFinder
git fetch --tags origin

# 2. List available tags to find the new release
git tag --list --sort=-version:refname | Select-Object -First 10

# 3. Check out the desired tag
git checkout <new-tag>        # e.g. v1.0

# 4. Update nested submodules to match the new tag's references
git submodule update --init --recursive

# 5. Return to repo root and record the new pointer
cd ../..
git add src-csharp/RDPOffsetFinder
git commit -m "chore: update RDPOffsetFinder submodule to <new-tag>"
git push

Verifying the updated submodule builds

# From repo root — builds x64 and x86 offset finder binaries
cd src-csharp/RDPOffsetFinder

cmake -B build-x64 -A x64 .
cmake --build build-x64 --config Release

cmake -B build-x86 -A Win32 .
cmake --build build-x86 --config Release

Or trigger the build-offsetfinder.yml workflow on your push branch to let CI validate it.


Rollback

If the update causes build failures, revert the submodule pointer:

git revert HEAD        # creates a revert commit
git push

Or manually:

cd src-csharp/RDPOffsetFinder
git checkout v0.9      # previous known-good tag
cd ../..
git add src-csharp/RDPOffsetFinder
git commit -m "chore: rollback RDPOffsetFinder submodule to v0.9"
git push