git 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/CONTRIBUTING.md +185 -165
  4. data/LICENSE +1 -1
  5. data/README.md +151 -151
  6. data/git.gemspec +35 -3
  7. data/lib/git/command_line/base.rb +1 -2
  8. data/lib/git/commands/base.rb +1 -1
  9. data/lib/git/commands/cat_file/raw.rb +8 -7
  10. data/lib/git/repository/branching.rb +79 -5
  11. data/lib/git/version.rb +1 -1
  12. metadata +5 -94
  13. data/.claude/commands/address-copilot-reviews.md +0 -14
  14. data/.claude/settings.json +0 -16
  15. data/.claude/skills +0 -1
  16. data/.commitlintrc.yml +0 -38
  17. data/.dockerignore +0 -27
  18. data/.github/copilot-instructions.md +0 -30
  19. data/.github/hooks/bin-setup-on-worktree.json +0 -11
  20. data/.github/hooks/run-bin-setup-once.sh +0 -20
  21. data/.github/issue_template.md +0 -15
  22. data/.github/prompts/iteratively-address-copilot-reviews.prompt.md +0 -188
  23. data/.github/pull_request_template.md +0 -21
  24. data/.github/skills/breaking-change-analysis/SKILL.md +0 -99
  25. data/.github/skills/ci-cd-troubleshooting/SKILL.md +0 -264
  26. data/.github/skills/command-implementation/REFERENCE.md +0 -994
  27. data/.github/skills/command-implementation/SKILL.md +0 -230
  28. data/.github/skills/command-test-conventions/SKILL.md +0 -664
  29. data/.github/skills/command-yard-documentation/SKILL.md +0 -434
  30. data/.github/skills/dependency-management/SKILL.md +0 -72
  31. data/.github/skills/development-workflow/SKILL.md +0 -512
  32. data/.github/skills/facade-implementation/REFERENCE.md +0 -837
  33. data/.github/skills/facade-implementation/SKILL.md +0 -269
  34. data/.github/skills/facade-test-conventions/SKILL.md +0 -391
  35. data/.github/skills/facade-yard-documentation/SKILL.md +0 -435
  36. data/.github/skills/make-skill-template/SKILL.md +0 -226
  37. data/.github/skills/pr-readiness-review/SKILL.md +0 -205
  38. data/.github/skills/project-context/SKILL.md +0 -306
  39. data/.github/skills/pull-request-review/SKILL.md +0 -168
  40. data/.github/skills/rebase/SKILL.md +0 -148
  41. data/.github/skills/refactor-command-to-commandlineresult/SKILL.md +0 -131
  42. data/.github/skills/release-management/SKILL.md +0 -125
  43. data/.github/skills/resolve-feedback/SKILL.md +0 -288
  44. data/.github/skills/review-arguments-dsl/CHECKLIST.md +0 -788
  45. data/.github/skills/review-arguments-dsl/SKILL.md +0 -214
  46. data/.github/skills/review-cross-command-consistency/SKILL.md +0 -139
  47. data/.github/skills/reviewing-skills/SKILL.md +0 -214
  48. data/.github/skills/rspec-unit-testing-standards/SKILL.md +0 -685
  49. data/.github/skills/tdd-refactor-step/SKILL.md +0 -236
  50. data/.github/skills/test-debugging/SKILL.md +0 -161
  51. data/.github/skills/yard-documentation/SKILL.md +0 -981
  52. data/.github/skills/yard-documentation/element-rules.md +0 -162
  53. data/.github/skills-deprecated/README.md +0 -21
  54. data/.github/skills-deprecated/extract-command-from-lib/SKILL.md +0 -487
  55. data/.github/skills-deprecated/extract-facade-from-base-lib/KEYWORD_ARG_REMEDIATION.md +0 -22
  56. data/.github/skills-deprecated/extract-facade-from-base-lib/SKILL.md +0 -600
  57. data/.github/skills-deprecated/review-backward-compatibility/SKILL.md +0 -275
  58. data/.github/workflows/continuous_integration.yml +0 -358
  59. data/.github/workflows/enforce_conventional_commits.yml +0 -35
  60. data/.github/workflows/experimental_continuous_integration.yml +0 -59
  61. data/.github/workflows/release.yml +0 -52
  62. data/.github/workflows/warm_bundler_caches.yml +0 -82
  63. data/.gitignore +0 -30
  64. data/.husky/commit-msg +0 -1
  65. data/.husky/pre-commit +0 -13
  66. data/.release-please-config.json +0 -36
  67. data/.release-please-manifest.json +0 -3
  68. data/.rspec +0 -2
  69. data/.rubocop.yml +0 -44
  70. data/.rubocop_todo.yml +0 -30
  71. data/.yard-lint.yml +0 -75
  72. data/CLAUDE.md +0 -11
  73. data/Gemfile +0 -22
  74. data/Rakefile +0 -41
  75. data/docker/test/Dockerfile +0 -32
  76. data/docker/test/docker-compose.yml +0 -0
  77. data/package.json +0 -10
  78. data/redesign/1_architecture_existing.md +0 -102
  79. data/redesign/2_architecture_redesign.md +0 -449
  80. data/redesign/3_architecture_implementation.md +0 -1623
  81. data/redesign/Phase 4 - Step A.md +0 -366
  82. data/redesign/Phase 4 - Step B.md +0 -921
  83. data/redesign/Phase 4 - Step C.md +0 -833
  84. data/redesign/beta_release.md +0 -107
  85. data/redesign/branch_parse_refactor_plan.md +0 -163
  86. data/redesign/c1a-public-api-scope.tsv +0 -256
  87. data/redesign/c1c2_audit.md +0 -566
  88. data/redesign/c1c2_bucket6_lib_orphans.md +0 -626
  89. data/redesign/config_design.rb +0 -501
  90. data/redesign/index.md +0 -34
  91. data/redesign/info_object_migration_plan.md +0 -126
  92. data/redesign/integration_test_analysis.md +0 -521
  93. data/redesign/phase-4-step-b-test-audit.tsv +0 -485
  94. data/redesign/remote_refactor_plan.md +0 -164
  95. data/redesign/reverse_dependencies.sql +0 -44
  96. data/tasks/gem_tasks.rake +0 -14
  97. data/tasks/npm_tasks.rake +0 -7
  98. data/tasks/rspec.rake +0 -111
  99. data/tasks/rubocop.rake +0 -5
  100. data/tasks/test_gem.rake +0 -12
  101. data/tasks/yard.rake +0 -57
