git 5.0.0 → 5.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ea415b04fe50fea515b1473234c75d36895517e656b5cd6364f341da888365c
4
- data.tar.gz: 8fe3a13cff41bf5391fcb3f3abf78e2bf8b71890247fce51f987490ae2e1691c
3
+ metadata.gz: 94d97e48dd1d4b34affe837d38258f7b0f7edf02338d0e0def333ac80e147244
4
+ data.tar.gz: 5367c11505c46d9745d492a97671346531fddfdc3649b445bae9eb2636f87202
5
5
  SHA512:
6
- metadata.gz: a9e9a4af8f28d31f92b736010c1cf50dd45a965cabd2e63716a6c0f6ab4e8083cf88c9500bb73346f1d454629955da0f0ed11606f929b45369c20e4bd832d53a
7
- data.tar.gz: 61eaa74c731cd013916b3adc7a5488a2a24c0b2618d67b9450e41dcd96bbce27936ce8b0fa224c0e6f6a0b4f5ac4dd6acd17633c621a53d4ed8e6940ccc57a57
6
+ metadata.gz: 4e404e6b31961cf3c71e391ce4898436f07de8dd2ffc37947281f103513241c531e21aa799ae32296ec6ef47d2b1dad465205fd3b0936ee104b6774870805391
7
+ data.tar.gz: 778bbd70beb547b4574e8d361acc2873320b42bd4b5f190012309a3b90da72d55468a8c5b4adf87a3ed773ab08945e7ac81b3d282c86bb8bda64821282a3c101
@@ -2,95 +2,41 @@
2
2
 
3
3
  ## Project Overview
4
4
 
5
- ruby-git is a Ruby gem providing a Ruby interface to Git repositories. It wraps
6
- system calls to the `git` CLI and exposes an API for creating and manipulating repos,
7
- working with branches/commits/tags/remotes, inspecting history and objects, and
8
- performing all standard Git operations.
5
+ A Ruby gem providing an interface to Git repositories by wrapping system calls to the
6
+ `git` CLI.
9
7
 
10
- **Status:** Stable. Minimum Ruby 3.2.0, minimum Git 2.28.0. MRI on macOS/Linux/Windows;
11
- JRuby and TruffleRuby on Linux (JRuby/TruffleRuby on Windows are not tested).
8
+ Read the "Project Context" skill (`.github/skills/project-context/SKILL.md`) for
9
+ design philosophy, technical details, and compatibility requirements.
12
10
 
13
- For architecture details, coding standards, design philosophy, key technical details,
14
- and compatibility requirements see the
15
- [Project Context](skills/project-context/SKILL.md) skill.
11
+ This project enforces Conventional Commits. See `.commitlintrc.yml` for allowed types
12
+ and scopes. Never use `#` in the commit message body. Doing so will cause
13
+ commitlint to incorrectly parse the commit message body as a footer. If you need to
14
+ refer to an issue in the body, use `issue 999` instead of `issue #999`. It is still
15
+ fine to use `#` in footer values such as `Closes: #999` or `Refs: #999`.
16
16
 
17
17
  ## Terminology & Writing Style
18
18
 
19
- - Use American English always. Avoid British English spellings and idioms.
20
- - **Version strings** use the most precise form appropriate to the context:
21
- - `vN.x` (e.g. `v5.x`, `v4.x`) the whole major series; use for compatibility
22
- statements and upgrade guide scope ("v4.x code works on v5.x").
23
- - `vN.0.0` (e.g. `v5.0.0`, `v6.0.0`) — a specific first release; use when
24
- precision matters ("removed in v5.0.0", "the foundation delivered in v5.0.0").
25
- - `vN.0` — avoid; ambiguous between "minor version 0" and "shorthand for vN.0.0".
26
- - **RuboCop** — correct capitalization when referring to the tool by name in prose,
27
- documentation, or comments.
28
- - **`rubocop`** — correct form when referring to the command-line executable or gem
29
- name (e.g., `gem 'rubocop'`, `bundle exec rubocop`).
30
- - **Rubocop** — incorrect; never use this form.
31
-
32
- ## Skill Loading
33
-
34
- When a skill applies to a request, read the entire `SKILL.md` file before taking
35
- any other action. Read from line 1 through EOF with no gaps. Simple code review
36
- or explanation does not require a skill.
19
+ - Use American English.
20
+ - **Version strings:** Use `vN.x` for major series compatibility (e.g., `v4.x`) and
21
+ `vN.0.0` for specific releases (e.g., `v5.0.0`). Never use the ambiguous `vN.0`.
22
+ - **RuboCop:** Use `RuboCop` for prose and `rubocop` for CLI or gem names. Never use
23
+ `Rubocop`.
37
24
 
