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.3.tar.gz (22.5 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.3-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

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

Hashes for changelist_init-0.3.tar.gz
Algorithm Hash digest
SHA256 74d5560a0fc064ed188d70d5e2783d1c17ed6d32ba917c7e14771c53a9470f2e
MD5 aefc58898acc62e812adf45f0819d55c
BLAKE2b-256 8d22572f8fabf30323bc45cc5a33f8dba4053b932027beb7f5c0ad0d81e7c99f

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelist_init-0.3.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.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

Hashes for changelist_init-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11f997537afdbfabefc22138d0ec33426cd616a1f50041fce104399ddbd81b63
MD5 ad339c4590534ca1e35ce70011245635
BLAKE2b-256 3cbc0efa2b1fdeb8a0975f75d8e796a36fa23fd12261f8fd5d1b31340bc81e68

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelist_init-0.3-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