-
Notifications
You must be signed in to change notification settings - Fork 1
Migration Guide
Navigation: Home > API & Integration > Migration
This guide helps ThemisDB contributors and maintainers transition from the historical branch model to the canonical edition-based branch strategy where:
-
develop= Active integration branch (protected) -
community= Community release branch (protected) -
minimal= Minimal release branch (protected) -
enterprise= Enterprise release branch (protected) -
hyperscaler= Hyperscaler release branch (protected) -
military= Military release branch (protected)
Legacy names:
-
main= historical Community release branch; replaced bycommunity -
millitary= historical misspelling; replaced bymilitary
- Effective Date: 2026-06-15
- Grace Period: 2 weeks for open PRs and documentation/workflow cleanup
- Full Enforcement: after repository settings, protections, and references are aligned
# Clone repository
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB
# Confirm develop exists and is current
git checkout develop
git pull origin develop
# Create community from historical main if needed
git checkout main
git pull origin main
git checkout -b community
git push origin community
# Create military from historical millitary if needed
# Only if the canonical military branch does not already exist
git checkout millitary
git pull origin millitary
git checkout -b military
git push origin militaryFollow the canonical model from BRANCHING_STRATEGY.md:
- Protect
communitybranch (strict release rules) - Protect
developbranch (integration rules) - Protect
minimal,enterprise,hyperscaler, andmilitaryrelease branches - Set up CODEOWNERS
- Configure required status checks
Update GitHub Actions workflows to trigger on canonical branches.
Before:
on:
push:
branches: [main]
pull_request:
branches: [main]After:
on:
push:
branches: [develop, community]
pull_request:
branches: [develop]For Community Release Workflows:
on:
push:
tags: ['v*']
branches: [community]- Post announcement in GitHub Discussions
- Update README.md with branching strategy link
- Send notification to all active contributors
- Update contribution guidelines
- Create pinned issue explaining the change
Announcement Template:
## π’ Important: Canonical Edition Branching Strategy
Starting 2026-06-15, ThemisDB is adopting a canonical edition-based branch strategy.
### Key Changes
- β
`develop` remains the default branch for PRs
- β
`community` replaces `main` as the Community release branch
- β
`military` replaces historical `millitary`
- β
All feature branches should target `develop`
- β
Edition release work targets the matching edition branch
### What You Need to Do
1. Read [BRANCHING_STRATEGY.md](https://github.com/makr-code/ThemisDB/blob/develop/BRANCHING_STRATEGY.md)
2. Rebase open feature PRs to target `develop`
3. Retarget Community release PRs from `main` to `community`
4. Stop using `millitary` for new work
### Migration Guide
See [[MIGRATION_GUIDE.md|Migration-Guide]] for detailed instructions.
Questions? Reply to this discussion or open an issue with label `question`.For each open PR targeting a legacy branch:
-
mainβ decide whether it should targetdeveloporcommunity -
millitaryβ retarget tomilitary
Example message:
Hi @author,
We're transitioning to the canonical edition-based branching strategy.
Could you please update your PR target away from the legacy branch?
- Feature / bugfix work should target `develop`
- Community release work should target `community`
- Military release work should target `military`
Instructions: [MIGRATION_GUIDE.md](#for-contributors-with-open-prs)
Let me know if you need help!Test workflows on canonical branches:
# Test develop branch workflow
git checkout develop
git commit --allow-empty -m "test: Trigger CI"
git push origin develop
# Optionally test community workflow
git checkout community
git commit --allow-empty -m "test: Trigger community CI"
git push origin community- Watch for confusion or issues
- Provide quick support in Discussions
- Document common problems and solutions
- Update FAQ sections in branching documents
Update community, minimal, enterprise, hyperscaler, and military branch protections:
- β Include administrators
- β Require conversation resolution
- β All required status checks
- β No force pushes
- β No deletions
- Go to GitHub Settings β Branches
- Change default branch from legacy
maintodevelopif not already set - This ensures new clones and PRs default to
develop
After migration:
- mark
mainas legacy-only - mark
millitaryas legacy-only - disable new PRs against them where possible
- retain only as temporary migration references until fully retired
If you have an open PR targeting a legacy branch, update it as follows:
- Feature/bugfix work: retarget to
develop - Community release work: retarget to
community - Military release work: retarget to
military
- Go to your PR on GitHub
- Click Edit next to the base branch
- Change from the legacy target to the canonical target
- Click Update pull request
# 1. Update your local repository
git fetch origin
# 2. Switch to your feature branch
git checkout feature/your-feature
# 3. Rebase onto develop
git rebase origin/develop
# 4. Resolve any conflicts if they occur
# Edit conflicted files, then:
git add <resolved-files>
git rebase --continue
# 5. Force push (safe for your feature branch)
git push origin feature/your-feature --force-with-leaseFrom now on, always:
# 1. Clone repository
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB
# 2. Checkout develop
git checkout develop
# 3. Create feature branch
git checkout -b feature/my-new-feature
# 4. Make changes and commit
git add .
git commit -m "feat: Add new feature"
# 5. Push and create PR to develop
git push origin feature/my-new-feature# Correct
git checkout develop
git pull origin develop
git checkout -b feature/new-feature# Create hotfix from community
git checkout community
git pull origin community
git checkout -b hotfix/community/1.3.4-critical-bug
# Make fix
git commit -m "fix: Critical production bug"
# Create PR to community
git push origin hotfix/community/1.3.4-critical-bug
# After merging to community, also merge or cherry-pick to develop# Create release branch from develop
git checkout develop
git pull origin develop
git checkout -b release/community/v1.4.0
# Update version and notes
echo "1.4.0" > VERSION
# Commit and test
git commit -am "chore: Prepare community release v1.4.0"
git push origin release/community/v1.4.0
# After testing, merge to community
git checkout community
git merge --no-ff release/community/v1.4.0
git tag -a v1.4.0 -m "Release v1.4.0"
git push origin community --tagsSolution: GitHub may still default to a legacy branch until settings are updated. Change PR target manually:
- Click "Edit" next to base branch in PR
- Select
developfor feature work orcommunityfor Community release work - Resolve conflicts if needed after changing base
Solution:
Use military for all new work.
Treat millitary as historical-only during migration cleanup.
A: The new canonical edition strategy provides:
- β Clearer mapping between product editions and release lanes
- β
Less ambiguity than using
mainfor Community edition - β Safer release promotion and hotfix handling
- β Better automation and AI-agent alignment
- β Cleaner long-term governance for multiple editions
A: Nothing changes in history. main remains a historical branch reference during migration, but new Community release work should move to community.
A: No for new work. Use:
-
developfor normal implementation -
communityfor Community release work -
militaryfor Military release work - matching edition lanes for edition-specific release work
- GitHub Discussions: https://github.com/makr-code/ThemisDB/discussions
-
Migration Issues: Use label
branching-migration -
Urgent Help: Mention
@makr-codein discussions
- ../BRANCHING_STRATEGY.md - Canonical root strategy
- BRANCHING_STRATEGY_EN.md - Historical detailed English guide (needs ongoing alignment)
- ../RELEASE_STRATEGY.md - Release flow
- ../CONTRIBUTING.md - Contribution guidelines
- Confirm canonical release branches exist
- Configure branch protection for
community - Configure branch protection for
develop - Configure branch protection for
minimal,enterprise,hyperscaler,military - Set up CODEOWNERS file
- Update CI/CD workflows
- Post migration announcement
- Update documentation
- Contact open PR authors
- Test workflows on canonical branches
- Set
developas default branch - Freeze legacy
main/millitaryusage
- Read branching strategy documentation
- Update local development workflow
- Rebase open feature PRs to target
develop - Retarget Community release PRs to
communityif applicable - Stop using
millitaryfor new work - Ask questions if anything is unclear
Last Updated: 2026-06-15
Version: 2.0
Maintainer: ThemisDB Core Team
Questions? Open an issue with label branching-migration or ask in Discussions.
ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Home
- Hero Articles
- All Wiki Pages
- FAQ
- Edition Comparison
- Repository README
- Changelog
- Roadmap
- Versioning
- Integration Mapping
- Overview
- Readme
- Appendix D Feature Status
- Appendix E Incident Runbooks
- Appendix F AQL Cheatsheet
- Appendix G Configuration
- Appendix H Glossary
- Appendix I Troubleshooting
- Appendix Literatur
- Chapter 00 Genesis
- Chapter 01 Introduction
- Chapter 02 Architecture
- Chapter 03 Multimodel
- Chapter 04 Installation
- Chapter 05 Relational
- Chapter 06 Graph
- Chapter 07 Document
- Chapter 08 Storage Layer
- Chapter 08 Vector
- Chapter 09 Timeseries
- Chapter 10 Enterprise
- Chapter 11 Realtime
- Chapter 12 Computervision
- Chapter 13 Fulltext
- Chapter 14 Geospatial
- Chapter 15 Analytics
- Chapter 16 Ml
- Chapter 16 Sharding
- Chapter 17 LLM Integration
- Chapter 17 Scaling
- Chapter 18 HA
- Chapter 18 Ml
- Chapter 19 Monitoring
- Chapter 19 Monitoring Observability
- Chapter 20 Backup
- Chapter 20 Performance
- Chapter 21 Auth
- Chapter 21 Performance
- Chapter 22 Clients
- Chapter 22 Encryption
- Chapter 23 Testing Qa
- Chapter 24 Ai Ethics
- Chapter 25 Devops Infrastructure
- Chapter 26 Migration Legacy
- Chapter 27 Troubleshooting
- Chapter 28 AQL Reference
- Chapter 29 Analytics Process Mining
- Chapter 30 Deployment Operations
- Chapter 31 API Protocols
- Chapter 32 API Design Rest Principles
- Chapter 32 AQL Oop Implementation
- Chapter 33 Best Practices
- Chapter 34 Query Optimization
- Chapter 35 Data Modeling Patterns
- Chapter 36 Security Hardening
- Chapter 37 Ecosystem Integration
- Chapter 38 Observability Sre
- Chapter 39 Performance Tuning Cookbook
- Chapter 40 Data Governance Compliance
- Chapter 41 Hands On Labs
- Chapter 42 Docs Assistant Usage
- Chapter MVCC Hlc
- Cover
- Cover Book
- Index
- Preface
- Test Links Example
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Release Strategy
- CI Policy Gates Wave C
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Governance Policies Phase1
- GPU Self Hosted Runner Requirements
- Hardening Phase 1 2 Summary 2026 09 23
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase 1 Infrastructure Deployment
- Phase 1 Infrastructure Deployment Complete
- Phase 3 Baseline Capture
- Phase 3 Refinement Spec
- Phase 4 Sign Off And Closure
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Publish Workflow Audit 2026 09 23
- Query Module Status
- Readme
- Release Governance
- Release Promotion Gate Policy
- Release Validation Checklist
- Root Hygiene Policy
- SBOM Approved Versions
- Security Compliance Audit Report 2026 08 10
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Src Module Documentation Compliance 2026 09 20
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Wave C Implementation Plan
- Wave C Ml Exit Gate Sign Off
- Wave C Policy Gate Evidence
- Wiki Publish Tracking Guide
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- Architecture Generator Readme
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme
- Ai Metadata And Provenance
- Build / Test / CI
- Governance And Roadmap
- Developer Wiki Index
- Module Direct Doxygen Check
- Module Doxygen Baseline Summary
- Module Doxygen Batch
- Module Doxygen Coverage Summary
- Module Doxygen Smoke Summary
- Modules And Apis
- Retrieval Direct Doxygen Check
- Soll Ist Gap Summary
- Wiki Delta Report