| Parent: Operations Topics | Documentation Index |
This guide describes how to manage upstream tracking for external libraries used by Daqster.
This section documents Daqster-specific changes in both forks.
Added embed/de-embed lifecycle for node widgets. Reason: Daqster uses richer QWidget-based node panels and needs explicit control over embedded vs detached behavior.
Added hover fronting behavior for detached windows. Reason: users need quick window fronting when detached node panels overlap scene items.
Added guard and lightweight fronting path to avoid unnecessary window reposition/flag churn. Reason: default upstream behavior did not fully cover window manager edge cases in Daqster workflow.
Unified CMake C++ standard to C++17. Reason: Daqster and its plugins use C++17, so this removes mixed-target build incompatibilities.
Added Qt5/Qt6 dual-major linking and dependency gating in Daqster integration. Reason: keep one code line that builds in both Qt5 and Qt6.
Refined conditional inclusion of QtCoinTrader and qtrest targets based on available Qt modules. Reason: avoid partial or false-positive target enablement when required Qt modules are missing.
Use live git commands instead of static ahead/behind numbers:
# NodeEditor
cd src/external_libs/nodeeditor
git fetch upstream
git rev-list --left-right --count HEAD...upstream/master
# QtRest
cd src/external_libs/qtrest_lib/qtrest
git fetch upstream
git rev-list --left-right --count HEAD...upstream/master
Use tools/build_helpers/manage_upstream.sh for common operations:
# Show current status
./tools/build_helpers/manage_upstream.sh status
# Check for updates
./tools/build_helpers/manage_upstream.sh check
# Fetch latest upstream changes
./tools/build_helpers/manage_upstream.sh fetch
# Merge upstream changes
./tools/build_helpers/manage_upstream.sh merge nodeeditor
./tools/build_helpers/manage_upstream.sh merge qtrest
./tools/build_helpers/manage_upstream.sh merge all
# Cherry-pick a specific commit
./tools/build_helpers/manage_upstream.sh cherry-pick <commit-hash>
./tools/build_helpers/manage_upstream.sh check
./tools/build_helpers/manage_upstream.sh fetch
# NodeEditor
cd src/external_libs/nodeeditor
git log HEAD..upstream/master --oneline -10
git diff HEAD..upstream/master --stat
# QtRest
cd src/external_libs/qtrest_lib/qtrest
git log HEAD..upstream/master --oneline -10
git diff HEAD..upstream/master --stat
./tools/build_helpers/manage_upstream.sh merge qtrest
./tools/build_helpers/manage_upstream.sh cherry-pick <commit-hash>
cd src/external_libs/nodeeditor
git checkout -b integration-upstream-$(date +%Y%m%d)
git merge upstream/master
git status
git diff
git add .
git commit
git cherry-pick --abort
# or
git add .
git cherry-pick --continue
git remote -v
git remote add upstream <upstream-url>