Initialize and update Changelists information.
Project description
Changelist-Init
Manage your Git Repo file trees and Commit messages with Changelist powered workflows!
Requirements
- Python 3.10 or higher.
- pip (or similar package manager).
- cli or bash capabilities.
Introduction
Changelist-Init is a command-line tool (CLI) in an ecosystem of Changelist CLI tools. It plays the role of adding file changes from git into the project changelist data file.
- Sync changelists with git.
- Creates new changelists data file if necessary.
The related packages changelist-sort and changelist-foci serve other changelist management functions by reading, and writing to, the project changelist data file.
Related Packages
The package changelist-sort is for organizing the files in your Changelists.
- Sorts files into Changelists by directory
The package changelist-foci (File Oriented Commit Information) prints a commit message template for your Changelists.
- Various File Name and Path formatting options
The package changelist-data is a dependency of all Changelist packages.
- Provides read and write access to data files
- Contains common data classes, handles data serialization
CLI Arguments
The following arguments are optional.
--changelist_file: The relative path to the changelists data file.--workspace_file: The relative path to the workspace data file.--include_untrackedor-u: Asks git to include untracked files in changelists.
Package Details
Changelist Init (Main) Package
The root package init module provides high level methods:
initialize_file_changes() -> list[FileChange]: Get updated FileChange information from Git.merge_file_changes() -> bool: Merge updated FileChange information into Changelists.
Input Package
The high-level package method validate_input, converts CLI program arguments into an InputData object.
- Parsing is handled by internal package modules, and the argparse library.
- Validation methods from the
changelist-datapackage are used.
InputData
- storage: The ChangelistData Storage object.
- include_untracked: Whether untracked files are added to changelists. false by default.
Git Package
Use the get_status_lists() method to obtain updated file information from git.
Data Collection
Git Status Lists: A Collection of Data processed from Git Status operation.
get_list(GitTrackingStatus) -> list[GitFileStatus]add_file_status(GitFileStatus)
Enum Class
Git Tracking Status:
- UNTRACKED
- UNSTAGED
- STAGED
- PARTIAL_STAGE
Internal Modules
Status Runner:
run_git_status() -> str: Runs a Git Status Porcelain V1 operation, returns the stdout.run_untracked_status() -> str: Runs a sequence of Git operations to include untracked files in the Git Status output.
Status Reader:
read_git_status_output(str) -> GitStatusLists: Read Git Status Porcelain V1 stdout.read_git_status_line(str) -> GitFileStatus | None: Read a single line of Git Status Porcelain V1. Ignores Directory lines.
Status Codes:
get_status_code_change_map(str) -> Callable[]: Construct a FileChange map function for a Git Status code.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file changelist_init-0.3.tar.gz.
File metadata
- Download URL: changelist_init-0.3.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74d5560a0fc064ed188d70d5e2783d1c17ed6d32ba917c7e14771c53a9470f2e
|
|
| MD5 |
aefc58898acc62e812adf45f0819d55c
|
|
| BLAKE2b-256 |
8d22572f8fabf30323bc45cc5a33f8dba4053b932027beb7f5c0ad0d81e7c99f
|
Provenance
The following attestation bundles were made for changelist_init-0.3.tar.gz:
Publisher:
publish.yml on DK96-OS/changelist-init
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
changelist_init-0.3.tar.gz -
Subject digest:
74d5560a0fc064ed188d70d5e2783d1c17ed6d32ba917c7e14771c53a9470f2e - Sigstore transparency entry: 789671764
- Sigstore integration time:
-
Permalink:
DK96-OS/changelist-init@c7941ae5702965a06ff5ff0a6f04d821a62547f6 -
Branch / Tag:
refs/tags/v0.3 - Owner: https://github.com/DK96-OS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c7941ae5702965a06ff5ff0a6f04d821a62547f6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file changelist_init-0.3-py3-none-any.whl.
File metadata
- Download URL: changelist_init-0.3-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11f997537afdbfabefc22138d0ec33426cd616a1f50041fce104399ddbd81b63
|
|
| MD5 |
ad339c4590534ca1e35ce70011245635
|
|
| BLAKE2b-256 |
3cbc0efa2b1fdeb8a0975f75d8e796a36fa23fd12261f8fd5d1b31340bc81e68
|
Provenance
The following attestation bundles were made for changelist_init-0.3-py3-none-any.whl:
Publisher:
publish.yml on DK96-OS/changelist-init
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
changelist_init-0.3-py3-none-any.whl -
Subject digest:
11f997537afdbfabefc22138d0ec33426cd616a1f50041fce104399ddbd81b63 - Sigstore transparency entry: 789671767
- Sigstore integration time:
-
Permalink:
DK96-OS/changelist-init@c7941ae5702965a06ff5ff0a6f04d821a62547f6 -
Branch / Tag:
refs/tags/v0.3 - Owner: https://github.com/DK96-OS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c7941ae5702965a06ff5ff0a6f04d821a62547f6 -
Trigger Event:
release
-
Statement type: