Have init script clone submodules unconditionally by EliahKagan · Pull Request #1715 · gitpython-developers/GitPython
added 2 commits
This has actions/checkout no longer automatically clone submodules in the CI test workflows. This change is for the purpose of reproducing gitpython-developers#1713, to allow the forthcoming fix for it to be tested. However, continuing to rely on init-tests-after-clone.sh to get the submodules would serve as a kind of regression testing for gitpython-developers#1713. So it is unclear at this time if and when this change should be undone.
Since 7110bf8 (in gitpython-developers#1693), "git submodule update --init --recursive" was not run on CI, on the mistaken grounds that the CI test workflows would already have taken care of cloning all submodules (ever since 4eef3ec when the "submodules: recursive" option was added to the actions/checkout step). This changes the init-tests-after-clone.sh script to again run that command unconditionally, including on CI. The assumption that it wasn't needed on CI was based on the specific content of GitPython's own GitHub Actions workflows. But this disregarded that the test suite is run on CI for *other* projects: specifically, for downstream projects that package GitPython (gitpython-developers#1713). This also brings back the comment from fc96980 that says more about how the tests rely on submodules being present (specifically, that they need a submodule with a submodule). However, that is not specifically related to the bug being fixed.
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is **temporary** and is reverted after the next commit's bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI: `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI catches gitpython-developers#1713-class regressions before they reach distros. See PR gitpython-developers#1715 (gitpython-developers#1715) for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the safe.directory bug still triggers, with the same `ValueError` / `IndexError` / `AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Native Linux/macOS/Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are not affected by the bug. Each workflow's checkout step carries an inline comment pointing at PR gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The bugfix in the immediately preceding commit is now established to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See PR gitpython-developers#1715 (gitpython-developers#1715) for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is *temporary* and will be reverted after the bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI. `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI is meant to catch regressions like gitpython-developers#1713 before they reach distros. See gitpython-developers#1715 for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the `safe.directory` bug still triggers, with the same `ValueError`/`IndexError`/`AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Linux / macOS / native Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are unaffected by the bug. Each workflow's checkout step carries an inline comment pointing at gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is *temporary* and will be reverted after the bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI. `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI is meant to catch regressions like gitpython-developers#1713 before they reach distros. See gitpython-developers#1715 for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the `safe.directory` bug still triggers, with the same `ValueError`/`IndexError`/`AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Linux / macOS / native Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are unaffected by the bug. Each workflow's checkout step carries an inline comment pointing at gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is *temporary* and will be reverted after the bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI. `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI is meant to catch regressions like gitpython-developers#1713 before they reach distros. See gitpython-developers#1715 for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the `safe.directory` bug still triggers, with the same `ValueError`/`IndexError`/`AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Linux / macOS / native Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are unaffected by the bug. Each workflow's checkout step carries an inline comment pointing at gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is *temporary* and will be reverted after the bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI. `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI is meant to catch regressions like gitpython-developers#1713 before they reach distros. See gitpython-developers#1715 for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the `safe.directory` bug still triggers, with the same `ValueError`/`IndexError`/`AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Linux / macOS / native Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are unaffected by the bug. Each workflow's checkout step carries an inline comment pointing at gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is *temporary* and will be reverted after the bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI. `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI is meant to catch regressions like gitpython-developers#1713 before they reach distros. See gitpython-developers#1715 for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the `safe.directory` bug still triggers, with the same `ValueError`/`IndexError`/`AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Linux / macOS / native Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are unaffected by the bug. Each workflow's checkout step carries an inline comment pointing at gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Add `submodules: recursive` to the `actions/checkout` step in every workflow that runs the test suite (`cygwin-test.yml`, `pythonpackage.yml`, `alpine-test.yml`). This is *temporary* and will be reverted after the bugfix, with the explicit intent of demonstrating that the bugfix works regardless of which mechanism populates the submodules. The standing decision is to NOT use `submodules: recursive` in CI. `init-tests-after-clone.sh` is the documented setup mechanism that downstream packagers (Arch Linux and others) rely on, and keeping it as the sole submodule source on upstream CI is meant to catch regressions like gitpython-developers#1713 before they reach distros. See gitpython-developers#1715 for the full rationale. The CI run on this commit is expected to show: - Cygwin (`test-cygwin`): the `safe.directory` bug still triggers, with the same `ValueError`/`IndexError`/`AssertionError` pattern as the previous commits. The bug is independent of which process clones the submodules; the gitdb worktree directory itself is created Admin-owned by the outer `git clone`'s checkout phase before any submodule init runs, regardless of which mechanism populates the submodule contents afterward. - Linux / macOS / native Windows (`Python package`) and Alpine Linux (`test-alpine`): tests pass as before. These platforms are unaffected by the bug. Each workflow's checkout step carries an inline comment pointing at gitpython-developers#1715 so the temporary nature of the change is legible at a glance. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EliahKagan added a commit to EliahKagan/GitPython that referenced this pull request
Revert the temporary addition of `submodules: recursive` to `actions/checkout` in `cygwin-test.yml`, `pythonpackage.yml`, and `alpine-test.yml`. The `safe.directory` fix has been verified to work regardless of which mechanism populates the submodules. Returning the workflows to their pre-test posture restores the standing arrangement: `init-tests-after-clone.sh` as the sole submodule source on upstream CI. See gitpython-developers#1715 for the rationale. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>