@@ -1,107 +0,0 @@
1
- # Beta Release Process
2
-
3
- ## Why This Is a Manual Process
4
-
5
- Pre-releases of the `git` gem (e.g., `5.0.0.beta.1`) are published manually rather
6
- than through the normal release-please automation. This is necessary because:
7
-
8
- - **release-please does not support Ruby pre-release version formats** such as
9
- `5.0.0.beta.1`. release-please follows SemVer prerelease formatting and produces
10
- versions with a dash separator (e.g., `5.0.0-beta.0`), which is incompatible with
11
- RubyGems' dotted prerelease format (`5.0.0.beta.X`). For this reason,
12
- `.release-please-config.json` explicitly sets `"prerelease": false` — there is no
13
- configuration that makes release-please produce the right format.
14
- - **We want release-please to keep accumulating commits toward the final `5.0.0`
15
- release.** If we merged a release-please PR for a beta version, it would update
16
- `.release-please-manifest.json` and lose the record of changes that should appear
17
- in the `5.0.0` changelog. By managing betas manually and leaving the manifest
18
- untouched, release-please continues to build the `5.0.0` release PR in the
19
- background.
20
- - **Beta tags use a `pre/` prefix** (e.g., `pre/v5.0.0.beta.1`) so that
21
- release-please does not match them when searching for the last release SHA. This
22
- keeps the change accumulation correct.
23
-
24
- ---
25
-
26
- ## Beta Release Checklist
27
-
28
- ### 0. Set the beta number
29
-
30
- Set `BETA` once at the start of each session. All commands below use it.
31
-
32
- ```bash
33
- BETA=2 # replace with the actual beta number
34
- ```
35
-
36
- > **Note:** Steps 1–3 are done before merging the release PR; steps 4–6 are done
37
- > after. You will need to re-set `BETA` if you start a new shell session between
38
- > the two phases.
39
-
40
- ### 1. Prepare the release branch
41
-
42
- ```bash
43
- git switch main && git pull
44
- git switch -c release/5.0.0.beta.${BETA}
45
- ```
46
-
47
- ### 2. Update files
48
-
49
- - [ ] Bump `lib/git/version.rb`:
50
-
51
- ```bash
52
- sed -i "" "s/VERSION = '.*'/VERSION = '5.0.0.beta.${BETA}'/" lib/git/version.rb
53
- ```
54
-
55
- - [ ] Update the announcement in `README.md`:
56
- - Change the heading date and version number
57
- - Update the % complete estimate
58
- - Update the RubyGems link to point to the new version
59
-
60
- ### 3. Commit and open a PR
61
-
62
- ```bash
63
- git add lib/git/version.rb README.md
64
- git commit -m "chore: release v5.0.0.beta.${BETA}"
65
- git push -u origin release/5.0.0.beta.${BETA}
66
- ```
67
-
68
- Open a PR targeting `main` and merge it once CI passes.
69
-
70
- > **Important:** Do **not** update `.release-please-manifest.json`. Leaving it at
71
- > the last stable 4.x release version is what allows release-please to keep
72
- > accumulating changes toward `5.0.0`.
73
-
74
- ### 4. Tag the release commit
75
-
76
- Tag before building to ensure the gem and the GitHub release are pinned to the
77
- exact same commit. If `main` advances after the PR merges, building first and
78
- tagging later would cause the published gem and tag to diverge.
79
-
80
- ```bash
81
- BETA=2 # re-set if this is a new shell session
82
- git switch main && git pull
83
- git tag pre/v5.0.0.beta.${BETA}
84
- git push origin pre/v5.0.0.beta.${BETA}
85
- ```
86
-
87
- ### 5. Build, publish, and create a GitHub release
88
-
89
- Check out the tag before building to guarantee the gem is built from the exact
90
- tagged commit, not from whatever `main` happens to be at build time.
91
-
92
- ```bash
93
- git checkout pre/v5.0.0.beta.${BETA}
94
- bundle exec rake build
95
- gem push pkg/git-5.0.0.beta.${BETA}.gem
96
-
97
- gh release create pre/v5.0.0.beta.${BETA} \
98
- pkg/git-5.0.0.beta.${BETA}.gem \
99
- --title "v5.0.0.beta.${BETA}" \
100
- --notes "Beta ${BETA} pre-release of v5.0.0. See the README for details." \
101
- --prerelease
102
- ```
103
-
104
- ### 6. Verify
105
-
106
- - [ ] RubyGems: `https://rubygems.org/gems/git/versions/5.0.0.beta.${BETA}`
107
- - [ ] GitHub release: `https://github.com/ruby-git/ruby-git/releases/tag/pre/v5.0.0.beta.${BETA}`
@@ -1,163 +0,0 @@
1
- # Plan: Fix Issue #919 — BranchInfo slash-remote parsing (PR series)
2
-
3
- ## Goal
4
- Fix `BranchInfo#remote_name` and `#short_name` for remote names containing `/`
5
- (e.g. `team/upstream`). Root cause: `BRANCH_REFNAME_REGEXP` uses `[^/]+` which
6
- can only capture one path segment. Fix: resolve at parse time using the configured
7
- remote list.
8
-
9
- ## PR sequence overview
10
- - **PR 1** — Add `remote_names` facade method. Independent. No deps.
11
- - **PR 2** — `BranchInfo` stored fields + remote-aware parser. Independent. No deps.
12
- - **PR 3** — Wire `branch_list` end-to-end (closes #919). Depends on PR 1 + PR 2.
13
-
14
- PR 1 and PR 2 can be developed in parallel. PR 3 merges last.
15
-
16
- ```
17
- PR1 ─┐
18
- ├─> PR3 (closes #919)
19
- PR2 ─┘
20
- ```
21
-
22
- ---
23
-
24
- ## PR 1 — Add `remote_names` to RemoteOperations
25
- **Branch:** `feat/remote-names`
26
- **Depends on:** nothing
27
- **Value:** new public API `repo.remote_names` → `Array<String>` (lightweight; no RemoteInfo).
28
-
29
- ### Changes
30
- - `lib/git/repository/remote_operations.rb`: add `remote_names` near `remotes` (~line 592).
31
- - Calls `Git::Commands::Remote::List.new(@execution_context).call`, splits stdout on `"\n"`.
32
- - Returns `Array<String>`. Empty array when no remotes.
33
- - Full YARD with `@api public`, `@example`, `@return`, `@raise [Git::FailedError]`.
34
-
35
- ### Tests
36
- - `spec/unit/git/repository/remote_operations_spec.rb`: stub `Commands::Remote::List` →
37
- stdout `"origin\nteam/upstream\n"`, assert `["origin", "team/upstream"]`; empty-stdout → `[]`.
38
- - `spec/integration/git/repository/remote_operations_spec.rb`: real repo with two remotes
39
- (one slash name), assert both names are returned.
40
-
41
- ### Done when
42
- - Unit + integration green; RuboCop clean; YARD coverage clean.
43
-
44
- ---
45
-
46
- ## PR 2 — BranchInfo stored fields + remote-aware parser
47
- **Branch:** `feat/branchinfo-slash-remote-parsing`
48
- **Depends on:** nothing (backward compatible; default behavior unchanged)
49
- **Value:** `Git::Parsers::Branch.parse_list(stdout, remote_names: [...])` resolves slash
50
- remotes correctly; `BranchInfo` can carry an explicit `remote_name` (with `short_name` derived).
51
-
52
- ### Changes — `lib/git/branch_info.rb`
53
- - **Alt 1-lite: store ONLY `:remote_name` as a new `Data.define` member; keep `short_name`
54
- DERIVED (not a member).**
55
- - Add `:remote_name` to the `Data.define` member list (NOT `:short_name`).
56
- - Add `initialize` override inside the block using private `UNSET = Object.new.freeze`
57
- sentinel: when `remote_name:` not supplied, derive via `BRANCH_REFNAME_REGEXP`
58
- (preserves all existing `BranchInfo.new` callsites); when supplied, store as given.
59
- - Keep `short_name` as a COMPUTED method: derive from `refname` given the (now reliable)
60
- `remote_name` — strip `(refs/)?remotes/<remote_name>/` for remote branches, or
61
- `refs/heads/` for local branches. Deterministic from `refname` + `remote_name`, so it
62
- never needs storing and stays out of `Data` equality/hash/with.
63
- - Remove only the `remote_name` computed method body (now a field accessor); `short_name`
64
- stays a method (rewritten to use `remote_name`).
65
- - Keep `detached?`, `unborn?`, `remote?`, `current?`, `other_worktree?`, `symref?`, `to_s`.
66
- - YARD: add `@!attribute` doc for the single new stored field `remote_name`; keep `short_name`
67
- documented as a derived method; soften the `BRANCH_REFNAME_REGEXP` `@note` (now a fallback
68
- used inside `initialize`, not the sole path).
69
-
70
- ### Changes — `lib/git/parsers/branch.rb`
71
- - Add private `resolve_remote_name(refname, remote_names)`:
72
- - `nil` if refname is not under `(refs/)?remotes/`.
73
- - Strip `(refs/)?remotes/` prefix; select configured names that are a prefix of `path + "/"`;
74
- pick the LONGEST match.
75
- - When `remote_names` empty OR no match (stale ref): fall back to single-segment regex.
76
- - `build_branch_info(fields, remote_names: [])`: call `resolve_remote_name`; pass only
77
- `:remote_name` explicitly to `BranchInfo.new` (`short_name` is derived by BranchInfo).
78
- - Thread `remote_names:` through `parse_branch_line(line, remote_names: [])` and
79
- `parse_list(stdout, remote_names: [])`. Default `[]` = current behavior (regex fallback).
80
- - YARD `@param remote_names` on the three methods.
81
- - Note: no separate `resolve_short_name` helper needed — BranchInfo derives `short_name`
82
- from `refname` + the resolved `remote_name`.
83
-
84
- ### Tests
85
- - `spec/unit/git/branch_info_spec.rb`: existing callsites unchanged (fallback); add examples
86
- that an explicit `remote_name:` is stored and that `short_name` is correctly derived from it
87
- (incl. slash-remote case); equality note (`Data#==` now includes ONE new member,
88
- `remote_name` — for non-slash remotes regex==explicit so still equal). Audit for `.with` usage.
89
- - `spec/unit/git/parsers/branch_spec.rb`: update stubs to new signature; add
90
- `parse_list(stdout, remote_names: ['team/upstream'])` correctness (both `remote_name` and the
91
- derived `short_name`); longest-prefix example (both `team` and `team/upstream` configured →
92
- `team/upstream` wins); stale-ref fallback example.
93
- - `spec/integration/git/parsers/branch_spec.rb`: repo with `team/upstream` remote,
94
- `remote_names: ['team/upstream']` → correct `remote_name`/`short_name`.
95
-
96
- ### Done when
97
- - All existing branch specs still green (no behavior change at default); new specs green;
98
- RuboCop + YARD clean.
99
-
100
- ---
101
-
102
- ## PR 3 — Wire `branch_list` end-to-end (closes #919)
103
- **Branch:** `fix/919-branch-list-slash-remote`
104
- **Depends on:** PR 1 (`remote_names`) + PR 2 (parser accepts `remote_names:`)
105
- **Value:** `repo.branch_list`, `repo.branches`, `branches_all`, and `Git::Branches#[]` all
106
- report correct remote/branch split for slash remotes. Closes #919.
107
-
108
- ### Changes — `lib/git/repository/branching.rb`
109
- - `branch_list(*patterns, remote_names: nil)`:
110
- - When `remote_names` nil, call `self.remote_names` to fetch automatically.
111
- - Pass `remote_names:` to `Git::Parsers::Branch.parse_list`.
112
-
113
- ### Changes — docs / scope note
114
- - `lib/git/branch.rb`: update the `@note` on `BRANCH_NAME_REGEXP` (the string-constructor path)
115
- to state slash remotes are not resolved there and reference #919 + the follow-up issue.
116
-
117
- ### Tests
118
- - `spec/unit/git/repository/branching_spec.rb` `#branch_list`: update `parse_list` stub
119
- expectations to `(stdout, remote_names: [...])`; add test that `remote_names` is auto-called
120
- when not given; add test that explicit `remote_names:` bypasses the auto call.
121
- - `spec/integration/git/repository/branching_spec.rb`: repo with `team/upstream` remote →
122
- `branch_list` returns `BranchInfo` with `remote_name == 'team/upstream'`, `short_name == 'main'`.
123
- - `spec/unit/git/branches_spec.rb` (or integration): `Git::Branches#[]` lookup with a slash
124
- remote resolves correctly (`branch.full` = `remotes/team/upstream/main`, and the
125
- `remotes/`-stripped key works).
126
-
127
- ### Finalize
128
- - File a follow-up issue for the `Git::Branch` string-constructor path
129
- (`BRANCH_NAME_REGEXP`) and link it from the `@note` and from #919.
130
- - Confirm #919 acceptance examples (`remote_name` → `'team/upstream'`, `short_name` →
131
- `'feature/foo'`) are covered by integration tests.
132
-
133
- ### Done when
134
- - Full suite green; RuboCop + YARD clean; #919 examples demonstrably fixed; follow-up issue filed.
135
-
136
- ---
137
-
138
- ## Accepted decisions (finalized)
139
- 1. String path (`Git::Branch::BRANCH_NAME_REGEXP`): leave as documented limitation (PR 3 note +
140
- follow-up issue). Not fixed in this series.
141
- 2. Design is **Alt 1-lite**: store ONLY `remote_name` as a new `Data.define` member; keep
142
- `short_name` derived from `refname` + `remote_name`. One new member → smaller
143
- equality/hash/with footprint than storing both.
144
- 3. Stale `refs/remotes/` ref matching no configured remote: fall back to single-segment regex.
145
- 4. Keyword arg named `remote_names:` everywhere (parser + facade).
146
- 5. Add BOTH unit and integration tests for `remote_names`.
147
- 6. Defer the two-pass "only fetch remotes if refs/remotes present" optimization.
148
- 7. Full YARD updates in each PR.
149
- 8. Add a `Git::Branches#[]` slash-remote lookup test (PR 3).
150
- 9. #919 is satisfied by PR 3 (issue is scoped to `BranchInfo#remote_name`/`#short_name`).
151
-
152
- ## Relevant files
153
- - `lib/git/repository/remote_operations.rb` — PR 1 (`remote_names`)
154
- - `lib/git/branch_info.rb` — PR 2 (fields, `initialize`, YARD)
155
- - `lib/git/parsers/branch.rb` — PR 2 (`remote_names:` threading, resolve helpers)
156
- - `lib/git/repository/branching.rb` — PR 3 (`branch_list`)
157
- - `lib/git/branch.rb` — PR 3 (string-path `@note` only; no code fix)
158
- - specs: remote_operations (PR1), branch_info + parsers/branch (PR2), branching + branches (PR3)
159
-
160
- ## Not changing (auto-correct after PR 3)
161
- - `branches_all` — uses `info.remote_name`/`#short_name`; values become correct.
162
- - `Git::Branch#initialize_from_branch_info` — uses these; values become correct.
163
- - All existing `BranchInfo.new` callsites — `initialize` fallback keeps them working.
@@ -1,256 +0,0 @@
1
- constant_name type scope category api_private_current defining_file notes
2
- Git module public entry-point no lib/git.rb Primary entry point module with .open, .clone, .init, .bare, .git_version factory methods
3
- Git::Author class public value-object no lib/git/author.rb Public value object returned from facade methods
4
- Git::Branch class public return-type no lib/git/branch.rb Public return type from facade methods
5
- Git::BranchDeleteFailure class public value-object no lib/git/branch_delete_failure.rb Public value object returned from facade methods
6
- Git::BranchDeleteResult class public value-object no lib/git/branch_delete_result.rb Public value object returned from facade methods
7
- Git::BranchInfo class public value-object no lib/git/branch_info.rb Public value object returned from facade methods
8
- Git::Branches class public return-type no lib/git/branches.rb Public return type from facade methods
9
- Git::CommandLine module internal plumbing no lib/git/command_line.rb Internal command-line execution infrastructure; not part of public API
10
- Git::CommandLine::Base class internal plumbing no lib/git/command_line/base.rb Internal command-line execution infrastructure; not part of public API
11
- Git::CommandLine::Capturing class internal plumbing no lib/git/command_line/capturing.rb Internal command-line execution infrastructure; not part of public API
12
- Git::CommandLine::Result class internal plumbing no lib/git/command_line/result.rb Internal command-line execution infrastructure; not part of public API
13
- Git::CommandLine::Streaming class internal plumbing no lib/git/command_line/streaming.rb Internal command-line execution infrastructure; not part of public API
14
- Git::CommandLineError class public error no lib/git/errors.rb Public exception class raised by facade methods
15
- Git::Commands module internal command-wrapper yes lib/git/commands.rb Command implementation detail; not part of public API
16
- Git::Commands::Add class internal command-wrapper yes lib/git/commands/add.rb Command implementation detail; not part of public API
17
- Git::Commands::Am class internal command-wrapper yes lib/git/commands/am.rb Command implementation detail; not part of public API
18
- Git::Commands::Am::Abort class internal command-wrapper yes lib/git/commands/am/abort.rb Command implementation detail; not part of public API
19
- Git::Commands::Am::Apply class internal command-wrapper yes lib/git/commands/am/apply.rb Command implementation detail; not part of public API
20
- Git::Commands::Am::Continue class internal command-wrapper yes lib/git/commands/am/continue.rb Command implementation detail; not part of public API
21
- Git::Commands::Am::Quit class internal command-wrapper yes lib/git/commands/am/quit.rb Command implementation detail; not part of public API
22
- Git::Commands::Am::Retry class internal command-wrapper yes lib/git/commands/am/retry.rb Command implementation detail; not part of public API
23
- Git::Commands::Am::ShowCurrentPatch class internal command-wrapper yes lib/git/commands/am/show_current_patch.rb Command implementation detail; not part of public API
24
- Git::Commands::Am::Skip class internal command-wrapper yes lib/git/commands/am/skip.rb Command implementation detail; not part of public API
25
- Git::Commands::Apply class internal command-wrapper yes lib/git/commands/apply.rb Command implementation detail; not part of public API
26
- Git::Commands::Archive class internal command-wrapper yes lib/git/commands/archive.rb Command implementation detail; not part of public API
27
- Git::Commands::Archive::ListFormats class internal command-wrapper yes lib/git/commands/archive/list_formats.rb Command implementation detail; not part of public API
28
- Git::Commands::Arguments module internal command-arguments yes lib/git/commands/arguments.rb Command implementation detail; not part of public API
29
- Git::Commands::Arguments::Bound class internal command-arguments yes lib/git/commands/arguments.rb Command implementation detail; not part of public API
30
- Git::Commands::Base class internal command-wrapper yes lib/git/commands/base.rb Command implementation detail; not part of public API
31
- Git::Commands::Branch class internal command-wrapper yes lib/git/commands/branch.rb Command implementation detail; not part of public API
32
- Git::Commands::Branch::Copy class internal command-wrapper yes lib/git/commands/branch/copy.rb Command implementation detail; not part of public API
33
- Git::Commands::Branch::Create class internal command-wrapper yes lib/git/commands/branch/create.rb Command implementation detail; not part of public API
34
- Git::Commands::Branch::Delete class internal command-wrapper yes lib/git/commands/branch/delete.rb Command implementation detail; not part of public API
35
- Git::Commands::Branch::List class internal command-wrapper yes lib/git/commands/branch/list.rb Command implementation detail; not part of public API
36
- Git::Commands::Branch::Move class internal command-wrapper yes lib/git/commands/branch/move.rb Command implementation detail; not part of public API
37
- Git::Commands::Branch::SetUpstream class internal command-wrapper yes lib/git/commands/branch/set_upstream.rb Command implementation detail; not part of public API
38
- Git::Commands::Branch::ShowCurrent class internal command-wrapper yes lib/git/commands/branch/show_current.rb Command implementation detail; not part of public API
39
- Git::Commands::Branch::UnsetUpstream class internal command-wrapper yes lib/git/commands/branch/unset_upstream.rb Command implementation detail; not part of public API
40
- Git::Commands::CatFile class internal command-wrapper yes lib/git/commands/cat_file.rb Command implementation detail; not part of public API
41
- Git::Commands::CatFile::Batch class internal command-wrapper yes lib/git/commands/cat_file/batch.rb Command implementation detail; not part of public API
42
- Git::Commands::CatFile::Filtered class internal command-wrapper yes lib/git/commands/cat_file/filtered.rb Command implementation detail; not part of public API
43
- Git::Commands::CatFile::Raw class internal command-wrapper yes lib/git/commands/cat_file/raw.rb Command implementation detail; not part of public API
44
- Git::Commands::Checkout class internal command-wrapper yes lib/git/commands/checkout.rb Command implementation detail; not part of public API
45
- Git::Commands::Checkout::Branch class internal command-wrapper yes lib/git/commands/checkout/branch.rb Command implementation detail; not part of public API
46
- Git::Commands::Checkout::Files class internal command-wrapper yes lib/git/commands/checkout/files.rb Command implementation detail; not part of public API
47
- Git::Commands::CheckoutIndex class internal command-wrapper yes lib/git/commands/checkout_index.rb Command implementation detail; not part of public API
48
- Git::Commands::Clean class internal command-wrapper yes lib/git/commands/clean.rb Command implementation detail; not part of public API
49
- Git::Commands::Clone class internal command-wrapper yes lib/git/commands/clone.rb Command implementation detail; not part of public API
50
- Git::Commands::Commit class internal command-wrapper yes lib/git/commands/commit.rb Command implementation detail; not part of public API
51
- Git::Commands::CommitTree class internal command-wrapper yes lib/git/commands/commit_tree.rb Command implementation detail; not part of public API
52
- Git::Commands::ConfigOptionSyntax class internal command-wrapper yes lib/git/commands/config_option_syntax.rb Command implementation detail; not part of public API
53
- Git::Commands::ConfigOptionSyntax::Add class internal command-wrapper yes lib/git/commands/config_option_syntax/add.rb Command implementation detail; not part of public API
54
- Git::Commands::ConfigOptionSyntax::Get class internal command-wrapper yes lib/git/commands/config_option_syntax/get.rb Command implementation detail; not part of public API
55
- Git::Commands::ConfigOptionSyntax::GetAll class internal command-wrapper yes lib/git/commands/config_option_syntax/get_all.rb Command implementation detail; not part of public API
56
- Git::Commands::ConfigOptionSyntax::GetColor class internal command-wrapper yes lib/git/commands/config_option_syntax/get_color.rb Command implementation detail; not part of public API
57
- Git::Commands::ConfigOptionSyntax::GetColorBool class internal command-wrapper yes lib/git/commands/config_option_syntax/get_color_bool.rb Command implementation detail; not part of public API
58
- Git::Commands::ConfigOptionSyntax::GetRegexp class internal command-wrapper yes lib/git/commands/config_option_syntax/get_regexp.rb Command implementation detail; not part of public API
59
- Git::Commands::ConfigOptionSyntax::GetUrlmatch class internal command-wrapper yes lib/git/commands/config_option_syntax/get_urlmatch.rb Command implementation detail; not part of public API
60
- Git::Commands::ConfigOptionSyntax::List class internal command-wrapper yes lib/git/commands/config_option_syntax/list.rb Command implementation detail; not part of public API
61
- Git::Commands::ConfigOptionSyntax::RemoveSection class internal command-wrapper yes lib/git/commands/config_option_syntax/remove_section.rb Command implementation detail; not part of public API
62
- Git::Commands::ConfigOptionSyntax::RenameSection class internal command-wrapper yes lib/git/commands/config_option_syntax/rename_section.rb Command implementation detail; not part of public API
63
- Git::Commands::ConfigOptionSyntax::ReplaceAll class internal command-wrapper yes lib/git/commands/config_option_syntax/replace_all.rb Command implementation detail; not part of public API
64
- Git::Commands::ConfigOptionSyntax::Set class internal command-wrapper yes lib/git/commands/config_option_syntax/set.rb Command implementation detail; not part of public API
65
- Git::Commands::ConfigOptionSyntax::Unset class internal command-wrapper yes lib/git/commands/config_option_syntax/unset.rb Command implementation detail; not part of public API
66
- Git::Commands::ConfigOptionSyntax::UnsetAll class internal command-wrapper yes lib/git/commands/config_option_syntax/unset_all.rb Command implementation detail; not part of public API
67
- Git::Commands::Describe class internal command-wrapper yes lib/git/commands/describe.rb Command implementation detail; not part of public API
68
- Git::Commands::Diff class internal command-wrapper yes lib/git/commands/diff.rb Command implementation detail; not part of public API
69
- Git::Commands::DiffFiles class internal command-wrapper yes lib/git/commands/diff_files.rb Command implementation detail; not part of public API
70
- Git::Commands::DiffIndex class internal command-wrapper yes lib/git/commands/diff_index.rb Command implementation detail; not part of public API
71
- Git::Commands::Fetch class internal command-wrapper yes lib/git/commands/fetch.rb Command implementation detail; not part of public API
72
- Git::Commands::Fsck class internal command-wrapper yes lib/git/commands/fsck.rb Command implementation detail; not part of public API
73
- Git::Commands::Gc class internal command-wrapper yes lib/git/commands/gc.rb Command implementation detail; not part of public API
74
- Git::Commands::Grep class internal command-wrapper yes lib/git/commands/grep.rb Command implementation detail; not part of public API
75
- Git::Commands::Init class internal command-wrapper yes lib/git/commands/init.rb Command implementation detail; not part of public API
76
- Git::Commands::Log class internal command-wrapper yes lib/git/commands/log.rb Command implementation detail; not part of public API
77
- Git::Commands::LsFiles class internal command-wrapper yes lib/git/commands/ls_files.rb Command implementation detail; not part of public API
78
- Git::Commands::LsRemote class internal command-wrapper yes lib/git/commands/ls_remote.rb Command implementation detail; not part of public API
79
- Git::Commands::LsTree class internal command-wrapper yes lib/git/commands/ls_tree.rb Command implementation detail; not part of public API
80
- Git::Commands::Maintenance class internal command-wrapper yes lib/git/commands/maintenance.rb Command implementation detail; not part of public API
81
- Git::Commands::Maintenance::Register class internal command-wrapper yes lib/git/commands/maintenance/register.rb Command implementation detail; not part of public API
82
- Git::Commands::Maintenance::Run class internal command-wrapper yes lib/git/commands/maintenance/run.rb Command implementation detail; not part of public API
83
- Git::Commands::Maintenance::Start class internal command-wrapper yes lib/git/commands/maintenance/start.rb Command implementation detail; not part of public API
84
- Git::Commands::Maintenance::Stop class internal command-wrapper yes lib/git/commands/maintenance/stop.rb Command implementation detail; not part of public API
85
- Git::Commands::Maintenance::Unregister class internal command-wrapper yes lib/git/commands/maintenance/unregister.rb Command implementation detail; not part of public API
86
- Git::Commands::Merge class internal command-wrapper yes lib/git/commands/merge.rb Command implementation detail; not part of public API
87
- Git::Commands::Merge::Abort class internal command-wrapper yes lib/git/commands/merge/abort.rb Command implementation detail; not part of public API
88
- Git::Commands::Merge::Continue class internal command-wrapper yes lib/git/commands/merge/continue.rb Command implementation detail; not part of public API
89
- Git::Commands::Merge::Quit class internal command-wrapper yes lib/git/commands/merge/quit.rb Command implementation detail; not part of public API
90
- Git::Commands::Merge::Start class internal command-wrapper yes lib/git/commands/merge/start.rb Command implementation detail; not part of public API
91
- Git::Commands::MergeBase class internal command-wrapper yes lib/git/commands/merge_base.rb Command implementation detail; not part of public API
92
- Git::Commands::Mv class internal command-wrapper yes lib/git/commands/mv.rb Command implementation detail; not part of public API
93
- Git::Commands::NameRev class internal command-wrapper yes lib/git/commands/name_rev.rb Command implementation detail; not part of public API
94
- Git::Commands::OperandAllocator class internal command-arguments yes lib/git/commands/arguments.rb Command implementation detail; not part of public API
95
- Git::Commands::OperandAllocator::LeadingAllocationState class internal command-arguments yes lib/git/commands/arguments.rb Command implementation detail; not part of public API
96
- Git::Commands::Pull class internal command-wrapper yes lib/git/commands/pull.rb Command implementation detail; not part of public API
97
- Git::Commands::Push class internal command-wrapper yes lib/git/commands/push.rb Command implementation detail; not part of public API
98
- Git::Commands::ReadTree class internal command-wrapper yes lib/git/commands/read_tree.rb Command implementation detail; not part of public API
99
- Git::Commands::Remote class internal command-wrapper yes lib/git/commands/remote.rb Command implementation detail; not part of public API
100
- Git::Commands::Remote::Add class internal command-wrapper yes lib/git/commands/remote/add.rb Command implementation detail; not part of public API
101
- Git::Commands::Remote::GetUrl class internal command-wrapper yes lib/git/commands/remote/get_url.rb Command implementation detail; not part of public API
102
- Git::Commands::Remote::List class internal command-wrapper yes lib/git/commands/remote/list.rb Command implementation detail; not part of public API
103
- Git::Commands::Remote::Prune class internal command-wrapper yes lib/git/commands/remote/prune.rb Command implementation detail; not part of public API
104
- Git::Commands::Remote::Remove class internal command-wrapper yes lib/git/commands/remote/remove.rb Command implementation detail; not part of public API
105
- Git::Commands::Remote::Rename class internal command-wrapper yes lib/git/commands/remote/rename.rb Command implementation detail; not part of public API
106
- Git::Commands::Remote::SetBranches class internal command-wrapper yes lib/git/commands/remote/set_branches.rb Command implementation detail; not part of public API
107
- Git::Commands::Remote::SetHead class internal command-wrapper yes lib/git/commands/remote/set_head.rb Command implementation detail; not part of public API
108
- Git::Commands::Remote::SetUrl class internal command-wrapper yes lib/git/commands/remote/set_url.rb Command implementation detail; not part of public API
109
- Git::Commands::Remote::SetUrlAdd class internal command-wrapper yes lib/git/commands/remote/set_url_add.rb Command implementation detail; not part of public API
110
- Git::Commands::Remote::SetUrlDelete class internal command-wrapper yes lib/git/commands/remote/set_url_delete.rb Command implementation detail; not part of public API
111
- Git::Commands::Remote::Show class internal command-wrapper yes lib/git/commands/remote/show.rb Command implementation detail; not part of public API
112
- Git::Commands::Remote::Update class internal command-wrapper yes lib/git/commands/remote/update.rb Command implementation detail; not part of public API
113
- Git::Commands::Repack class internal command-wrapper yes lib/git/commands/repack.rb Command implementation detail; not part of public API
114
- Git::Commands::Reset class internal command-wrapper yes lib/git/commands/reset.rb Command implementation detail; not part of public API
115
- Git::Commands::RevParse class internal command-wrapper yes lib/git/commands/rev_parse.rb Command implementation detail; not part of public API
116
- Git::Commands::Revert class internal command-wrapper yes lib/git/commands/revert.rb Command implementation detail; not part of public API
117
- Git::Commands::Revert::Abort class internal command-wrapper yes lib/git/commands/revert/abort.rb Command implementation detail; not part of public API
118
- Git::Commands::Revert::Continue class internal command-wrapper yes lib/git/commands/revert/continue.rb Command implementation detail; not part of public API
119
- Git::Commands::Revert::Quit class internal command-wrapper yes lib/git/commands/revert/quit.rb Command implementation detail; not part of public API
120
- Git::Commands::Revert::Skip class internal command-wrapper yes lib/git/commands/revert/skip.rb Command implementation detail; not part of public API
121
- Git::Commands::Revert::Start class internal command-wrapper yes lib/git/commands/revert/start.rb Command implementation detail; not part of public API
122
- Git::Commands::Rm class internal command-wrapper yes lib/git/commands/rm.rb Command implementation detail; not part of public API
123
- Git::Commands::Show class internal command-wrapper yes lib/git/commands/show.rb Command implementation detail; not part of public API
124
- Git::Commands::ShowRef class internal command-wrapper yes lib/git/commands/show_ref.rb Command implementation detail; not part of public API
125
- Git::Commands::ShowRef::ExcludeExisting class internal command-wrapper yes lib/git/commands/show_ref/exclude_existing.rb Command implementation detail; not part of public API
126
- Git::Commands::ShowRef::Exists class internal command-wrapper yes lib/git/commands/show_ref/exists.rb Command implementation detail; not part of public API
127
- Git::Commands::ShowRef::List class internal command-wrapper yes lib/git/commands/show_ref/list.rb Command implementation detail; not part of public API
128
- Git::Commands::ShowRef::Verify class internal command-wrapper yes lib/git/commands/show_ref/verify.rb Command implementation detail; not part of public API
129
- Git::Commands::Stash class internal command-wrapper yes lib/git/commands/stash.rb Command implementation detail; not part of public API
130
- Git::Commands::Stash::Apply class internal command-wrapper yes lib/git/commands/stash/apply.rb Command implementation detail; not part of public API
131
- Git::Commands::Stash::Branch class internal command-wrapper yes lib/git/commands/stash/branch.rb Command implementation detail; not part of public API
132
- Git::Commands::Stash::Clear class internal command-wrapper yes lib/git/commands/stash/clear.rb Command implementation detail; not part of public API
133
- Git::Commands::Stash::Create class internal command-wrapper yes lib/git/commands/stash/create.rb Command implementation detail; not part of public API
134
- Git::Commands::Stash::Drop class internal command-wrapper yes lib/git/commands/stash/drop.rb Command implementation detail; not part of public API
135
- Git::Commands::Stash::List class internal command-wrapper yes lib/git/commands/stash/list.rb Command implementation detail; not part of public API
136
- Git::Commands::Stash::Pop class internal command-wrapper yes lib/git/commands/stash/pop.rb Command implementation detail; not part of public API
137
- Git::Commands::Stash::Push class internal command-wrapper yes lib/git/commands/stash/push.rb Command implementation detail; not part of public API
138
- Git::Commands::Stash::Show class internal command-wrapper yes lib/git/commands/stash/show.rb Command implementation detail; not part of public API
139
- Git::Commands::Stash::Store class internal command-wrapper yes lib/git/commands/stash/store.rb Command implementation detail; not part of public API
140
- Git::Commands::Status class internal command-wrapper yes lib/git/commands/status.rb Command implementation detail; not part of public API
141
- Git::Commands::SymbolicRef class internal command-wrapper yes lib/git/commands/symbolic_ref.rb Command implementation detail; not part of public API
142
- Git::Commands::SymbolicRef::Delete class internal command-wrapper yes lib/git/commands/symbolic_ref/delete.rb Command implementation detail; not part of public API
143
- Git::Commands::SymbolicRef::Read class internal command-wrapper yes lib/git/commands/symbolic_ref/read.rb Command implementation detail; not part of public API
144
- Git::Commands::SymbolicRef::Update class internal command-wrapper yes lib/git/commands/symbolic_ref/update.rb Command implementation detail; not part of public API
145
- Git::Commands::Tag class internal command-wrapper yes lib/git/commands/tag.rb Command implementation detail; not part of public API
146
- Git::Commands::Tag::Create class internal command-wrapper yes lib/git/commands/tag/create.rb Command implementation detail; not part of public API
147
- Git::Commands::Tag::Delete class internal command-wrapper yes lib/git/commands/tag/delete.rb Command implementation detail; not part of public API
148
- Git::Commands::Tag::List class internal command-wrapper yes lib/git/commands/tag/list.rb Command implementation detail; not part of public API
149
- Git::Commands::Tag::Verify class internal command-wrapper yes lib/git/commands/tag/verify.rb Command implementation detail; not part of public API
150
- Git::Commands::UpdateRef class internal command-wrapper yes lib/git/commands/update_ref.rb Command implementation detail; not part of public API
151
- Git::Commands::UpdateRef::Batch class internal command-wrapper yes lib/git/commands/update_ref/batch.rb Command implementation detail; not part of public API
152
- Git::Commands::UpdateRef::Delete class internal command-wrapper yes lib/git/commands/update_ref/delete.rb Command implementation detail; not part of public API
153
- Git::Commands::UpdateRef::Update class internal command-wrapper yes lib/git/commands/update_ref/update.rb Command implementation detail; not part of public API
154
- Git::Commands::Version class internal command-wrapper yes lib/git/commands/version.rb Command implementation detail; not part of public API
155
- Git::Commands::Worktree class internal command-wrapper yes lib/git/commands/worktree.rb Command implementation detail; not part of public API
156
- Git::Commands::Worktree::Add class internal command-wrapper yes lib/git/commands/worktree/add.rb Command implementation detail; not part of public API
157
- Git::Commands::Worktree::List class internal command-wrapper yes lib/git/commands/worktree/list.rb Command implementation detail; not part of public API
158
- Git::Commands::Worktree::Lock class internal command-wrapper yes lib/git/commands/worktree/lock.rb Command implementation detail; not part of public API
159
- Git::Commands::Worktree::ManagementBase class internal command-wrapper yes lib/git/commands/worktree/management_base.rb Command implementation detail; not part of public API
160
- Git::Commands::Worktree::Move class internal command-wrapper yes lib/git/commands/worktree/move.rb Command implementation detail; not part of public API
161
- Git::Commands::Worktree::Prune class internal command-wrapper yes lib/git/commands/worktree/prune.rb Command implementation detail; not part of public API
162
- Git::Commands::Worktree::Remove class internal command-wrapper yes lib/git/commands/worktree/remove.rb Command implementation detail; not part of public API
163
- Git::Commands::Worktree::Repair class internal command-wrapper yes lib/git/commands/worktree/repair.rb Command implementation detail; not part of public API
164
- Git::Commands::Worktree::Unlock class internal command-wrapper yes lib/git/commands/worktree/unlock.rb Command implementation detail; not part of public API
165
- Git::Commands::WriteTree class internal command-wrapper yes lib/git/commands/write_tree.rb Command implementation detail; not part of public API
166
- Git::Config class public entry-point no lib/git/config.rb Global git configuration access
167
- Git::ConfigEntryInfo class public value-object no lib/git/config_entry_info.rb Public value object returned from facade methods
168
- Git::Configuring module internal topic-module no lib/git/configuring.rb Organizational container for config facade methods; included by Git::Repository — currently @api public; C1c will flip to @api private; its methods are public
169
- Git::DetachedHeadInfo class internal value-object no lib/git/detached_head_info.rb WIP: not yet produced by any command (intended for a future show_current detached-HEAD result); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
170
- Git::Diff class public return-type no lib/git/diff.rb Public return type from facade methods
171
- Git::Diff::DiffFile class public value-object no lib/git/diff.rb Public value object returned from facade methods
172
- Git::Diff::FullDiffParser class internal parser yes lib/git/diff.rb Internal diff parser; not part of public API
173
- Git::DiffFileNumstatInfo class internal value-object no lib/git/diff_file_numstat_info.rb WIP: only used by internal Git::Parsers::Diff, partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
174
- Git::DiffFilePatchInfo class internal value-object no lib/git/diff_file_patch_info.rb WIP: only used by internal Git::Parsers::Diff, partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
175
- Git::DiffFileRawInfo class internal value-object no lib/git/diff_file_raw_info.rb WIP: only used by internal Git::Parsers::Diff, partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
176
- Git::DiffInfo class internal value-object no lib/git/diff_info.rb WIP: not currently instantiated anywhere; part of a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
177
- Git::DiffPathStatus class public value-object no lib/git/diff_path_status.rb Public value object returned from facade methods
178
- Git::DiffResult class internal value-object no lib/git/diff_result.rb WIP: only constructed by internal Git::Parsers::Diff, partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
179
- Git::DiffStats class public value-object no lib/git/diff_stats.rb Public value object returned from facade methods
180
- Git::DirstatEntry class internal value-object no lib/git/dirstat_info.rb WIP: only used by internal Git::Parsers::Diff (element of Git::DirstatInfo#entries), partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
181
- Git::DirstatInfo class internal value-object no lib/git/dirstat_info.rb WIP: only used by internal Git::Parsers::Diff, partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
182
- Git::EncodingUtils class internal plumbing yes lib/git/encoding_utils.rb Internal encoding utility; not part of public API
183
- Git::Error class public error no lib/git/errors.rb Public exception class raised by facade methods
184
- Git::EscapedPath class internal plumbing no lib/git/escaped_path.rb Internal path escaping utility; currently @api public — needs flip to @api private in C1c
185
- Git::ExecutionContext class internal execution-context yes lib/git/execution_context.rb Internal execution context; not part of public API
186
- Git::ExecutionContext::Global class internal execution-context yes lib/git/execution_context/global.rb Internal execution context; not part of public API
187
- Git::ExecutionContext::Repository class internal execution-context yes lib/git/execution_context/repository.rb Internal execution context; not part of public API
188
- Git::FailedError class public error no lib/git/errors.rb Public exception class raised by facade methods
189
- Git::FileDiffInfo class internal value-object no lib/git/diff_info.rb WIP: not currently instantiated anywhere; part of a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
190
- Git::FileRef class internal value-object no lib/git/file_ref.rb WIP: only used by internal Git::Parsers::Diff (nested in raw/patch info), partial work for a future Git::Repository::Diffing refactor (v6.x or later); internal for now. C1c action: when setting @api private, also add a YARD comment noting this class is work-in-progress and may be made public in a later release.
191
- Git::FsckObject class public value-object no lib/git/fsck_object.rb Public value object returned from facade methods
192
- Git::FsckResult class public value-object no lib/git/fsck_result.rb Public value object returned from facade methods
193
- Git::GitAltURI class internal plumbing no lib/git/url.rb Internal URL parsing helper for SCP-style SSH syntax; never returned to users
194
- Git::Log class public return-type no lib/git/log.rb Public return type from facade methods
195
- Git::Log::Result class public value-object no lib/git/log.rb Public value object returned from facade methods
196
- Git::Object class public value-object no lib/git/object.rb Public git object type in the Git::Object hierarchy
197
- Git::Object::AbstractObject class internal abstract-base no lib/git/object.rb Abstract base class for git objects; not directly instantiated by users
198
- Git::Object::Blob class public value-object no lib/git/object.rb Public git object type in the Git::Object hierarchy
199
- Git::Object::Commit class public value-object no lib/git/object.rb Public git object type in the Git::Object hierarchy
200
- Git::Object::Tag class public value-object no lib/git/object.rb Public git object type in the Git::Object hierarchy
201
- Git::Object::Tree class public value-object no lib/git/object.rb Public git object type in the Git::Object hierarchy
202
- Git::Parsers module internal parser yes lib/git/parsers/branch.rb Parser implementation detail; not part of public API
203
- Git::Parsers::Branch class internal parser yes lib/git/parsers/branch.rb Parser implementation detail; not part of public API
204
- Git::Parsers::CatFile class internal parser yes lib/git/parsers/cat_file.rb Parser implementation detail; not part of public API
205
- Git::Parsers::ConfigEntry class internal parser yes lib/git/parsers/config_entry.rb Parser implementation detail; not part of public API
206
- Git::Parsers::Diff class internal parser yes lib/git/parsers/diff.rb Parser implementation detail; not part of public API
207
- Git::Parsers::Diff::Numstat class internal parser yes lib/git/parsers/diff.rb Parser implementation detail; not part of public API
208
- Git::Parsers::Diff::Patch class internal parser yes lib/git/parsers/diff.rb Parser implementation detail; not part of public API
209
- Git::Parsers::Diff::Patch::PatchFileParser class internal parser yes lib/git/parsers/diff.rb Parser implementation detail; not part of public API
210
- Git::Parsers::Diff::Patch::PatchMetadataParser class internal parser yes lib/git/parsers/diff.rb Parser implementation detail; not part of public API
211
- Git::Parsers::Diff::Raw class internal parser yes lib/git/parsers/diff.rb Parser implementation detail; not part of public API
212
- Git::Parsers::Fsck class internal parser yes lib/git/parsers/fsck.rb Parser implementation detail; not part of public API
213
- Git::Parsers::Grep class internal parser yes lib/git/parsers/grep.rb Parser implementation detail; not part of public API
214
- Git::Parsers::LsRemote class internal parser yes lib/git/parsers/ls_remote.rb Parser implementation detail; not part of public API
215
- Git::Parsers::LsTree class internal parser yes lib/git/parsers/ls_tree.rb Parser implementation detail; not part of public API
216
- Git::Parsers::Stash class internal parser yes lib/git/parsers/stash.rb Parser implementation detail; not part of public API
217
- Git::Parsers::Stash::Fields class internal parser yes lib/git/parsers/stash.rb Parser implementation detail; not part of public API
218
- Git::Parsers::Tag class internal parser yes lib/git/parsers/tag.rb Parser implementation detail; not part of public API
219
- Git::ProcessIOError class public error no lib/git/errors.rb Public exception class raised by facade methods
220
- Git::Remote class public return-type no lib/git/remote.rb Public return type from facade methods
221
- Git::Repository class public return-type no lib/git/repository.rb Main facade for repository operations; return type of Git factory methods (.open, .clone, .init, .bare)
222
- Git::Repository::Branching module internal topic-module no lib/git/repository/branching.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
223
- Git::Repository::Branching::HeadState class internal state-object no lib/git/repository/branching.rb Internal state/path helper within a topic module
224
- Git::Repository::Committing module internal topic-module no lib/git/repository/committing.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
225
- Git::Repository::ContextHelpers module internal topic-module no lib/git/repository/context_helpers.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
226
- Git::Repository::Diffing module internal topic-module no lib/git/repository/diffing.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
227
- Git::Repository::Factories module internal topic-module yes lib/git/repository/factories.rb Organizational container; @api private set in PR 1597; its methods are public
228
- Git::Repository::Inspecting module internal topic-module no lib/git/repository/inspecting.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
229
- Git::Repository::Logging module internal topic-module no lib/git/repository/logging.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
230
- Git::Repository::Maintenance module internal topic-module no lib/git/repository/maintenance.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
231
- Git::Repository::Merging module internal topic-module no lib/git/repository/merging.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
232
- Git::Repository::ObjectOperations module internal topic-module no lib/git/repository/object_operations.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
233
- Git::Repository::PathResolver module internal plumbing yes lib/git/repository/path_resolver.rb Internal path resolution helper; already @api private
234
- Git::Repository::RemoteOperations module internal topic-module no lib/git/repository/remote_operations.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
235
- Git::Repository::Staging module internal topic-module no lib/git/repository/staging.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
236
- Git::Repository::Stashing module internal topic-module no lib/git/repository/stashing.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
237
- Git::Repository::StatusOperations module internal topic-module no lib/git/repository/status_operations.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
238
- Git::Repository::WorktreeOperations module internal topic-module no lib/git/repository/worktree_operations.rb Organizational container; currently @api public — C1c will flip to @api private; its methods are public
239
- Git::SignaledError class public error no lib/git/errors.rb Public exception class raised by facade methods
240
- Git::Stash class public return-type no lib/git/stash.rb Public return type from facade methods
241
- Git::StashInfo class public value-object no lib/git/stash_info.rb Public value object returned from facade methods
242
- Git::Stashes class public return-type no lib/git/stashes.rb Public return type from facade methods
243
- Git::Status class public return-type no lib/git/status.rb Public return type from facade methods
244
- Git::Status::StatusFile class public return-type no lib/git/status.rb Public return type from facade methods
245
- Git::Status::StatusFileFactory class internal plumbing yes lib/git/status.rb Internal factory for StatusFile objects; not part of public API
246
- Git::TagDeleteFailure class public value-object no lib/git/tag_delete_failure.rb Public value object returned from facade methods
247
- Git::TagDeleteResult class public value-object no lib/git/tag_delete_result.rb Public value object returned from facade methods
248
- Git::TagInfo class public value-object no lib/git/tag_info.rb Public value object returned from facade methods
249
- Git::TimeoutError class public error no lib/git/errors.rb Public exception class raised by facade methods
250
- Git::URL class internal plumbing no lib/git/url.rb Internal URL utility used by clone/remote internals; never returned to users
251
- Git::UnexpectedResultError class public error no lib/git/errors.rb Public exception class raised by facade methods
252
- Git::Version class internal plumbing no lib/git/version.rb Internal version type used by command layer; surfaces in Git::VersionError but users don't need to instantiate or subclass it
253
- Git::VersionConstraint class internal plumbing no lib/git/version_constraint.rb Internal constraint type used by Git::Commands::Base; surfaces via Git::VersionError#constraint but users don't need to construct or depend on it
254
- Git::VersionError class public error no lib/git/errors.rb Public exception class raised by facade methods
255
- Git::Worktree class public return-type no lib/git/worktree.rb Public return type from facade methods
256
- Git::Worktrees class public return-type no lib/git/worktrees.rb Public return type from facade methods