Skip to content

Commit 0bbe1c1

Browse files
jeqoclaude
andcommitted
refactor(sync): move sync tooling to root inkless-sync directory
- Rename scripts/sync/ to inkless-sync/ at repository root - Update all internal path references - Update build.gradle RAT exclusions - Add link to sync tooling from docs/inkless/README.md This makes the tooling easier to find and clearly identifies it as inkless-specific rather than generic sync tooling. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 417c5d3 commit 0bbe1c1

17 files changed

+44
-41
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ if (repo != null) {
308308
'dump-schema-compose.yml',
309309
'inkless-benchmarks/**',
310310
'tests/kafkatest/tests/inkless/**',
311-
'scripts/sync/**',
311+
'inkless-sync/**',
312312
// end of inkless ignored files
313313
'licenses/*',
314314
'**/generated/**',

docs/inkless/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ See [Releases](RELEASES.md) for available versions.
4949
- [Releases](RELEASES.md) - Artifacts released (binaries and docker images)
5050
- [Glossary](GLOSSARY.md) - Definitions of Inkless-specific terms and concepts
5151

52+
### Development & Maintenance
53+
- [Upstream Sync Tooling](../../inkless-sync/README.md) - Scripts for syncing with Apache Kafka upstream
54+
5255
> **Note:** Configuration and metrics documentation is provided in reStructuredText (.rst) format as it is auto-generated by Kafka's documentation tooling. Other documentation uses Markdown (.md) for easier editing.
5356
5457
### Important Notes About Auto-Generated Documentation
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ cd ../inkless-sync-20260205
3535

3636
# Create .sync directory and copy session template
3737
mkdir -p .sync
38-
cp scripts/sync/SYNC-SESSION-TEMPLATE.md .sync/SESSION.md
38+
cp inkless-sync/SYNC-SESSION-TEMPLATE.md .sync/SESSION.md
3939
```
4040

4141
#### Step 2: Preview & Categorize (15 min)
@@ -173,7 +173,7 @@ To test this strategy in a clean context:
173173
2. **Setup tracking**
174174
```bash
175175
mkdir -p .sync
176-
cp scripts/sync/SYNC-SESSION-TEMPLATE.md .sync/SESSION.md
176+
cp inkless-sync/SYNC-SESSION-TEMPLATE.md .sync/SESSION.md
177177
```
178178

179179
3. **Run sync following this plan**
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ I need to sync inkless with upstream Apache Kafka.
1111
1212
Target: [commit SHA, tag, or "trunk" for latest]
1313
14-
Please follow the sync process documented in scripts/sync/:
14+
Please follow the sync process documented in inkless-sync/:
1515
1. Create a worktree with branch sync/upstream-YYYYMMDD
1616
2. Preview and categorize conflicts
1717
3. Resolve conflicts following CONFLICT-RESOLUTION-STRATEGY.md
@@ -20,9 +20,9 @@ Please follow the sync process documented in scripts/sync/:
2020
6. Run tests
2121
2222
Reference files:
23-
- scripts/sync/CONFLICT-RESOLUTION-STRATEGY.md
24-
- scripts/sync/ACTION-PLAN.md
25-
- scripts/sync/SYNC-SESSION-TEMPLATE.md
23+
- inkless-sync/CONFLICT-RESOLUTION-STRATEGY.md
24+
- inkless-sync/ACTION-PLAN.md
25+
- inkless-sync/SYNC-SESSION-TEMPLATE.md
2626
2727
Start by reading these files and setting up the worktree.
2828
```
File renamed without changes.
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -38,31 +38,31 @@ The sync process follows the [Versioning Strategy](../../docs/inkless/VERSIONING
3838

3939
```bash
4040
# Sync with latest apache/kafka trunk
41-
./scripts/sync/upstream-sync.sh
41+
./inkless-sync/upstream-sync.sh
4242
```
4343

4444
### Sync Before New Kafka Version
4545

4646
```bash
4747
# Sync to the commit just before a version tag (e.g., before 4.3)
48-
./scripts/sync/upstream-sync.sh --before-version 4.3
48+
./inkless-sync/upstream-sync.sh --before-version 4.3
4949
```
5050

5151
### Dry Run (Preview)
5252

5353
```bash
5454
# See what would happen without making changes
55-
./scripts/sync/upstream-sync.sh --dry-run
55+
./inkless-sync/upstream-sync.sh --dry-run
5656
```
5757

5858
### Release Branch Sync
5959

6060
```bash
6161
# List available upstream release tags
62-
./scripts/sync/release-sync.sh inkless-4.0 --list-tags
62+
./inkless-sync/release-sync.sh inkless-4.0 --list-tags
6363

6464
# Sync inkless-4.0 to Apache Kafka 4.0.1
65-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1
65+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1
6666
```
6767

6868
For detailed release sync workflow, see [RELEASE-SYNC-GUIDE.md](RELEASE-SYNC-GUIDE.md).
@@ -71,13 +71,13 @@ For detailed release sync workflow, see [RELEASE-SYNC-GUIDE.md](RELEASE-SYNC-GUI
7171

7272
```bash
7373
# Check how far behind main is from upstream trunk
74-
./scripts/sync/sync-status.sh main
74+
./inkless-sync/sync-status.sh main
7575

7676
# Check release branch status
77-
./scripts/sync/sync-status.sh inkless-4.0
77+
./inkless-sync/sync-status.sh inkless-4.0
7878

7979
# Check all branches
80-
./scripts/sync/sync-status.sh --all
80+
./inkless-sync/sync-status.sh --all
8181
```
8282

8383
### Branch Consistency Check
@@ -86,39 +86,39 @@ Check if inkless commits from main have been cherry-picked to release branches:
8686

8787
```bash
8888
# Check inkless-4.0 consistency with main
89-
./scripts/sync/branch-consistency.sh inkless-4.0
89+
./inkless-sync/branch-consistency.sh inkless-4.0
9090

9191
# Show missing commits with cherry-pick commands
92-
./scripts/sync/branch-consistency.sh inkless-4.0 --missing
92+
./inkless-sync/branch-consistency.sh inkless-4.0 --missing
9393
```
9494

9595
### Create New Release Branch
9696

9797
```bash
9898
# Create inkless-4.2 from upstream 4.2.0 tag (when available)
99-
./scripts/sync/create-release-branch.sh 4.2
99+
./inkless-sync/create-release-branch.sh 4.2
100100

101101
# Create from a release candidate tag
102-
./scripts/sync/create-release-branch.sh 4.2 --from-tag 4.2.0-rc3
102+
./inkless-sync/create-release-branch.sh 4.2 --from-tag 4.2.0-rc3
103103

104104
# Create from upstream branch HEAD (before final release)
105-
./scripts/sync/create-release-branch.sh 4.2 --from-branch
105+
./inkless-sync/create-release-branch.sh 4.2 --from-branch
106106

107107
# Preview what would happen
108-
./scripts/sync/create-release-branch.sh 4.2 --dry-run
108+
./inkless-sync/create-release-branch.sh 4.2 --dry-run
109109
```
110110

111111
### Cherry-pick to Release Branches
112112

113113
```bash
114114
# Cherry-pick all missing inkless commits to inkless-4.0
115-
./scripts/sync/cherry-pick-to-release.sh inkless-4.0
115+
./inkless-sync/cherry-pick-to-release.sh inkless-4.0
116116

117117
# Preview what would be cherry-picked
118-
./scripts/sync/cherry-pick-to-release.sh inkless-4.0 --dry-run
118+
./inkless-sync/cherry-pick-to-release.sh inkless-4.0 --dry-run
119119

120120
# Cherry-pick specific commits
121-
./scripts/sync/cherry-pick-to-release.sh inkless-4.0 abc123 def456
121+
./inkless-sync/cherry-pick-to-release.sh inkless-4.0 abc123 def456
122122
```
123123

124124
## How It Works (Main Sync)
@@ -150,7 +150,7 @@ Check if inkless commits from main have been cherry-picked to release branches:
150150
## File Structure
151151

152152
```
153-
scripts/sync/
153+
inkless-sync/
154154
├── upstream-sync.sh # Main branch sync script
155155
├── release-sync.sh # Release branch sync script
156156
├── sync-status.sh # Check sync status vs upstream
@@ -256,7 +256,7 @@ If the script reports manual conflicts:
256256

257257
This script is designed to be run by an automated agent (e.g., Claude):
258258

259-
1. Agent runs `./scripts/sync/upstream-sync.sh`
259+
1. Agent runs `./inkless-sync/upstream-sync.sh`
260260
2. If manual conflicts: Agent reports to human via PR/issue
261261
3. If compilation errors: Agent attempts fixes, commits separately
262262
4. If test failures: Agent analyzes and fixes or reports
@@ -269,8 +269,8 @@ The structured commit approach makes it easy to:
269269

270270
## Related Documentation
271271

272-
- [Versioning Strategy](../../docs/inkless/VERSIONING-STRATEGY.md)
273-
- [Inkless README](../../docs/inkless/README.md)
272+
- [Versioning Strategy](../docs/inkless/VERSIONING-STRATEGY.md)
273+
- [Inkless README](../docs/inkless/README.md)
274274
- [Release Sync Guide](RELEASE-SYNC-GUIDE.md)
275275
- [Conflict Resolution Strategy](CONFLICT-RESOLUTION-STRATEGY.md)
276276
- [AI Agent Prompts](AGENT-PROMPTS.md)
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Examples:
2323
See what upstream releases are available:
2424

2525
```bash
26-
./scripts/sync/release-sync.sh inkless-4.0 --list-tags
26+
./inkless-sync/release-sync.sh inkless-4.0 --list-tags
2727
```
2828

2929
Output:
@@ -45,24 +45,24 @@ INFO: There are 76 commits available to sync (from 4.0.0 to 4.0.1)
4545
Before syncing, preview what conflicts might occur:
4646

4747
```bash
48-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --dry-run
48+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --dry-run
4949
```
5050

5151
### Sync to a Tag
5252

5353
Sync to a specific upstream release:
5454

5555
```bash
56-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1
56+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1
5757
```
5858

5959
### Sync to HEAD (Unreleased Fixes)
6060

6161
For critical fixes that haven't been released yet:
6262

6363
```bash
64-
./scripts/sync/release-sync.sh inkless-4.0 --to-head --dry-run
65-
./scripts/sync/release-sync.sh inkless-4.0 --to-head
64+
./inkless-sync/release-sync.sh inkless-4.0 --to-head --dry-run
65+
./inkless-sync/release-sync.sh inkless-4.0 --to-head
6666
```
6767

6868
## Prerequisites
@@ -85,7 +85,7 @@ git fetch apache --tags
8585

8686
1. **Check current state**:
8787
```bash
88-
./scripts/sync/release-sync.sh inkless-4.0 --list-tags
88+
./inkless-sync/release-sync.sh inkless-4.0 --list-tags
8989
```
9090

9191
2. **Create a worktree** (recommended for isolation):
@@ -97,12 +97,12 @@ git fetch apache --tags
9797

9898
3. **Preview conflicts**:
9999
```bash
100-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1 --dry-run
100+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1 --dry-run
101101
```
102102

103103
4. **Perform sync**:
104104
```bash
105-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1
105+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1
106106
```
107107

108108
5. **Resolve conflicts** (if any):
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ I need to sync the inkless release branch with an upstream Apache Kafka release.
1919
2020
## Steps
2121
22-
1. **Discovery**: Run `./scripts/sync/release-sync.sh inkless-4.0 --list-tags` to see available upstream tags
22+
1. **Discovery**: Run `./inkless-sync/release-sync.sh inkless-4.0 --list-tags` to see available upstream tags
2323
2424
2. **Create worktree**: Create a dedicated worktree for this sync:
2525
```bash
@@ -34,12 +34,12 @@ I need to sync the inkless release branch with an upstream Apache Kafka release.
3434
4. **Dry run**: Preview conflicts:
3535
```bash
3636
cd ../inkless-sync-4.0.1
37-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1 --dry-run
37+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1 --dry-run
3838
```
3939

4040
5. **Execute sync**: Run the actual sync:
4141
```bash
42-
./scripts/sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1
42+
./inkless-sync/release-sync.sh inkless-4.0 --to-tag 4.0.1 --branch inkless-4.0-sync-4.0.1
4343
```
4444

4545
6. **Resolve conflicts**: When conflicts occur, resolve them following these patterns:

0 commit comments

Comments
 (0)