Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
706 commits
Select commit Hold shift + click to select a range
8e69f21
Merge tag 'v2.0.5'
Byron Feb 23, 2020
541472d
Change package name to 'smmap'; bump version to 3.0.0
Byron Feb 23, 2020
1b92f4f
Update makefile to sign with new signature
Byron Feb 23, 2020
74aef73
v3.0.3.post1
Harmon758 Feb 23, 2020
9bca8b2
Merge pull request #40 from adamchainz/markdown
Harmon758 Feb 23, 2020
72698cc
Remove carriage returns in setup.py long_description
Harmon758 Feb 23, 2020
d076f66
v3.0.1
Harmon758 Feb 23, 2020
253dfe7
v4.0.1
Harmon758 Feb 23, 2020
02d83a8
Remove setup.cfg because the gitdb dropped Python 2 support
Feb 24, 2020
0016dae
Merge pull request #62 from Nicusor97/remove-setup-cfg-because-it-dro…
Harmon758 Feb 24, 2020
9b03095
v4.0.2
Harmon758 Feb 24, 2020
77b39e9
Create pythonpackage.yml
Byron Apr 11, 2020
cc21afa
Replace travis with github actions
Byron Apr 11, 2020
e6cc702
don't try to use __file__ when using pyoxidizer
Byron Apr 11, 2020
aa12752
Add github actions
Byron Apr 11, 2020
b22f159
Fix github actions - no dependencies need to be installed
Byron Apr 11, 2020
2ceedc9
Remove basestring reference, no py2 support
Byron Apr 11, 2020
ebec896
Update badges to represent reality
Byron Apr 11, 2020
f4d7a58
bump patch level
Byron Apr 11, 2020
57d3f75
bump patch level; mark travis-ci as unused
Byron Apr 11, 2020
0002408
update changelog; remove sublime text (editor) configuration
Byron Apr 11, 2020
b8ab128
Bump patch again; …upload error due to state on disk, yikes
Byron Apr 11, 2020
4f08b0a
Remove windows build badge
Byron Apr 11, 2020
919695d
Also remove coveralls
Byron Apr 11, 2020
5a42c62
Remove issuestats, which doesn't exist anymore
Byron Apr 11, 2020
24668c4
Change required key to 2CF*, which seems to be the only good one
Byron Apr 11, 2020
09f96f2
re-release with different signing key
Byron Apr 11, 2020
a5d3d7e
change package signing key back to what it was
Byron Apr 11, 2020
5e5f940
Bump patch level (to create a new correctly signed release)
May 5, 2020
163f264
Bump patch level for creating a new properly signed release
May 5, 2020
e5410b4
Fix exception causes in loose.py
cool-RR Jun 12, 2020
112252c
Fix exception causes all over the codebase
cool-RR Jun 14, 2020
c96c755
Add Ram Rachum to AUTHORS
cool-RR Jun 15, 2020
56cbfa0
Fix changelog version number
Harmon758 Jan 18, 2021
0b53ddc
Remove Sublime Text project definition
Harmon758 Jan 18, 2021
e79fe25
Remove duplicate sys import
Harmon758 Jan 18, 2021
066f038
Remove bytes existence check
Harmon758 Jan 18, 2021
e45fd07
Merge remote-tracking branch 'origin'
Byron Jan 21, 2021
93c7ba6
Revert "Remove basestring reference, no py2 support"
Byron Apr 11, 2020
06c4972
Ignore Flake8 undefined name error for Python 2 support
Harmon758 Jan 21, 2021
c661324
Improve changelog for v3.0.2
Harmon758 Jan 21, 2021
37cc3c0
Improve capitalization consistency in changelog for v3.0.4
Harmon758 Jan 21, 2021
65f171a
Add changelog for v3.0.5
Harmon758 Jan 21, 2021
119cc41
bump patch level
Byron Jan 23, 2021
9c2570b
Improve changelog for v3.0.5
Harmon758 Jan 24, 2021
341b278
Remove string_types
Harmon758 Jan 24, 2021
da0a610
Remove buffer
Harmon758 Jan 24, 2021
0e59cc9
Update Python requirement to >= 3.4
Harmon758 Jan 24, 2021
ee01c2e
Update setup classifiers to be only Python 3
Harmon758 Jan 24, 2021
9478708
Update Python prerequisite in README
Harmon758 Jan 24, 2021
cc7d2b8
Remove information about Python < 2.5 in README
Harmon758 Jan 24, 2021
3646d13
Remove Python 2.7 from tox configuration
Harmon758 Jan 24, 2021
d200705
Update Python prerequisite in documentation
Harmon758 Jan 24, 2021
72d47eb
Remove information about Python < 2.5 in documentation
Harmon758 Jan 24, 2021
812ad85
Replace codecs.open with open
Harmon758 Jan 24, 2021
960cbc5
Remove buffer usage from TestTutorial.test_example
Harmon758 Jan 24, 2021
230725f
Remove Development Status classifier comments in setup.py
Harmon758 Jan 24, 2021
710fb19
Remove Travis CI configuration file
Harmon758 Jan 24, 2021
724540c
Remove AppVeyor configuration file
Harmon758 Jan 24, 2021
18b499e
Remove MemoryManagerError and RegionCollectionError
Harmon758 Jan 24, 2021
fe64cbd
Remove Exceptions documentation
Harmon758 Jan 24, 2021
95431a2
Add Python 3.9 to GitHub Actions workflow
Harmon758 Jan 24, 2021
8fda488
Add Python 3.7, 3.8, and 3.9 to setup classifiers
Harmon758 Jan 24, 2021
c64ac58
Drop support for Python 3.4
Harmon758 Jan 24, 2021
689ab6f
Add Python 3.7, 3.8, and 3.9 to tox configuration
Harmon758 Jan 24, 2021
ed11471
Remove Python 3.4 from tox configuration
Harmon758 Jan 24, 2021
e762f17
Remove unused pyvers variable in SlidingWindowMapBuffer.__getslice__
Harmon758 Jan 24, 2021
30e93fe
v4.0.0
Harmon758 Jan 24, 2021
447c8a4
Bumped smmap upper bound
tmcclintock Mar 24, 2021
c5feb3d
Merge pull request #68 from tmcclintock/master
Harmon758 Mar 25, 2021
aa7228e
v4.0.6
Harmon758 Mar 25, 2021
fc11a03
Update smmap upper bound in setup.py
Harmon758 Mar 26, 2021
6b997cd
v4.0.7
Harmon758 Mar 26, 2021
03ab3a1
change signing key to the one I have
Byron Mar 25, 2021
dff15cd
Replace deprecated unittest aliases
hugovk Aug 19, 2021
1003c66
Fix Sphinx warnings
hugovk Aug 19, 2021
01b6510
Remove redundant Python 2.6 code
hugovk Aug 19, 2021
e4cd296
Remove redundant Python 2 code
hugovk Aug 19, 2021
0df4b09
Support Python 3.7-3.9
hugovk Aug 19, 2021
3affd88
Drop support for EOL Python 3.5
hugovk Oct 14, 2021
19772d2
Add support for Python 3.10
hugovk Oct 14, 2021
ddc4b9f
Switch from abandoned nose to pytest to support Python 3.10
hugovk Oct 14, 2021
1bda3b6
Universal wheels are for code expected to work on both Python 2 and 3
hugovk Oct 14, 2021
f0b322a
Upgrade Python syntax with pyupgrade --py36-plus
hugovk Oct 14, 2021
f2f2eb6
Merge pull request #46 from hugovk/master
Byron Oct 15, 2021
db88100
bump major version and update changelog
Byron Oct 15, 2021
47a74ca
Allow usage of smmap 5.0 (#76)
Byron Oct 23, 2021
9a28925
Drop support for python 3.4/3.5; make use of smmap 5.0 which does the…
Byron Oct 23, 2021
2913a64
Fix typos
kianmeng Jan 5, 2022
597d36c
Fix typos
kianmeng Jan 15, 2022
8551da6
Merge pull request #47 from kianmeng/fix-typos
Byron Jan 16, 2022
e3a4cfe
Switch from nose to pytest
carlwgeorge Feb 9, 2022
7c67010
bump patch level in the hopes for a valid sig on release
Byron Oct 24, 2021
4762d99
Stop signing releases (#77)
Byron Feb 21, 2022
334ef84
Stop signing releases
Byron Feb 21, 2022
2ce0e31
.gitmodules: update smmap url
RandyMcMillan Mar 15, 2022
a8cdf46
Add support for Python 3.11
hugovk Nov 16, 2022
0370014
Drop support for EOL Python 3.6
hugovk Nov 16, 2022
5f149c1
Add support for Python 3.10 and 3.11
hugovk Nov 16, 2022
a6f0856
Remove redundant Travis CI config/code
hugovk Nov 16, 2022
faed217
Drop support for EOL Python 3.5 and 3.6
hugovk Nov 16, 2022
7a68270
Upgrade Python syntax with pyupgrade --py37-plus
hugovk Nov 16, 2022
5cfacac
Merge pull request #48 from hugovk/master
Byron Nov 17, 2022
3415e08
Merge pull request #81 from hugovk/master
Byron Nov 17, 2022
c3ab5d7
Prefer import to __import__
zwimer Nov 23, 2022
1edc7d2
Add del smmap to match previous behavior
zwimer Nov 23, 2022
43de984
Merge pull request #82 from zwimer/prefer-standard-import
Byron Nov 23, 2022
38c68d9
bump version to 4.0.10
Byron Nov 24, 2022
49c3178
use python3 binary
Byron Nov 24, 2022
b6faecc
Use ZLIB_RUNTIME_VERSION if available
otethal Dec 9, 2022
8d92aba
Merge pull request #84 from otethal/zlib_check
Byron Dec 9, 2022
0522957
Bump GitHub Actions
hugovk Sep 9, 2023
8aa59e7
Add support for Python 3.12
hugovk Sep 9, 2023
f1b4d14
Drop support for EOL Python 3.7
hugovk Sep 9, 2023
7373a8c
Merge pull request #50 from hugovk/master
Byron Sep 10, 2023
32d12aa
Bump GitHub Actions
hugovk Sep 10, 2023
d7fc1fd
Add support for Python 3.12
hugovk Sep 10, 2023
875acb4
Drop support for EOL Python 3.7
hugovk Sep 10, 2023
67ab5a7
Merge pull request #88 from hugovk/master
Byron Sep 10, 2023
8ac1884
Enable Dependabot version updates for Actions
EliahKagan Sep 10, 2023
e7937ae
Test installing project on CI
EliahKagan Sep 11, 2023
3612999
Merge pull request #89 from EliahKagan/deps
Byron Sep 11, 2023
d22ac20
Merge pull request #90 from EliahKagan/ci-install
Byron Sep 11, 2023
60f7f94
Fix mkdir race condition in LooseObjectDB.store
EliahKagan Sep 11, 2023
9d126ce
Don't cancel other jobs from the 3.12 job failing
EliahKagan Sep 11, 2023
295a55b
Merge pull request #91 from EliahKagan/toctou
Byron Sep 11, 2023
919d3cc
Use actions/checkout feature to fetch all commits
EliahKagan Sep 11, 2023
2916865
Merge pull request #93 from EliahKagan/ci-continue
Byron Sep 11, 2023
07948eb
Merge pull request #92 from EliahKagan/ci-checkout
Byron Sep 11, 2023
bd21ed4
Revert "Drop support for EOL Python 3.7"
EliahKagan Sep 11, 2023
d24f019
Merge pull request #94 from EliahKagan/py37
Byron Sep 11, 2023
810ae3a
prepare v6.0.0
Byron Sep 17, 2023
ce03fde
improve release setup based on the one in GitPython
Byron Sep 17, 2023
e163592
adjust force-release target to handle differently named main branch
Byron Sep 17, 2023
b98fdd1
Revert "Drop support for EOL Python 3.7"
EliahKagan Sep 17, 2023
156151c
Merge pull request #52 from EliahKagan/py37
Byron Sep 17, 2023
256c5a2
prepare v5.0.1
Byron Sep 17, 2023
e0769d1
Fix top-of-file license URLs here in gitdb too
EliahKagan Sep 17, 2023
f1ddf01
Update ci, in line with gitdb
EliahKagan Sep 17, 2023
a898bef
Merge pull request #96 from EliahKagan/license-ambiguity
Byron Sep 18, 2023
0257382
Merge pull request #53 from EliahKagan/ci
Byron Sep 18, 2023
cd8da41
Run CI on all branches
EliahKagan Oct 3, 2023
00bbc44
No longer treat 3.12 as experimental on CI
EliahKagan Oct 3, 2023
69cd90f
Run CI on all branches
EliahKagan Oct 3, 2023
44ac30a
No longer treat 3.12 as experimental on CI
EliahKagan Oct 3, 2023
256d341
Merge pull request #97 from EliahKagan/312stable
Byron Oct 3, 2023
f1ace75
Merge pull request #54 from EliahKagan/312stable
Byron Oct 3, 2023
70098c9
Add __all__ to exc for linting
DeflateAwning Oct 6, 2023
8ec2390
Merge pull request #98 from DeflateAwning/patch-1
Byron Oct 7, 2023
12db86c
Have Dependabot update smmap submodule dependency
EliahKagan Oct 13, 2023
9ea0635
Merge pull request #99 from EliahKagan/submodule-dependabot
Byron Oct 13, 2023
8e61396
Bump gitdb/ext/smmap from `334ef84` to `f1ace75`
dependabot[bot] Oct 13, 2023
6a22706
Merge pull request #100 from gitpython-developers/dependabot/submodul…
Byron Oct 13, 2023
2057ae6
bump versions to prepare for next release
Byron Oct 20, 2023
3d3e957
fix makefile to allow building packages with current python version
Byron Oct 20, 2023
965d2d3
Never add a vendored smmap directory to sys.path
EliahKagan Oct 20, 2023
dfbfb12
Revise and update the readme
EliahKagan Oct 20, 2023
e998429
Set Dependabot submodule update cadence to weekly
EliahKagan Oct 20, 2023
9302789
Merge pull request #102 from EliahKagan/nopathmod
Byron Oct 20, 2023
3753f72
Merge pull request #103 from EliahKagan/update-readme
Byron Oct 20, 2023
ec58b7e
Merge pull request #104 from EliahKagan/cadence
Byron Oct 20, 2023
24ecf58
fix #101
Clavss Dec 8, 2023
b653923
Merge pull request #109 from Clavss/fix-issue-101
Byron Dec 8, 2023
36dd418
Bump actions/setup-python from 4 to 5
dependabot[bot] Dec 11, 2023
7d6f97c
Merge pull request #55 from gitpython-developers/dependabot/github_ac…
Byron Dec 11, 2023
86402e6
Bump actions/setup-python from 4 to 5
dependabot[bot] Dec 11, 2023
a315725
Replace use of mktemp
EliahKagan Dec 13, 2023
04dd210
Merge pull request #56 from EliahKagan/no-mktemp
Byron Dec 13, 2023
5aeb6e0
Bump gitdb/ext/smmap from `256c5a2` to `04dd210`
dependabot[bot] Dec 18, 2023
f71bbd4
Use SPDX identifier
Shortfinga Jan 25, 2024
59c88c0
Merge pull request #57 from Shortfinga/master
Byron Jan 26, 2024
d50b2e3
Use contextlib.suppress instead of except: pass
blablatdinov Jun 9, 2024
88da5ef
Merge pull request #113 from blablatdinov/use-contextlib-suppress
Byron Jun 10, 2024
5bc9504
Add support for Python 3.13
edgarrmondragon Oct 9, 2024
b38cbc4
Use older ubuntu to get Python 3.7
edgarrmondragon Oct 9, 2024
a8c894f
Merge pull request #114 from edgarrmondragon/cp313
Byron Oct 9, 2024
74a0eab
Potential Race Condition Fix - OS Rename & Chmod
DEKHTIARJonathan Dec 24, 2024
b71e273
Update gitdb/db/loose.py
DEKHTIARJonathan Dec 30, 2024
38b5c38
Merge pull request #115 from DEKHTIARJonathan/patch-1
Byron Jan 2, 2025
be483fc
Merge pull request #112 from gitpython-developers/dependabot/submodul…
Byron Jan 2, 2025
bcbe5df
Merge pull request #111 from gitpython-developers/dependabot/github_a…
Byron Jan 2, 2025
f31bfa3
bump patch level prior to new release
Byron Jan 2, 2025
104138c
bump patch level to prepare for next release
Byron Jan 2, 2025
775cfe8
update scripts to allow release (copied from smmap)
Byron Jan 2, 2025
636b3e0
Test Python 3.7 on Ubuntu 22.04, and add Ubuntu 3.13
EliahKagan Jan 2, 2025
8d0e0bd
Merge pull request #58 from EliahKagan/versions
Byron Jan 2, 2025
13b8c9b
Add SECURITY.md, referencing the GitPython one
EliahKagan Jan 5, 2025
2620952
Add SECURITY.md, referencing GitPython's
EliahKagan Jan 5, 2025
8f82e6c
Merge pull request #59 from EliahKagan/security
Byron Jan 5, 2025
6fdd19c
Merge pull request #117 from EliahKagan/security
Byron Jan 5, 2025
4fe5657
Bump gitdb/ext/smmap from `f31bfa3` to `8f82e6c`
dependabot[bot] Jan 6, 2025
9e68ea1
Merge pull request #118 from gitpython-developers/dependabot/submodul…
Byron Jan 6, 2025
b4fd74c
Improve description of backoff sequence in db.loose
EliahKagan Jan 26, 2025
f36c0cc
Merge pull request #119 from EliahKagan/quadratic
Byron Jan 27, 2025
0664fe8
Specify explicit `contents: read` workflow permissions
EliahKagan May 30, 2025
d7a7b3b
Specify explicit `contents: read` workflow permissions
EliahKagan May 30, 2025
12f8916
Merge pull request #121 from EliahKagan/gha-permissions
EliahKagan May 30, 2025
ba12b13
Merge pull request #60 from EliahKagan/gha-permissions
EliahKagan May 30, 2025
8d57ac7
Add CI test job for no-GIL ("threaded") Python 3.13
EliahKagan May 30, 2025
90738a9
Add CI test job for no-GIL ("threaded") Python 3.13
EliahKagan May 30, 2025
7e02fbd
Merge pull request #122 from EliahKagan/threaded
EliahKagan May 30, 2025
c6b53d3
Merge pull request #61 from EliahKagan/threaded
EliahKagan May 30, 2025
18b437b
Bump gitdb/ext/smmap from `8f82e6c` to `c6b53d3`
dependabot[bot] Jun 2, 2025
335c0f6
Merge pull request #123 from gitpython-developers/dependabot/submodul…
Byron Jun 3, 2025
fd655f9
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 18, 2025
1de0797
Merge pull request #62 from gitpython-developers/dependabot/github_ac…
EliahKagan Aug 18, 2025
366859f
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 18, 2025
39d7dbf
Merge pull request #124 from gitpython-developers/dependabot/github_a…
EliahKagan Aug 18, 2025
70abd0e
Bump gitdb/ext/smmap from `c6b53d3` to `1de0797`
dependabot[bot] Aug 18, 2025
22ebeaa
Merge pull request #125 from gitpython-developers/dependabot/submodul…
EliahKagan Aug 18, 2025
7f39c74
Bump actions/setup-python from 5 to 6
dependabot[bot] Sep 4, 2025
7b0bb5e
Bump actions/setup-python from 5 to 6
dependabot[bot] Sep 4, 2025
801bd6f
Merge pull request #63 from gitpython-developers/dependabot/github_ac…
EliahKagan Sep 4, 2025
eb8e829
Merge pull request #126 from gitpython-developers/dependabot/github_a…
EliahKagan Sep 4, 2025
707b785
Bump gitdb/ext/smmap from `1de0797` to `801bd6f`
dependabot[bot] Sep 4, 2025
f8fdfec
Merge pull request #127 from gitpython-developers/dependabot/submodul…
EliahKagan Sep 4, 2025
8350bd5
Update pack.py - SonarQube issues
sminux Nov 1, 2025
65321a2
Merge pull request #130 from sminux/sminux-sast-checks
Byron Nov 1, 2025
164c34a
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
5ec977a
Merge pull request #64 from gitpython-developers/dependabot/github_ac…
EliahKagan Nov 24, 2025
b5a9cf8
Bump gitdb/ext/smmap from `801bd6f` to `5ec977a`
dependabot[bot] Nov 24, 2025
df9d041
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
9c98572
Merge pull request #132 from gitpython-developers/dependabot/github_a…
Byron Nov 24, 2025
4c63ee6
Merge pull request #131 from gitpython-developers/dependabot/submodul…
Byron Nov 24, 2025
5eaa310
Initial plan
Copilot Mar 9, 2026
e4ad410
Bump smmap version to 5.0.3 for Python 3.13 metadata release
chatgpt-codex-connector[bot] Mar 9, 2026
10aedd8
Merge pull request #66 from gitpython-developers/copilot/fix-issue-65…
Byron Mar 9, 2026
af034fc
Bump gitdb/ext/smmap from `5ec977a` to `e4ad410`
dependabot[bot] Mar 9, 2026
5c1b303
Merge pull request #133 from gitpython-developers/dependabot/submodul…
Byron Mar 9, 2026
5e74292
fix: replace deprecated codecs.open with built-in open (#128)
mvanhorn Apr 30, 2026
53c94d6
Merge pull request #134 from mvanhorn/fix/replace-codecs-open-issue-128
Byron Apr 30, 2026
81cf3e5
Fix DecompressMemMapReader.read returning b'' before EOF
mvanhorn May 8, 2026
ed41d2c
Apply suggestions from code review
Byron May 9, 2026
0a019a2
Merge pull request #135 from mvanhorn/fix/120-empty-read-before-eof
Byron May 9, 2026
edec9d4
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 22, 2026
8ce61ad
Merge pull request #67 from gitpython-developers/dependabot/github_ac…
EliahKagan Jun 22, 2026
2afc498
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 22, 2026
4950ea9
Merge pull request #136 from gitpython-developers/dependabot/github_a…
Byron Jun 22, 2026
920652a
Bump actions/setup-python from 6 to 7
dependabot[bot] Jul 20, 2026
2da3232
Merge pull request #137 from gitpython-developers/dependabot/github_a…
EliahKagan Jul 20, 2026
b3d9e00
Merge smmap into the GitPython repository
codex Jul 21, 2026
a0cbcc2
Merge gitdb into the GitPython repository
codex Jul 21, 2026
60ff1d0
Build gitdb and smmap from the GitPython monorepo
codex Jul 21, 2026
29b584d
Keep root lint scoped to GitPython
codex Jul 21, 2026
a2794e0
Isolate dependency tests from GitPython pytest options
codex Jul 21, 2026
4379c31
Reset reconstructed dependency fixture branches
codex Jul 21, 2026
205d4cc
Handle bytes-like tree data consistently
codex Jul 21, 2026
bf9aea6
Exclude imported tests from CodeQL analysis
codex Jul 21, 2026
f656e01
Pack reconstructed dependency fixtures
codex Jul 21, 2026
f377fc7
Avoid hardlinks in Unicode clone test
codex Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ updates:
schedule:
interval: weekly

- package-ecosystem: gitsubmodule
directory: "/"
schedule:
interval: weekly

- package-ecosystem: pre-commit
directory: "/"
schedule:
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/alpine-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,13 @@ jobs:
- name: Install project and test dependencies
run: |
. .venv/bin/activate
pip install '.[test]'
pip install ./smmap ./gitdb '.[test]'

- name: Show POSIX file ownership
run: |
ls -ld -- \
"$(pwd)" \
"$(pwd)/.git" \
"$(pwd)/git/ext/gitdb" \
"$(pwd)/git/ext/gitdb/.git" \
"$(pwd)/git/ext/gitdb/gitdb/ext/smmap" \
"$(pwd)/git/ext/gitdb/gitdb/ext/smmap/.git" \
"${HOME:?HOME is not set}/.gitconfig" \
2>&1 || true

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ jobs:
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config: |
paths-ignore:
- gitdb/gitdb/test/**
- smmap/smmap/test/**
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
Expand Down
16 changes: 1 addition & 15 deletions .github/workflows/cygwin-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ jobs:
run: |
git config --global --add safe.directory "$(pwd)"
git config --global --add safe.directory "$(pwd)/.git"
git config --global --add safe.directory "$(pwd)/git/ext/gitdb"
git config --global --add safe.directory "$(pwd)/git/ext/gitdb/gitdb/ext/smmap"
git config --global core.autocrlf false

- name: Prepare this repo for tests
Expand All @@ -84,7 +82,7 @@ jobs:

- name: Install project and test dependencies
run: |
pip install '.[test]'
pip install ./smmap ./gitdb '.[test]'

- name: Show POSIX file ownership
# Cygwin's `ls -ld` reports the NTFS Owner SID via Cygwin's SID-to-uid
Expand All @@ -96,12 +94,6 @@ jobs:
ls -ld -- \
"$(pwd)" \
"$(pwd)/.git" \
"$(pwd)/git/ext/gitdb" \
"$(pwd)/git/ext/gitdb/.git" \
"$(pwd)/.git/modules/gitdb" \
"$(pwd)/git/ext/gitdb/gitdb/ext/smmap" \
"$(pwd)/git/ext/gitdb/gitdb/ext/smmap/.git" \
"$(pwd)/.git/modules/gitdb/modules/smmap" \
"${HOME:?HOME is not set}/.gitconfig" \
2>&1 || true

Expand All @@ -114,12 +106,6 @@ jobs:
$paths = @(
"$pwd",
"$pwd\.git",
"$pwd\git\ext\gitdb",
"$pwd\git\ext\gitdb\.git",
"$pwd\.git\modules\gitdb",
"$pwd\git\ext\gitdb\gitdb\ext\smmap",
"$pwd\git\ext\gitdb\gitdb\ext\smmap\.git",
"$pwd\.git\modules\gitdb\modules\smmap",
"$env:USERPROFILE\.gitconfig"
)
foreach ($p in $paths) {
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Dependency packages

on:
push:
branches: [main]
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
test:
runs-on: ${{ matrix.python-version == '3.7' && 'ubuntu-22.04' || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
project: [smmap, gitdb]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t"]

steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install test dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest flake8 ./smmap
if test "${{ matrix.project }}" = gitdb; then python -m pip install ./gitdb; fi
- name: Lint
run: flake8 "${{ matrix.project }}/${{ matrix.project }}" --count --select=E9,F63,F7,F82 --show-source --statistics
- name: Test
run: |
if test "${{ matrix.project }}" = gitdb; then
GITDB_TEST_GIT_REPO_BASE="$(git rev-parse --git-common-dir)" pytest -o addopts= -v gitdb/gitdb/test
else
pytest -o addopts= -v smmap/smmap/test
fi
10 changes: 1 addition & 9 deletions .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:

- name: Install project and test dependencies
run: |
pip install '.[test]'
pip install ./smmap ./gitdb '.[test]'

- name: Show POSIX file ownership
# Linux and macOS only. On Windows, Git Bash's `ls -ld` reports a
Expand All @@ -101,10 +101,6 @@ jobs:
ls -ld -- \
"$(pwd)" \
"$(pwd)/.git" \
"$(pwd)/git/ext/gitdb" \
"$(pwd)/git/ext/gitdb/.git" \
"$(pwd)/git/ext/gitdb/gitdb/ext/smmap" \
"$(pwd)/git/ext/gitdb/gitdb/ext/smmap/.git" \
"${HOME:?HOME is not set}/.gitconfig" \
2>&1 || true

Expand All @@ -118,10 +114,6 @@ jobs:
$paths = @(
"$pwd",
"$pwd\.git",
"$pwd\git\ext\gitdb",
"$pwd\git\ext\gitdb\.git",
"$pwd\git\ext\gitdb\gitdb\ext\smmap",
"$pwd\git\ext\gitdb\gitdb\ext\smmap\.git",
"$env:USERPROFILE\.gitconfig"
)
foreach ($p in $paths) {
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

2 changes: 2 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
exclude: ^(?:gitdb|smmap)/

repos:
- repo: https://github.com/codespell-project/codespell
rev: v2.4.2
Expand Down
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,15 +101,13 @@ In the less common case that you do not want to install test dependencies, `pip

#### With editable *dependencies* (not preferred, and rarely needed)

In rare cases, you may want to work on GitPython and one or both of its [gitdb](https://github.com/gitpython-developers/gitdb) and [smmap](https://github.com/gitpython-developers/smmap) dependencies at the same time, with changes in your local working copy of gitdb or smmap immediately reflected in the behavior of your local working copy of GitPython. This can be done by making editable installations of those dependencies in the same virtual environment where you install GitPython.

If you want to do that *and* you want the versions in GitPython's git submodules to be used, then pass `-e git/ext/gitdb` and/or `-e git/ext/gitdb/gitdb/ext/smmap` to `pip install`. This can be done in any order, and in separate `pip install` commands or the same one, so long as `-e` appears before *each* path. For example, you can install GitPython, gitdb, and smmap editably in the currently active virtual environment this way:
GitPython, [gitdb](gitdb), and [smmap](smmap) live in this repository as independently packaged projects. To work on all three at once, install each one editably in the same virtual environment:

```sh
pip install -e ".[test]" -e git/ext/gitdb -e git/ext/gitdb/gitdb/ext/smmap
pip install -e smmap -e gitdb -e ".[test]"
```

The submodules must have been cloned for that to work, but that will already be the case if you have run `./init-tests-after-clone.sh`. You can use `pip list` to check which packages are installed editably and which are installed normally.
You can use `pip list` to check which packages are installed editably and which are installed normally.

To reiterate, this approach should only rarely be used. For most development it is preferable to allow the gitdb and smmap dependencices to be retrieved automatically from PyPI in their latest stable packaged versions.

Expand Down
5 changes: 0 additions & 5 deletions doc/source/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,6 @@ and cloned using::

$ git clone https://github.com/gitpython-developers/GitPython git-python

Initialize all submodules to obtain the required dependencies with::

$ cd git-python
$ git submodule update --init --recursive

Finally verify the installation by running unit tests::

$ python -m unittest
Expand Down
1 change: 0 additions & 1 deletion git/ext/gitdb
Submodule gitdb deleted from 335c0f
4 changes: 2 additions & 2 deletions git/objects/fun.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,11 @@ def tree_entries_from_data(data: bytes) -> List[EntryTup]:
# Default encoding for strings in git is UTF-8.
# Only use the respective unicode object if the byte stream was encoded.
name_bytes = data[ns:i]
name = safe_decode(name_bytes)
name = safe_decode(bytes(name_bytes))

# Byte is NULL, get next 20.
i += 1
sha = data[i : i + 20]
sha = bytes(data[i : i + 20])
i = i + 20
out.append((sha, mode, name))
# END for each byte in data stream
Expand Down
7 changes: 7 additions & 0 deletions gitdb/.coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[run]
source = gitdb

; to make nosetests happy
[report]
include = */gitdb/*
omit = */gitdb/ext/*
10 changes: 10 additions & 0 deletions gitdb/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
MANIFEST
.coverage
build/
dist/
*.pyc
*.o
*.so
.noseids
*.sublime-workspace
*.egg-info
4 changes: 4 additions & 0 deletions gitdb/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Creator: Sebastian Thiel

Contributors:
- Ram Rachum (@cool-RR)
42 changes: 42 additions & 0 deletions gitdb/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Copyright (C) 2010, 2011 Sebastian Thiel and contributors
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

* Neither the name of the GitDB project nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Additional Licenses
-------------------
The files at
gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.idx
and
gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.pack
are licensed under GNU GPL as part of the git source repository,
see http://en.wikipedia.org/wiki/Git_%28software%29 for more information.

They are not required for the actual operation, which is why they are not found
in the distribution package.
18 changes: 18 additions & 0 deletions gitdb/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
include VERSION
include LICENSE
include CHANGES
include AUTHORS
include README
include MANIFEST.in

include gitdb/_fun.c
include gitdb/_delta_apply.c
include gitdb/_delta_apply.h

graft gitdb/test

global-exclude .git*
global-exclude *.pyc
global-exclude *.so
global-exclude *.dll
global-exclude *.o
7 changes: 7 additions & 0 deletions gitdb/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.PHONY: all clean

all:
@grep -Ee '^[a-z].*:' Makefile | cut -d: -f1 | grep -vF all

clean:
rm -rf build/ dist/ .eggs/ .tox/
69 changes: 69 additions & 0 deletions gitdb/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
GitDB
=====

GitDB allows you to access bare git repositories for reading and writing. It aims at allowing full access to loose objects as well as packs with performance and scalability in mind. It operates exclusively on streams, allowing to handle large objects with a small memory footprint.

Installation
============

.. image:: https://img.shields.io/pypi/v/gitdb.svg
:target: https://pypi.python.org/pypi/gitdb/
:alt: Latest Version
.. image:: https://img.shields.io/pypi/pyversions/gitdb.svg
:target: https://pypi.python.org/pypi/gitdb/
:alt: Supported Python versions
.. image:: https://readthedocs.org/projects/gitdb/badge/?version=latest
:target: https://readthedocs.org/projects/gitdb/?badge=latest
:alt: Documentation Status

From `PyPI <https://pypi.python.org/pypi/gitdb>`_::

pip install gitdb

SPEEDUPS
========

If you want to go up to 20% faster, you can install gitdb-speedups with::

pip install gitdb-speedups

However, please note that gitdb-speedups is not currently maintained.

REQUIREMENTS
============

* smmap - declared as a dependency, automatically installed
* pytest - for running the tests

SOURCE
======

The source is available in the GitPython repository on GitHub:

https://github.com/gitpython-developers/GitPython/tree/main/gitdb

Run the tests with::

pytest

DEVELOPMENT
===========

.. image:: https://github.com/gitpython-developers/GitPython/actions/workflows/dependencies.yml/badge.svg
:target: https://github.com/gitpython-developers/GitPython/actions/workflows/dependencies.yml

The library is considered mature, and not under active development. Its primary (known) use is in GitPython.

INFRASTRUCTURE
==============

* Discussions
* https://github.com/gitpython-developers/GitPython/discussions

* Issue Tracker
* https://github.com/gitpython-developers/GitPython/issues

LICENSE
=======

New BSD License
3 changes: 3 additions & 0 deletions gitdb/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Security Policy

See [GitPython](https://github.com/gitpython-developers/GitPython/blob/main/SECURITY.md). Vulnerabilities found in `gitdb` can be reported there.
1 change: 1 addition & 0 deletions gitdb/doc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build/
Loading
Loading