@@ -54,12 +54,12 @@ Manager (collection-level) Cmd (per-entity)
5454| ` run(command, local_flags, quiet, cached) ` | Implemented | Run git branch command |
5555| ` checkout() ` | Implemented | Checkout this branch |
5656| ` create() ` | Implemented | Create this branch |
57- | ` delete(force) ` | ** Missing ** | ` -d ` / ` -D ` |
58- | ` rename(new_name, force) ` | ** Missing ** | ` -m ` / ` -M ` |
59- | ` copy(new_name, force) ` | ** Missing ** | ` -c ` / ` -C ` |
60- | ` set_upstream(upstream) ` | ** Missing ** | ` --set-upstream-to ` |
61- | ` unset_upstream() ` | ** Missing ** | ` --unset-upstream ` |
62- | ` track(remote_branch) ` | ** Missing ** | ` -t ` / ` --track ` |
57+ | ` delete(force) ` | Implemented | ` -d ` / ` -D ` |
58+ | ` rename(new_name, force) ` | Implemented | ` -m ` / ` -M ` |
59+ | ` copy(new_name, force) ` | Implemented | ` -c ` / ` -C ` |
60+ | ` set_upstream(upstream) ` | Implemented | ` --set-upstream-to ` |
61+ | ` unset_upstream() ` | Implemented | ` --unset-upstream ` |
62+ | ` track(remote_branch) ` | Implemented | ` -t ` / ` --track ` |
6363
6464#### CLI Flag → Python Parameter Mapping: GitBranchCmd Methods
6565
@@ -72,15 +72,15 @@ Manager (collection-level) Cmd (per-entity)
7272| ` unset_upstream() ` | ` git branch --unset-upstream ` | None |
7373| ` track(remote_branch) ` | ` git branch -t ` | ` remote_branch ` → ` -t {remote_branch} ` |
7474
75- ### GitBranchManager Enhancements Needed
75+ ### GitBranchManager Enhancements
7676
7777| Feature | Status | Description |
7878| ---------| --------| -------------|
79- | ` --all ` support | ** Missing ** | List all branches (local + remote) |
80- | ` --remotes ` support | ** Missing ** | List remote branches only |
81- | ` --merged ` filter | ** Missing ** | Filter merged branches |
82- | ` --no-merged ` filter | ** Missing ** | Filter unmerged branches |
83- | ` --verbose ` support | ** Missing ** | Show tracking info |
79+ | ` --all ` support | Implemented | List all branches (local + remote) |
80+ | ` --remotes ` support | Implemented | List remote branches only |
81+ | ` --merged ` filter | Implemented | Filter merged branches |
82+ | ` --no-merged ` filter | Implemented | Filter unmerged branches |
83+ | ` --verbose ` support | Implemented | Show tracking info |
8484
8585---
8686
@@ -117,9 +117,9 @@ Properties: `remote_name`, `fetch_url`, `push_url`
117117| ` prune(dry_run) ` | Implemented | Prune stale branches |
118118| ` get_url(push, _all) ` | Implemented | Get remote URL |
119119| ` set_url(url, old_url, push, add, delete) ` | Implemented | Set remote URL |
120- | ` set_branches(*branches, add) ` | ** Missing ** | ` set-branches ` |
121- | ` set_head(branch, auto, delete) ` | ** Missing ** | ` set-head ` |
122- | ` update(prune) ` | ** Missing ** | ` update ` |
120+ | ` set_branches(*branches, add) ` | Implemented | ` set-branches ` |
121+ | ` set_head(branch, auto, delete) ` | Implemented | ` set-head ` |
122+ | ` update(prune) ` | Implemented | ` update ` |
123123
124124#### CLI Flag → Python Parameter Mapping: Existing Methods
125125
@@ -131,7 +131,7 @@ Properties: `remote_name`, `fetch_url`, `push_url`
131131| ` get_url() ` | ` push=True ` → ` --push ` , ` _all=True ` → ` --all ` |
132132| ` set_url() ` | ` push=True ` → ` --push ` , ` add=True ` → ` --add ` , ` delete=True ` → ` --delete ` |
133133
134- #### CLI Flag → Python Parameter Mapping: Missing Methods
134+ #### CLI Flag → Python Parameter Mapping: Additional Methods
135135
136136| Method | Git CLI | Parameters → Flags |
137137| --------| ---------| -------------------|
@@ -141,9 +141,9 @@ Properties: `remote_name`, `fetch_url`, `push_url`
141141
142142---
143143
144- ## 3. GitStashCmd (Current) → GitStashManager / GitStashEntryCmd (Planned)
144+ ## 3. GitStashManager / GitStashEntryCmd
145145
146- ** Pattern Status** : Not implemented - needs refactoring
146+ ** Pattern Status** : Implemented
147147
148148### Current GitStashCmd
149149
@@ -161,13 +161,13 @@ Properties: `remote_name`, `fetch_url`, `push_url`
161161
162162| Method | Status | Description |
163163| --------| --------| -------------|
164- | ` __init__(path, cmd) ` | ** Planned ** | Constructor |
165- | ` run(command, local_flags) ` | ** Planned ** | Run git stash command |
166- | ` ls() ` | ** Planned ** | Returns ` QueryList[GitStashEntryCmd] ` |
167- | ` get(**kwargs) ` | ** Planned ** | Get single stash by filter |
168- | ` filter(**kwargs) ` | ** Planned ** | Filter stashes |
169- | ` push(message, path, patch, staged, keep_index, include_untracked) ` | ** Planned ** | Push to stash |
170- | ` clear() ` | ** Planned ** | Clear all stashes |
164+ | ` __init__(path, cmd) ` | Implemented | Constructor |
165+ | ` run(command, local_flags) ` | Implemented | Run git stash command |
166+ | ` ls() ` | Implemented | Returns ` QueryList[GitStashEntryCmd] ` |
167+ | ` get(**kwargs) ` | Implemented | Get single stash by filter |
168+ | ` filter(**kwargs) ` | Implemented | Filter stashes |
169+ | ` push(message, path, patch, staged, keep_index, include_untracked) ` | Implemented | Push to stash |
170+ | ` clear() ` | Implemented | Clear all stashes |
171171
172172#### CLI Flag → Python Parameter Mapping: ` push() `
173173
@@ -195,12 +195,12 @@ stash_pattern = r"stash@\{(?P<index>\d+)\}: On (?P<branch>[^:]+): (?P<message>.+
195195
196196| Method | Status | Description |
197197| --------| --------| -------------|
198- | ` __init__(path, index, branch, message, cmd) ` | ** Planned ** | Constructor |
199- | ` show(stat, patch) ` | ** Planned ** | Show stash diff |
200- | ` apply(index) ` | ** Planned ** | Apply without removing |
201- | ` pop(index) ` | ** Planned ** | Apply and remove |
202- | ` drop() ` | ** Planned ** | Delete this stash |
203- | ` branch(branch_name) ` | ** Planned ** | Create branch from stash |
198+ | ` __init__(path, index, branch, message, cmd) ` | Implemented | Constructor |
199+ | ` show(stat, patch) ` | Implemented | Show stash diff |
200+ | ` apply(index) ` | Implemented | Apply without removing |
201+ | ` pop(index) ` | Implemented | Apply and remove |
202+ | ` drop() ` | Implemented | Delete this stash |
203+ | ` branch(branch_name) ` | Implemented | Create branch from stash |
204204
205205#### CLI Flag → Python Parameter Mapping: GitStashEntryCmd Methods
206206
@@ -216,7 +216,7 @@ stash_pattern = r"stash@\{(?P<index>\d+)\}: On (?P<branch>[^:]+): (?P<message>.+
216216
217217## 4. GitSubmoduleCmd (Current) → GitSubmoduleManager / GitSubmoduleCmd (Planned)
218218
219- ** Pattern Status** : Not implemented - needs refactoring
219+ ** Pattern Status** : Implemented
220220
221221### Current GitSubmoduleCmd
222222
@@ -232,15 +232,15 @@ stash_pattern = r"stash@\{(?P<index>\d+)\}: On (?P<branch>[^:]+): (?P<message>.+
232232
233233| Method | Status | Description |
234234| --------| --------| -------------|
235- | ` __init__(path, cmd) ` | ** Planned ** | Constructor |
236- | ` run(command, local_flags) ` | ** Planned ** | Run git submodule command |
237- | ` ls() ` | ** Planned ** | Returns ` QueryList[GitSubmoduleCmd] ` |
238- | ` get(**kwargs) ` | ** Planned ** | Get single submodule by filter |
239- | ` filter(**kwargs) ` | ** Planned ** | Filter submodules |
240- | ` add(url, path, branch, name, force) ` | ** Planned ** | Add submodule |
241- | ` foreach(command, recursive) ` | ** Planned ** | Execute in each submodule |
242- | ` sync(recursive) ` | ** Planned ** | Sync submodule URLs |
243- | ` summary(commit, files, cached) ` | ** Planned ** | Summarize changes |
235+ | ` __init__(path, cmd) ` | Implemented | Constructor |
236+ | ` run(command, local_flags) ` | Implemented | Run git submodule command |
237+ | ` ls() ` | Implemented | Returns ` QueryList[GitSubmoduleCmd] ` |
238+ | ` get(**kwargs) ` | Implemented | Get single submodule by filter |
239+ | ` filter(**kwargs) ` | Implemented | Filter submodules |
240+ | ` add(url, path, branch, name, force) ` | Implemented | Add submodule |
241+ | ` foreach(command, recursive) ` | Implemented | Execute in each submodule |
242+ | ` sync(recursive) ` | Implemented | Sync submodule URLs |
243+ | ` summary(commit, files, cached) ` | Implemented | Summarize changes |
244244
245245#### CLI Flag → Python Parameter Mapping: GitSubmoduleManager Methods
246246
@@ -257,14 +257,14 @@ Properties: `name`, `path`, `url`, `branch`, `sha`
257257
258258| Method | Status | Description |
259259| --------| --------| -------------|
260- | ` __init__(path, name, submodule_path, url, branch, cmd) ` | ** Planned ** | Constructor |
261- | ` init() ` | ** Planned ** | Initialize this submodule |
262- | ` update(init, force, checkout, rebase, merge, recursive) ` | ** Planned ** | Update this submodule |
263- | ` deinit(force) ` | ** Planned ** | Unregister submodule |
264- | ` set_branch(branch) ` | ** Planned ** | Set branch |
265- | ` set_url(url) ` | ** Planned ** | Set URL |
266- | ` status() ` | ** Planned ** | Show status |
267- | ` absorbgitdirs() ` | ** Planned ** | Absorb gitdir |
260+ | ` __init__(path, name, submodule_path, url, branch, cmd) ` | Implemented | Constructor |
261+ | ` init() ` | Implemented | Initialize this submodule |
262+ | ` update(init, force, checkout, rebase, merge, recursive) ` | Implemented | Update this submodule |
263+ | ` deinit(force) ` | Implemented | Unregister submodule |
264+ | ` set_branch(branch) ` | Implemented | Set branch |
265+ | ` set_url(url) ` | Implemented | Set URL |
266+ | ` status() ` | Implemented | Show status |
267+ | ` absorbgitdirs() ` | Implemented | Absorb gitdir |
268268
269269#### CLI Flag → Python Parameter Mapping: GitSubmoduleCmd Methods
270270
@@ -282,18 +282,18 @@ Properties: `name`, `path`, `url`, `branch`, `sha`
282282
283283## 5. GitTagManager / GitTagCmd (New)
284284
285- ** Pattern Status** : Not implemented
285+ ** Pattern Status** : Implemented
286286
287287### Planned GitTagManager (Collection-level)
288288
289289| Method | Status | Description |
290290| --------| --------| -------------|
291- | ` __init__(path, cmd) ` | ** Planned ** | Constructor |
292- | ` run(command, local_flags) ` | ** Planned ** | Run git tag command |
293- | ` ls(pattern, sort, contains, no_contains, merged, no_merged) ` | ** Planned ** | Returns ` QueryList[GitTagCmd] ` |
294- | ` get(**kwargs) ` | ** Planned ** | Get single tag by filter |
295- | ` filter(**kwargs) ` | ** Planned ** | Filter tags |
296- | ` create(name, ref, message, annotate, sign, force) ` | ** Planned ** | Create tag |
291+ | ` __init__(path, cmd) ` | Implemented | Constructor |
292+ | ` run(command, local_flags) ` | Implemented | Run git tag command |
293+ | ` ls(pattern, sort, contains, no_contains, merged, no_merged) ` | Implemented | Returns ` QueryList[GitTagCmd] ` |
294+ | ` get(**kwargs) ` | Implemented | Get single tag by filter |
295+ | ` filter(**kwargs) ` | Implemented | Filter tags |
296+ | ` create(name, ref, message, annotate, sign, force) ` | Implemented | Create tag |
297297
298298#### CLI Flag → Python Parameter Mapping: ` create() `
299299
@@ -324,10 +324,10 @@ Properties: `tag_name`, `ref`, `message` (for annotated)
324324
325325| Method | Status | Description |
326326| --------| --------| -------------|
327- | ` __init__(path, tag_name, ref, message, cmd) ` | ** Planned ** | Constructor |
328- | ` show() ` | ** Planned ** | Show tag details |
329- | ` delete() ` | ** Planned ** | Delete tag (` -d ` ) |
330- | ` verify() ` | ** Planned ** | Verify signed tag (` -v ` ) |
327+ | ` __init__(path, tag_name, ref, message, cmd) ` | Implemented | Constructor |
328+ | ` show() ` | Implemented | Show tag details |
329+ | ` delete() ` | Implemented | Delete tag (` -d ` ) |
330+ | ` verify() ` | Implemented | Verify signed tag (` -v ` ) |
331331
332332#### CLI Flag → Python Parameter Mapping: GitTagCmd Methods
333333
@@ -341,19 +341,19 @@ Properties: `tag_name`, `ref`, `message` (for annotated)
341341
342342## 6. GitWorktreeManager / GitWorktreeCmd (New)
343343
344- ** Pattern Status** : Not implemented
344+ ** Pattern Status** : Implemented
345345
346346### Planned GitWorktreeManager (Collection-level)
347347
348348| Method | Status | Description |
349349| --------| --------| -------------|
350- | ` __init__(path, cmd) ` | ** Planned ** | Constructor |
351- | ` run(command, local_flags) ` | ** Planned ** | Run git worktree command |
352- | ` ls() ` | ** Planned ** | Returns ` QueryList[GitWorktreeCmd] ` |
353- | ` get(**kwargs) ` | ** Planned ** | Get single worktree by filter |
354- | ` filter(**kwargs) ` | ** Planned ** | Filter worktrees |
355- | ` add(path, branch, detach, checkout, lock, force) ` | ** Planned ** | Add worktree |
356- | ` prune(dry_run, verbose, expire) ` | ** Planned ** | Prune worktrees |
350+ | ` __init__(path, cmd) ` | Implemented | Constructor |
351+ | ` run(command, local_flags) ` | Implemented | Run git worktree command |
352+ | ` ls() ` | Implemented | Returns ` QueryList[GitWorktreeCmd] ` |
353+ | ` get(**kwargs) ` | Implemented | Get single worktree by filter |
354+ | ` filter(**kwargs) ` | Implemented | Filter worktrees |
355+ | ` add(path, branch, detach, checkout, lock, force) ` | Implemented | Add worktree |
356+ | ` prune(dry_run, verbose, expire) ` | Implemented | Prune worktrees |
357357
358358#### CLI Flag → Python Parameter Mapping: ` add() `
359359
@@ -390,12 +390,12 @@ Properties: `worktree_path`, `branch`, `head`, `locked`, `prunable`
390390
391391| Method | Status | Description |
392392| --------| --------| -------------|
393- | ` __init__(path, worktree_path, branch, head, locked, prunable, cmd) ` | ** Planned ** | Constructor |
394- | ` remove(force) ` | ** Planned ** | Remove worktree |
395- | ` lock(reason) ` | ** Planned ** | Lock worktree |
396- | ` unlock() ` | ** Planned ** | Unlock worktree |
397- | ` move(new_path) ` | ** Planned ** | Move worktree |
398- | ` repair() ` | ** Planned ** | Repair worktree |
393+ | ` __init__(path, worktree_path, branch, head, locked, prunable, cmd) ` | Implemented | Constructor |
394+ | ` remove(force) ` | Implemented | Remove worktree |
395+ | ` lock(reason) ` | Implemented | Lock worktree |
396+ | ` unlock() ` | Implemented | Unlock worktree |
397+ | ` move(new_path) ` | Implemented | Move worktree |
398+ | ` repair() ` | Implemented | Repair worktree |
399399
400400#### CLI Flag → Python Parameter Mapping: GitWorktreeCmd Methods
401401
@@ -411,21 +411,21 @@ Properties: `worktree_path`, `branch`, `head`, `locked`, `prunable`
411411
412412## 7. GitNotesManager / GitNoteCmd (New)
413413
414- ** Pattern Status** : Not implemented
414+ ** Pattern Status** : Implemented
415415
416416### Planned GitNotesManager (Collection-level)
417417
418418| Method | Status | Description |
419419| --------| --------| -------------|
420- | ` __init__(path, cmd) ` | ** Planned ** | Constructor |
421- | ` run(command, local_flags) ` | ** Planned ** | Run git notes command |
422- | ` ls(ref) ` | ** Planned ** | Returns ` QueryList[GitNoteCmd] ` |
423- | ` get(**kwargs) ` | ** Planned ** | Get single note by filter |
424- | ` filter(**kwargs) ` | ** Planned ** | Filter notes |
425- | ` add(object, message, file, force, allow_empty) ` | ** Planned ** | Add note |
426- | ` prune(dry_run, verbose) ` | ** Planned ** | Prune notes |
427- | ` merge(notes_ref, strategy, commit, abort, quiet) ` | ** Planned ** | Merge notes |
428- | ` get_ref() ` | ** Planned ** | Get notes ref |
420+ | ` __init__(path, cmd) ` | Implemented | Constructor |
421+ | ` run(command, local_flags) ` | Implemented | Run git notes command |
422+ | ` ls(ref) ` | Implemented | Returns ` QueryList[GitNoteCmd] ` |
423+ | ` get(**kwargs) ` | Implemented | Get single note by filter |
424+ | ` filter(**kwargs) ` | Implemented | Filter notes |
425+ | ` add(object, message, file, force, allow_empty) ` | Implemented | Add note |
426+ | ` prune(dry_run, verbose) ` | Implemented | Prune notes |
427+ | ` merge(notes_ref, strategy, commit, abort, quiet) ` | Implemented | Merge notes |
428+ | ` get_ref() ` | Implemented | Get notes ref |
429429
430430#### CLI Flag → Python Parameter Mapping: ` add() `
431431
@@ -461,12 +461,12 @@ Properties: `object`, `note_ref`
461461
462462| Method | Status | Description |
463463| --------| --------| -------------|
464- | ` __init__(path, object, note_ref, cmd) ` | ** Planned ** | Constructor |
465- | ` show() ` | ** Planned ** | Show note |
466- | ` edit() ` | ** Planned ** | Edit note (non-interactive) |
467- | ` append(message) ` | ** Planned ** | Append to note |
468- | ` copy(from_object) ` | ** Planned ** | Copy note |
469- | ` remove() ` | ** Planned ** | Remove note |
464+ | ` __init__(path, object, note_ref, cmd) ` | Implemented | Constructor |
465+ | ` show() ` | Implemented | Show note |
466+ | ` edit() ` | Implemented | Edit note (non-interactive) |
467+ | ` append(message) ` | Implemented | Append to note |
468+ | ` copy(from_object) ` | Implemented | Copy note |
469+ | ` remove() ` | Implemented | Remove note |
470470
471471#### CLI Flag → Python Parameter Mapping: GitNoteCmd Methods
472472
@@ -482,19 +482,19 @@ Properties: `object`, `note_ref`
482482
483483## 8. GitReflogManager / GitReflogCmd (New)
484484
485- ** Pattern Status** : Not implemented
485+ ** Pattern Status** : Implemented
486486
487487### Planned GitReflogManager (Collection-level)
488488
489489| Method | Status | Description |
490490| --------| --------| -------------|
491- | ` __init__(path, cmd) ` | ** Planned ** | Constructor |
492- | ` run(command, local_flags) ` | ** Planned ** | Run git reflog command |
493- | ` ls(ref) ` | ** Planned ** | Returns ` QueryList[GitReflogCmd] ` |
494- | ` get(**kwargs) ` | ** Planned ** | Get single entry by filter |
495- | ` filter(**kwargs) ` | ** Planned ** | Filter entries |
496- | ` expire(ref, _all, dry_run, rewrite, updateref, stale_fix, verbose) ` | ** Planned ** | Expire entries |
497- | ` exists(ref) ` | ** Planned ** | Check if reflog exists |
491+ | ` __init__(path, cmd) ` | Implemented | Constructor |
492+ | ` run(command, local_flags) ` | Implemented | Run git reflog command |
493+ | ` ls(ref) ` | Implemented | Returns ` QueryList[GitReflogCmd] ` |
494+ | ` get(**kwargs) ` | Implemented | Get single entry by filter |
495+ | ` filter(**kwargs) ` | Implemented | Filter entries |
496+ | ` expire(ref, _all, dry_run, rewrite, updateref, stale_fix, verbose) ` | Implemented | Expire entries |
497+ | ` exists(ref) ` | Implemented | Check if reflog exists |
498498
499499#### CLI Flag → Python Parameter Mapping: ` ls() ` / ` show() `
500500
@@ -538,9 +538,9 @@ reflog_pattern = r"(?P<sha>[a-f0-9]+) (?P<ref>[^@]+)@\{(?P<index>\d+)\}: (?P<act
538538
539539| Method | Status | Description |
540540| --------| --------| -------------|
541- | ` __init__(path, ref, index, action, message, sha, cmd) ` | ** Planned ** | Constructor |
542- | ` show() ` | ** Planned ** | Show entry details |
543- | ` delete() ` | ** Planned ** | Delete entry |
541+ | ` __init__(path, ref, index, action, message, sha, cmd) ` | Implemented | Constructor |
542+ | ` show() ` | Implemented | Show entry details |
543+ | ` delete() ` | Implemented | Delete entry |
544544
545545#### CLI Flag → Python Parameter Mapping: GitReflogCmd Methods
546546
0 commit comments