38
25
  ## Project Commands
39
26
 
40
27
  | Purpose | Command |
41
28
  | --- | --- |
42
- | First-time setup | `bin/setup` |
43
- | Run all tests and linters (CI-equivalent) | `bundle exec rake default` |
44
- | Run all tests and linters (force parallel) | `bundle exec rake default:parallel` |
45
- | Run all RSpec tests | `bundle exec rake spec:parallel` |
46
- | Run RSpec unit tests | `bundle exec rake spec:unit:parallel` |
47
- | Run RSpec integration tests | `bundle exec rake spec:integration:parallel` |
29
+ | First-time project or new worktree setup | `bin/setup` |
30
+ | Run all tests and linters (CI-equivalent) | `bundle exec rake` |
31
+ | Run all RSpec tests | `bundle exec rake spec` |
32
+ | Run RSpec unit tests | `bundle exec rake spec:unit` |
33
+ | Run RSpec integration tests | `bundle exec rake spec:integration` |
48
34
  | Run a specific RSpec spec | `bundle exec rspec <path>` |
49
35
  | Run linters | `bundle exec rake rubocop yard build` |
50
36
 
51
- **Test suite:** `spec/` (RSpec) is the sole test suite — all new tests go here.
52
-
53
- ## Commit Conventions
54
-
55
- This project uses [Conventional Commits](https://www.conventionalcommits.org/).
56
- Automated releases via [release-please](https://github.com/googleapis/release-please).
57
-
58
- **Format:** `type[optional scope][!]: description`
59
-
60
- **Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`,
61
- `revert`, `ci`, `build`
62
-
63
- **Breaking changes:** Add `!` before `:` and a `BREAKING CHANGE: <description>`
64
- footer.
65
-
66
- **Version bumps:** breaking change → major; `feat` → minor; others → patch.
67
-
68
- **Pre-commit hook:** Run `bin/setup` to install a validator.
69
-
70
37
  ## Branch & PR Strategy
71
38
 
72
39
  | Target | When |
73
40
  | --- | --- |
74
41
  | `main` | New features, breaking changes, all active development |
75
42
  | `4.x` | Security fixes and backward-compatible bug fixes for the v4.x series |
76
-
77
- > **Never commit directly to `main` or `4.x`** — this rule must never be violated.
78
- > Always check `git branch --show-current` before committing. If on a release branch,
79
- > run `git switch -c <type>/<short-description>` first.
80
-
81
- All changes go through a PR from a topic branch.
82
-
83
- **Creating a PR:** Use `gh pr create`. Read `.github/pull_request_template.md` for
84
- the body structure. Complete the [PR Readiness Review](skills/pr-readiness-review/SKILL.md)
85
- skill first.
86
-
87
- ## Key Documents
88
-
89
- | Document | Purpose |
90
- | --- | --- |
91
- | `CONTRIBUTING.md` | Design philosophy, contribution guidelines |
92
- | `CHANGELOG.md` | Version history (auto-updated by release-please) |
93
- | `MAINTAINERS.md` | Maintainer list and responsibilities |
94
- | `AI_POLICY.md` | AI usage policy for this project |
95
- | `redesign/` | Architecture redesign plans and implementation guide |
96
- | `.github/skills/` | All Copilot skills |
data/.gitignore CHANGED
@@ -21,4 +21,7 @@ rubocop-report.json
21
21
  # generated git reference docs
22
22
  git-reference/
23
23
 
24
+ # git versions built by bin/build-git-versions
25
+ git-versions/
26
+
24
27
  tmp
data/.husky/pre-commit CHANGED
@@ -7,7 +7,7 @@ protected_branches="main 4.x"
7
7
  for protected in $protected_branches; do
8
8
  if [ "$branch" = "$protected" ]; then
9
9
  echo "ERROR: Direct commits to '$branch' are not allowed."
10
- echo " Create a topic branch first: git switch -c <branch-name>"
10
+ echo " Create a topic branch first: git switch -c <type>/<short-description>"
11
11
  exit 1
12
12
  fi
13
13
  done
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "5.0.0"
2
+ ".": "5.0.2"
3
3
  }