GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - makr-code/DynamicFileBinder: DynamicFileBinder ist ein C++17-Tool zum sicheren Verwalten von Dateibindungen (physische Kopie oder symbolische Verknuepfung) inklusive Governance-Regeln, Error-Stack, CLI/GUI und Daemon-Betrieb.

BranchesTags
Open more actions menu

Latest commit

 

History

9 Commits
9 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.sccache
.sccache
 
 
ai_context
ai_context
 
 
ai_working
ai_working
 
 
build-ci
build-ci
 
 
build
build
 
 
include
include
 
 
src
src
 
 
tests
tests
 
 
vcpkg @ 127402f
vcpkg @ 127402f
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
ROADMAP.md
ROADMAP.md
 
 
SECURITY.md
SECURITY.md
 
 
SUPPORT.md
SUPPORT.md
 
 
esc_idea
esc_idea
 
 
vcpkg.json
vcpkg.json
 
 

Repository files navigation

DynamicFileBinder

DynamicFileBinder ist ein C++17-Tool zum sicheren Verwalten von Dateibindungen (physische Kopie oder symbolische Verknuepfung) inklusive Governance-Regeln, Error-Stack, CLI/GUI und Daemon-Betrieb.

Highlights

  • Sichere Bind-Operationen mit Staging, Integritaetspruefung und Rollback
  • Governance-Engine fuer BindPhysical/BindSymbolic/Defer/Reject
  • Zentraler Error-Stack mit Domain/Severity/Error-Codes
  • GUI mit wxWidgets (verpflichtend) und CLI/Daemon-Kommandos
  • CTest-Suite mit Integrations- und Fehler-Matrix-Tests

Projektstatus

  • Version: 0.1.x (aktive Entwicklung)
  • Build-System: CMake + vcpkg Manifest
  • GUI: wxWidgets

Voraussetzungen

  • CMake >= 3.20
  • Visual Studio 2026 Build Tools oder Visual Studio 2026
  • Git mit Submodule-Unterstuetzung

Schnellstart (Windows)

1. Repository klonen

git clone --recurse-submodules https://github.com/makr-code/DynamicFileBinder.git
cd DynamicFileBinder

Wenn bereits geklont:

git submodule update --init --recursive

2. vcpkg bootstrappen

.\vcpkg\bootstrap-vcpkg.bat

3. Konfigurieren, bauen, testen

cmake --preset vs-debug-vcpkg
cmake --build --preset build-debug
ctest --preset test-debug

Hinweis: wxWidgets ist Pflichtabhaengigkeit. Wenn vcpkg oder das Manifest nicht verfuegbar ist, stoppt die Konfiguration bewusst.

GitHub Workflows / CI

Fuer GitHub Actions keine festen Build-Pfade oder IDE-spezifischen Generatoren verwenden. Dieses Repo nutzt dafuer dedizierte CI-Presets:

cmake --preset ci-windows
cmake --build --preset build-ci-debug
ctest --preset test-ci-debug

Die Presets sind relativ zum Workspace aufgebaut und damit in lokalen Runs und Workflows konsistent nutzbar. Der Workflow ist in zwei Jobs geteilt:

  • smoke-windows: schnelle Kernregression (CTest-Label smoke)
  • edge-windows: Tiefen-/Mengen-Checks plus Edge-Tests (CTest-Label edge)

Zusatzworkflow:

  • cmake-multi-platform: manueller Matrix-Check (Windows/Linux/macOS) per workflow_dispatch

Nutzung

GUI starten

.\bin\Debug\dynamic_file_binder.exe --ui

CLI (Beispiele)

dynamic_file_binder <source> [link] [symlink|hardlink|physical]
dynamic_file_binder --revert
dynamic_file_binder --cleanup
dynamic_file_binder --daemon-status

Tests

Die Testabdeckung umfasst u. a.:

  • Error- und Governance-Entscheidungen
  • Datenbank-Roundtrip inkl. Versionsmismatch
  • CRUD- und Copy/Link-Flows
  • Zwei-Ordner-Sync-Lifecycle
  • State-Storm mit absichtlich fehlerhaften Sequenzen
  • Multi-Folder-Soak-Test (folder A/B/C) fuer Langzeitstabilitaet

Direktlauf:

ctest --test-dir build -C Debug --output-on-failure

Soak-Test gezielt starten:

ctest --test-dir build -C Debug -R core.longrun --output-on-failure

Label-basierte Teilmengen:

ctest --test-dir build -C Debug -L smoke --output-on-failure
ctest --test-dir build -C Debug -L edge --output-on-failure

Manueller 10-Minuten-Langlauf:

ctest --test-dir build -C Debug -R soak.longrun_10min --output-on-failure

Stress-Datensaetze fuer Mengen-/Tiefen-Edge-Tests erzeugen:

pwsh ./tests/stress/generate_stress_dataset.ps1 -Profile quick -Clean
pwsh ./tests/stress/generate_stress_dataset.ps1 -Profile medium -Clean
pwsh ./tests/stress/generate_stress_dataset.ps1 -Profile edge-depth -Clean

Verfuegbare Profile:

  • quick: kurzer lokaler Lauf
  • medium: regelmaessiger CI/Regression-Lauf
  • heavy: Langzeit-Soak mit hoher Last
  • edge-depth: Fokus auf tiefe Pfade nahe OS-Grenzen
  • edge-count: Fokus auf sehr viele Dateien

Hinweis: Generierte Daten liegen unter tests/stress_generated/ und sind in .gitignore ausgeschlossen.

Dokumentation

  • Changelog: CHANGELOG.md
  • Roadmap: ROADMAP.md
  • Contributing: CONTRIBUTING.md
  • Security: SECURITY.md
  • Support: SUPPORT.md
  • Code of Conduct: CODE_OF_CONDUCT.md

Governance und Sicherheit

Dieses Projekt priorisiert Datenkonsistenz. Bei Integritaets- oder Versionskonflikten wird ein Merge/Overwrite nicht stillschweigend ausgefuehrt, sondern explizit mit Fehlercode abgebrochen.

Lizenz

Siehe LICENSE.

About

DynamicFileBinder ist ein C++17-Tool zum sicheren Verwalten von Dateibindungen (physische Kopie oder symbolische Verknuepfung) inklusive Governance-Regeln, Error-Stack, CLI/GUI und Daemon-Betrieb.

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.