git-changelists 1.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2025, Bjoern Hendrik Fock
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,123 @@
1
+ Metadata-Version: 2.4
2
+ Name: git-changelists
3
+ Version: 1.1.2
4
+ Summary: SVN-style changelists for Git
5
+ Home-page: https://github.com/BHFock/git-cl
6
+ Author: Bjoern Hendrik Fock
7
+ License: BSD-3-Clause
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Operating System :: POSIX
15
+ Classifier: Environment :: Console
16
+ Classifier: Topic :: Software Development :: Version Control :: Git
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Dynamic: license-file
21
+
22
+ <!--
23
+ git-cl is a minimal Git subcommand that brings changelist support to Git. Organise modified files into named changelists before staging or committing. Ideal for managing partial commits.
24
+ -->
25
+ # git-cl
26
+
27
+ > A pre-staging layer for organising changes in Git
28
+
29
+ [![Tutorial](https://img.shields.io/badge/Tutorial-View-blue)](https://github.com/BHFock/git-cl/blob/main/docs/tutorial.md)
30
+ [![Paper](https://img.shields.io/badge/Paper-Read-blue)](https://github.com/BHFock/git-cl/blob/main/docs/paper.md)
31
+ [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.18722077-blue)](https://doi.org/10.5281/zenodo.18722077)
32
+ [![Tests](https://github.com/BHFock/git-cl/actions/workflows/test.yml/badge.svg)](https://github.com/BHFock/git-cl/actions/workflows/test.yml)
33
+ [![GitHub stars](https://img.shields.io/github/stars/BHFock/git-cl?style=social)](https://github.com/BHFock/git-cl/stargazers)
34
+
35
+ `git-cl` is a command-line tool that brings changelist support to Git, inspired by Subversion. It adds a pre-staging review layer that lets you organise modified files into named groups before staging or committing. Changelists can be stashed selectively and promoted to dedicated branches — enabling a late-binding branching workflow where the branch decision follows the code, not the other way around.
36
+
37
+ ## Why git-cl?
38
+
39
+ - Pre-staging review: group changed files by intent before staging
40
+ - Organise multiple concerns on a single branch
41
+ - Stage and commit changes by intent
42
+ - Stash changelists and resume work later
43
+ - Late-binding branching: promote a changelist to a dedicated branch
44
+ - Local-only metadata (`.git/cl.json`)
45
+ - Simple CLI: `git cl <command>`
46
+
47
+ ## Demo
48
+
49
+ <a href="https://github.com/BHFock/git-cl/blob/main/docs/tutorial.md">
50
+ <img src="https://raw.githubusercontent.com/BHFock/git-cl/refs/heads/main/docs/demo/git-cl-demo.gif" alt="git-cl demo: creating changelists, viewing status, and branching" width="750"/>
51
+ </a>
52
+
53
+ ## Quick Start
54
+ ```
55
+ # Install
56
+ mkdir -p ~/bin
57
+ wget https://raw.githubusercontent.com/BHFock/git-cl/main/git-cl -O ~/bin/git-cl
58
+ chmod +x ~/bin/git-cl
59
+
60
+ # Verify Installation
61
+ git cl --version
62
+ git cl help
63
+
64
+ # Use changelists inside a Git repository
65
+ git cl add fixup file1.py
66
+ git cl status
67
+ git cl commit fixup -m "Fix file1"
68
+ ```
69
+
70
+ Make sure `~/bin` is listed in your `$PATH`.
71
+
72
+ ## Common Commands
73
+ ```bash
74
+ # Add files to a changelist
75
+ git cl add docs-fix README.md docs/index.md
76
+
77
+ # See changes grouped by changelist
78
+ git cl status
79
+
80
+ # Stage or commit changelists
81
+ git cl stage docs-fix
82
+ git cl commit docs-fix -m "Update documentation layout and intro"
83
+
84
+ # Keep the changelist after committing
85
+ git cl commit docs-fix -m "Fix bug" --keep
86
+
87
+ # Remove a file from its changelist
88
+ git cl remove README.md
89
+
90
+ # Delete a changelist
91
+ git cl delete docs-fix
92
+
93
+ # Late-binding branching: create a branch from a changelist (auto-stash/unstash)
94
+ git cl br docs-fix
95
+ ```
96
+
97
+ ## Documentation
98
+
99
+ 📘 [Tutorial](docs/tutorial.md): Guide with examples and FAQ
100
+
101
+ 📘 [Design Notes](docs/design-notes.md): Technical architecture
102
+
103
+ 📘 [Tests](tests/README.md): Test suite and shell walkthroughs
104
+
105
+ 📘 [Why git-cl?](docs/why-git-cl.md): History and motivation
106
+
107
+ 📘 [Paper](docs/paper.md): Design, workflow, and related work
108
+
109
+
110
+ ## Notes
111
+
112
+ - Requires Python 3.9+ and Git
113
+ - Local-only; designed for single-user workflows
114
+ - Always inspect downloaded scripts before executing, see [source](https://github.com/BHFock/git-cl/blob/main/git-cl)
115
+ - For security concerns, see [SECURITY](./SECURITY.md)
116
+
117
+ ## License
118
+
119
+ BSD 3-Clause — see [LICENSE](./LICENSE) | [CONTRIBUTING](CONTRIBUTING.md)
120
+
121
+ <!--
122
+ Keywords: git changelist, svn changelist, partial commit, group files, perforce, git extension, organise changes, subversion, named staging area, pre-staging, commit logical units, selective commit, late-binding branching
123
+ -->
@@ -0,0 +1,102 @@
1
+ <!--
2
+ git-cl is a minimal Git subcommand that brings changelist support to Git. Organise modified files into named changelists before staging or committing. Ideal for managing partial commits.
3
+ -->
4
+ # git-cl
5
+
6
+ > A pre-staging layer for organising changes in Git
7
+
8
+ [![Tutorial](https://img.shields.io/badge/Tutorial-View-blue)](https://github.com/BHFock/git-cl/blob/main/docs/tutorial.md)
9
+ [![Paper](https://img.shields.io/badge/Paper-Read-blue)](https://github.com/BHFock/git-cl/blob/main/docs/paper.md)
10
+ [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.18722077-blue)](https://doi.org/10.5281/zenodo.18722077)
11
+ [![Tests](https://github.com/BHFock/git-cl/actions/workflows/test.yml/badge.svg)](https://github.com/BHFock/git-cl/actions/workflows/test.yml)
12
+ [![GitHub stars](https://img.shields.io/github/stars/BHFock/git-cl?style=social)](https://github.com/BHFock/git-cl/stargazers)
13
+
14
+ `git-cl` is a command-line tool that brings changelist support to Git, inspired by Subversion. It adds a pre-staging review layer that lets you organise modified files into named groups before staging or committing. Changelists can be stashed selectively and promoted to dedicated branches — enabling a late-binding branching workflow where the branch decision follows the code, not the other way around.
15
+
16
+ ## Why git-cl?
17
+
18
+ - Pre-staging review: group changed files by intent before staging
19
+ - Organise multiple concerns on a single branch
20
+ - Stage and commit changes by intent
21
+ - Stash changelists and resume work later
22
+ - Late-binding branching: promote a changelist to a dedicated branch
23
+ - Local-only metadata (`.git/cl.json`)
24
+ - Simple CLI: `git cl <command>`
25
+
26
+ ## Demo
27
+
28
+ <a href="https://github.com/BHFock/git-cl/blob/main/docs/tutorial.md">
29
+ <img src="https://raw.githubusercontent.com/BHFock/git-cl/refs/heads/main/docs/demo/git-cl-demo.gif" alt="git-cl demo: creating changelists, viewing status, and branching" width="750"/>
30
+ </a>
31
+
32
+ ## Quick Start
33
+ ```
34
+ # Install
35
+ mkdir -p ~/bin
36
+ wget https://raw.githubusercontent.com/BHFock/git-cl/main/git-cl -O ~/bin/git-cl
37
+ chmod +x ~/bin/git-cl
38
+
39
+ # Verify Installation
40
+ git cl --version
41
+ git cl help
42
+
43
+ # Use changelists inside a Git repository
44
+ git cl add fixup file1.py
45
+ git cl status
46
+ git cl commit fixup -m "Fix file1"
47
+ ```
48
+
49
+ Make sure `~/bin` is listed in your `$PATH`.
50
+
51
+ ## Common Commands
52
+ ```bash
53
+ # Add files to a changelist
54
+ git cl add docs-fix README.md docs/index.md
55
+
56
+ # See changes grouped by changelist
57
+ git cl status
58
+
59
+ # Stage or commit changelists
60
+ git cl stage docs-fix
61
+ git cl commit docs-fix -m "Update documentation layout and intro"
62
+
63
+ # Keep the changelist after committing
64
+ git cl commit docs-fix -m "Fix bug" --keep
65
+
66
+ # Remove a file from its changelist
67
+ git cl remove README.md
68
+
69
+ # Delete a changelist
70
+ git cl delete docs-fix
71
+
72
+ # Late-binding branching: create a branch from a changelist (auto-stash/unstash)
73
+ git cl br docs-fix
74
+ ```
75
+
76
+ ## Documentation
77
+
78
+ 📘 [Tutorial](docs/tutorial.md): Guide with examples and FAQ
79
+
80
+ 📘 [Design Notes](docs/design-notes.md): Technical architecture
81
+
82
+ 📘 [Tests](tests/README.md): Test suite and shell walkthroughs
83
+
84
+ 📘 [Why git-cl?](docs/why-git-cl.md): History and motivation
85
+
86
+ 📘 [Paper](docs/paper.md): Design, workflow, and related work
87
+
88
+
89
+ ## Notes
90
+
91
+ - Requires Python 3.9+ and Git
92
+ - Local-only; designed for single-user workflows
93
+ - Always inspect downloaded scripts before executing, see [source](https://github.com/BHFock/git-cl/blob/main/git-cl)
94
+ - For security concerns, see [SECURITY](./SECURITY.md)
95
+
96
+ ## License
97
+
98
+ BSD 3-Clause — see [LICENSE](./LICENSE) | [CONTRIBUTING](CONTRIBUTING.md)
99
+
100
+ <!--
101
+ Keywords: git changelist, svn changelist, partial commit, group files, perforce, git extension, organise changes, subversion, named staging area, pre-staging, commit logical units, selective commit, late-binding branching
102
+ -->