mirror of https://github.com/stascorp/rdpwrap
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.
102 lines
2.9 KiB
102 lines
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](https://github.com/llccd/RDPWrapOffsetFinder) | `v0.9` |
|
|
| `src-csharp/RDPOffsetFinder/zydis` | [zyantific/zydis](https://github.com/zyantific/zydis) | (pinned by upstream) |
|
|
| `src-csharp/RDPOffsetFinder/zydis/dependencies/zycore` | [zyantific/zycore-c](https://github.com/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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```powershell
|
|
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](https://github.com/llccd/RDPWrapOffsetFinder) is published** and you have verified that the new version produces correct INI sections for a known Windows build.
|
|
|
|
```powershell
|
|
# 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
|
|
|
|
```powershell
|
|
# 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:
|
|
|
|
```powershell
|
|
git revert HEAD # creates a revert commit
|
|
git push
|
|
```
|
|
|
|
Or manually:
|
|
|
|
```powershell
|
|
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
|
|
```
|