Enforce a triangular Git workflow. If this is not possible, explain why.
Project description
Samosa (���������������)
Enforce a triangular Git workflow. If this is not possible, explain why.
Samosa standard
The following checks should be true:
- In a Git repository
- There is a remote named "origin"
- There is a remote named "upstream"
- Author name and email are set, and are not invalid
- The default push target is "origin:current"
- The pre-commit hook exists and is executable
- There is a local branch named "main"
- The main branch tracks "upstream/main"
See WORKFLOW.md for a detailed workflow that results in a samosa standard repository.
Usage
cd <repository-folder>
samosa
If any checks fail, Samosa will attempt to make a correction. If the correction cannot be made automatically, Samosa will make a suggestion and terminate with exit code 1 (error).
If all checks pass, Samosa will display a short confirmation message and terminate with exit code 0 (success).
Development environment
First, fork https://gitlab.com/lofidevops/samosa
git checkout <your-fork>
cd samosa
# set up triangular workflow here!
pdm install --dev
You can use a text editor, or any IDE that supports virtualenv / pdm.
Roadmap (don't hold your breath)
samosa clone
: interactive prompts that follow the suggested workflow
Out of scope
- Detecting/supporting other workflows.
Sharing and contributions
Samosa (���������������)
https://gitlab.com/lofidevops/samosa
Copyright 2022 David Seaward and contributors
SPDX-License-Identifier: GPL-3.0-or-later
Shared under GPL-3.0-or-later. We adhere to the Contributor Covenant 2.0 without modification, and certify origin per DCO 1.1 with a signed-off-by line. Contributions under the same terms are welcome.
Submit conduct issues as private tickets. Sign commits with git -s
.
For a software bill of materials run reuse spdx
. For more details
see LICENSES, CONDUCT and DCO.
Acknowledgements
WORKFLOW.md and the associated pre-commit bash script are derived from Aaron Bull Schaefer's excellent Git Triangular Workflow. License details are included in the relevant files.
Additional references
- Git 2.5, including multiple worktrees and triangular workflows
- Forking workflow (this seems to be another name for triangular workflows)
- Git forking workflow, what names for the remotes?
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
File details
Details for the file samosa-0.1.2.tar.gz
.
File metadata
- Download URL: samosa-0.1.2.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.1.2 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b0b1a354453b604781275d35ba844e61597493700e75ab5e6d7cd3b24a3e4f1 |
|
MD5 | 69df2ded5ff4f71b36444261ce542b9c |
|
BLAKE2b-256 | f502d6fa62fc59eca0d52c4043e215ec4ee7f0590ae6592403e2b211c670cae3 |
File details
Details for the file samosa-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: samosa-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.1.2 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b12613dc873dae9ae2f42e350538b7b401e35df70b7f650f2a17d0ded493a708 |
|
MD5 | a70e2ef78a331b321687bb09d508f0b6 |
|
BLAKE2b-256 | 4dfd28d305fe83ae22f0051c52579da3ee0c08ae4d4a3f135e79353366d84cc3 |