A tool to generate a Git commit with a specific hash part.
Project description
hashcommit
A tool to generate a Git commit with a specific hash part.
Prerequisites
Ensure you have Git installed on your system.
Installation
You can install the package using pip:
pip install hashcommit
Usage
Creating a New Commit
To create a new commit with a specific hash part:
hashcommit --hash <desired_hash_part> --message "<commit_message>"
Overwriting the Last Commit
To overwrite the last commit with a specific hash part:
hashcommit --hash <desired_hash_part> --message "<commit_message>" --overwrite
Match Type
You can also specify if the hash must begin with, contain, or end with the desired string using the --match-type
option. The default is to match the beginning of the hash:
hashcommit --hash <desired_hash_part> --message "<commit_message>" --match-type <begin|contain|end>
Example Usage
To find and use a specific commit hash:
hashcommit --hash fff --match-type contain --message "foobar" ; git log -1 | cat
Example output:
Found matching commit hash: 93fffe4756192c250a7234c7c5fd81752c747091
commit 93fffe4756192c250a7234c7c5fd81752c747091
Author: Your Name <your-email@domain.com>
Date: Thu May 23 17:06:24 2024 +0000
foobar
Author Preservation
By default, the author is preserved when overwriting. To overwrite the author, use the --no-preserve-author
option:
hashcommit --hash <desired_hash_part> --overwrite --no-preserve-author
Overwriting Commits in the Past
Overwriting a particular commit in the past will be implemented in the future.
Development
To develop or contribute to this project, clone the repository and install the dependencies:
git clone https://github.com/wozniakpl/hashcommit.git
cd hashcommit
pip install -e .
Running Locally
You can run tests locally using tox or act:
# Using tox
tox
# Using act
act
You can use the following command for simplicity of development. It formats the code, runs the checks, and the tests on one Python version:
tox -e format && tox -e checks && tox -e py311 --
To set up an environment with hashcommit
installed and a git repository initialized in the /repo
directory, use Docker Compose:
docker compose run --rm test bash
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hashcommit-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd850afd39242d6034381bc14a3711f13adec55bd3101696ae15d0b4c5162420 |
|
MD5 | 8761d9207acb29f46926075ee31c6daa |
|
BLAKE2b-256 | 93b4c2fe0c0dbe84907973468230083dc22df9a9e10dc76df69ffaad358811a9 |