* Prepare next release * Update test/test_tree.py * Allow joining path to tree * Add failing tests for joining paths * Bump git/ext/gitdb from `65321a2` to `4c63ee6` * Revert "Add tests with non-ascii characters" * Add tests with non-ascii characters * Fix type hints * Validate every fspath with tests * Limit mypy version due to Cygwin errors * Remove redundant str call * Remove a large number of redundant fspaths * Remove redundant `fspath` * Remove redundant `fspath` * Use converted file path * Use cast to allow silent getattrs * Remve comment about skipping mypy * Fix union type conversion to path * Convert paths in constructors and large function calls * Replace extra occurrences of str with fspath * Use git.types.Literal instead of typing.Literal * Skip mypy when Python < 3.9 * Install mypy for Python >= 3.9 * Add missing parentheses around tuple constructor * Set __test__ = False in not tested classes * Stop Lit_commit_ish being imported * Fix typing so that code can run * Fix or ignore all mypy errors * Fail remote pipeline when mypy fails * Pin mypy==1.18.2 * Use os.fspath instead of __fspath__ for reading paths * Fix missing path conversion * Allow Pathlike paths when creating a git repo * Simplify logic with direct path conversion * Allow Pathlike urls and destinations when cloning * Move clone tests into dedicated file * Bump actions/checkout from 5 to 6 * make linter happy * improve unit test * Bump git/ext/gitdb from `f8fdfec` to `65321a2` * Support index format v3 * Use actual return type in annotation for method submodule_update * Bump github/codeql-action from 3 to 4 * fix: Use fnmatch instead. * feat: Add support for hasconfig git rule. * Fix type hint for `SymbolicReference.reference` property * Bump git/ext/gitdb from `39d7dbf` to `f8fdfec` * Bump actions/setup-python from 5 to 6 * Bump git/ext/gitdb from `335c0f6` to `39d7dbf` * Bump actions/checkout from 4 to 5 * Prepare a new release * Add test case for cloning submodules with relative path * Allow relative path url in submodules for submodule_update * Don't treat sphinx warnings as errors * Fix name collision * Bump cygwin/cygwin-install-action from 5 to 6 * Bump Vampire/setup-wsl from 5.0.1 to 6.0.0 * Add clearer error version for unsupported index error * Pass assertion `msg` as a keyword argument in `test_installation` * Remove deprecated license classifier * Improve failure message whitespace clarity * Show more information when `test_installation` fails * Have `test_installation` test that operations produce no warnings * Extract `subprocess.run` logic repeated in `test_installation` * Comment what `TestInstallation._set_up_venv` does * Use *-wheel packages as a better fix for #2004 * Minor CI clarifications * Run `cat_file.py` fixture without site customizations * fix updating submodules with relative urls * Always use a `def` instead of assigning a `lambda` * Update Ruff configuration * Improve line-ending consistency in requirements files * Don't remove quotes if `\` or `"` are present inside * Add tests of ConfigParser with `"..."` with `"` or `\` inside * Refactor quote parsing, to prepare for more checks * Remove explicit empty `""` handling in ConfigParser * Test that ConfigParser treats empty quotes as an empty value * Test `ConfigParser` with whitespace outside the value * Clarify `USE_SHELL` warning helper signature * Fix ambiguous `_safer_popen_windows` comment * Use static notation for `setuptools` in CI `pip` commands * Use static notation for `setuptools` in installation test * Small stylistic consistency tweak * Show differing `pytest` arguments in step name * Split Cygwin CI into two test jobs * Add an explanatory comment for omitting "t" * Fix CI `mypy` command on free-threaded Python * Import `TypeAlias` from `typing_extensions` where needed * Start on fixing AutoInterrupt/CatFileContentStream aliases * Refactor Git.{AutoInterrupt,CatFileContentStream} nesting * Preserve quoted leading and trailing single-line whitespace * Test a quoted config var with meaningful edge whitespace * Fix GitConfigParser not removing quotes from values * Bump git/ext/gitdb from `f36c0cc` to `7e02fbd` * Specify explicit `contents: read` workflow permissions * Remove unnecessary permissions from `codeql.yml` * Keep running CodeQL on all branches, etc. * Recreate `codeq.yml` with current defaults * Temporarily remove CodeQL workflow file * Use newer ruff style * incorporate review feedback from @EliahKagan * Revert "use `strings` instead of `uname` to detect cygwin" * Revert "debug printing" * debug printing * use `strings` instead of `uname` to detect cygwin * add self to AUTHORS, add Emacs tempfiles to .gitignore * remove type assertions from util.py * turns out f-strings before 3.8 don't support {variable=} notation, take that out * it's is_file(), not isfile() * don't use match-case, since it's a 3.10 feature * check that uname_cmd points to a file; if uname_cmd were a directory, it could both exist and have os.X_OK but not work * don't keep checking if sys.platform isn't 'cygwin' * use pathlib.Path instead of os.path.isfile * Revert "check for the existence/execute bit on the uname command before trying to run it" * adding self to authors * check for the existence/execute bit on the uname command before trying to run it * add tests for is_cygwin_git * Bump Vampire/setup-wsl from 5.0.0 to 5.0.1 * replace quansight-labs/setup-python with actions/setup-python * Fix some incorrect sphinx markups in the docstrings * Use property decorator to support typing * `IndexFile._to_relative_path` - fix case where absolute path gets stripped of trailing slash * Only test free-threaded Python on Linux * Test on free-threaded Python * Use WSL1 on CI * Bump Vampire/setup-wsl from 4.1.1 to 5.0.0 * Mark `test_installation` xfail on Cygwin CI * Bump Vampire/setup-wsl from 4.1.0 to 4.1.1 * Install wget for Cygwin job to use to get pip bootstrap script * Use the pip bootstrap script instead * Install Cygwin package for wheel * Install pip in venv in separate step * Switch back to cygwin/cygwin-install-action * Run `python3.9` explicitly on Cygwin CI * Bump git/ext/gitdb from `9e68ea1` to `f36c0cc` * Fuzzing: Fix broken test for Git submodule handling * Repo.rev_parse: Handle <tag>^{commit} correctly * Bump git/ext/gitdb from `775cfe8` to `9e68ea1` * Bump Vampire/setup-wsl from 4.0.0 to 4.1.0 * Fix links to gitdb and smmap `SECURITY.md` files * Affirm that gitdb and smmap advisories can also be created * Test Python 3.13 on Ubuntu and macOS on CI * Continue testing Python 3.9 on CI but unpin 3.9.16-1 * Change test job keys from `build` to `test` * Tune CI matrix adjustments so reports are clearer * Put back explicit venv activation in Alpine Linux * Improve environment isolation in Cygwin and Alpine Linux on CI * Slightly simplify and clarify instrumented code * Instrument `handle_process_output` test * Do everything in the venv in the Alpine test * Bump Vampire/setup-wsl from 3.1.1 to 4.0.0 * Special-case Python 3.7 for OSes we can install it on OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-GitPython?expand=0&rev=67
87 lines
2.8 KiB
RPMSpec
87 lines
2.8 KiB
RPMSpec
#
|
|
# spec file for package python-GitPython
|
|
#
|
|
# Copyright (c) 2026 SUSE LLC and contributors
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?sle15_python_module_pythons}
|
|
Name: python-GitPython
|
|
Version: 3.1.46
|
|
Release: 0
|
|
Summary: Python Git Library
|
|
License: BSD-3-Clause
|
|
URL: https://github.com/gitpython-developers/GitPython
|
|
Source: GitPython-%{version}.tar.gz
|
|
BuildRequires: %{python_module ddt >= 1.1.1}
|
|
BuildRequires: %{python_module gitdb >= 4.0.1}
|
|
BuildRequires: %{python_module pip}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{python_module smmap >= 3.0.1}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: fdupes
|
|
BuildRequires: git-core
|
|
BuildRequires: python-rpm-macros
|
|
Requires: git-core
|
|
Requires: python-gitdb >= 4.0.1
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
GitPython is a python library used to interact with Git repositories.
|
|
|
|
GitPython provides object model read and write access to your git repository.
|
|
Access repository information conveniently, alter the index directly, handle
|
|
remotes, or go down to low-level object database access with big-files support.
|
|
|
|
With the new object database abstraction added in 0.3, its even possible to
|
|
implement your own storage mechanisms, the currently available implementations
|
|
are 'cgit' and pure python, which is the default.
|
|
|
|
%prep
|
|
%autosetup -p1 -n GitPython-%{version}
|
|
# do not pull in extra deps
|
|
sed -i -e '/tox/d' -e '/flake8/d' -e '/coverage/d' test-requirements.txt
|
|
sed -i -e '/addopts/d' pyproject.toml
|
|
|
|
%build
|
|
%pyproject_wheel
|
|
|
|
%install
|
|
%pyproject_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
|
|
%check
|
|
export SKIP_GITHUB=true
|
|
export TRAVIS=true
|
|
|
|
export LANG=en_US.UTF-8
|
|
export GIT_PYTHON_TEST_GIT_REPO_BASE=${PWD}
|
|
|
|
git config --global protocol.file.allow "always"
|
|
git config --global user.email "you@example.com"
|
|
git config --global user.name "Your Name"
|
|
|
|
# And it completely unraveled again gh#gitpython-developers/GitPython#914
|
|
%pytest -k 'not (test_installation or test_rev_parse)' || /bin/true
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc AUTHORS CHANGES README.md doc/source/*.rst
|
|
%{python_sitelib}/git
|
|
%{python_sitelib}/[gG]it[pP]ython-%{version}.dist-info
|
|
|
|
%changelog
|