Skip to main content

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_untracked or -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-data package 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

changelist_init-0.4.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changelist_init-0.4-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file changelist_init-0.4.tar.gz.

File metadata

  • Download URL: changelist_init-0.4.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for changelist_init-0.4.tar.gz
Algorithm Hash digest
SHA256 6e813f9e05386a51ad0ec3f2ec8a5c4683d8d4c24e2ac6a112c8af19311d5ba9
MD5 10a905ea6d669fe80ccfc049c0e46520
BLAKE2b-256 7bcfe23663446d7b13db9cc7abe939f63922e3b414866cc0bb1b689ab8a55a28

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelist_init-0.4.tar.gz:

Publisher: publish.yml on DK96-OS/changelist-init

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file changelist_init-0.4-py3-none-any.whl.

File metadata

  • Download URL: changelist_init-0.4-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for changelist_init-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b757203a78439689a99d564dd53f161e34e6f83cc8057320cddf8528e7a6e297
MD5 6efc77bc3d38078129d48a428f5ca7f1
BLAKE2b-256 208eaa89c4e90ced8f1594d9bd6c9d34602033e848a627f51116ba82bd6bccdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelist_init-0.4-py3-none-any.whl:

Publisher: publish.yml on DK96-OS/changelist-init

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page