Skip to main content

Initialize and update Changelists information.

Project description

Changelist-Init

Manage your Git File and Commit Message Workflows with Changelists!

Introduction

Changelist-Init is the package that gets your changelists ready to go!

  • Sync changelists with git.
  • Creates new changelists data file if necessary.

About

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.

The related packages sort and 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

Package Details

Changelist Init

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

Using the High-Level package method validate_input, converts program arguments into InputData object. Parsing and Validation are handled by internal package modules.

Data Classes

Argument Data:

  • changelists_file: The string path to the Changelists Data File.
  • workspace_file: The string path to the Workspace File.
  • include_untracked: Whether to include untracked files.

Input Data:

  • storage: The ChangelistData Storage object.
  • include_untracked: Whether untracked files are added to changelists. false by default.

Internal Modules

Argument Parser String Validation

Git Package

Use the get_status_lists() method to obtain updated file information from git.

Data Classes

Git File Status:

  • get_tracking_status()

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.2.1.tar.gz (23.1 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.2.1-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for changelist_init-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6cd2de63d591b8e9edb63a063d151b19b4872e58e8f6dff812a014000ef2c3c4
MD5 d458c3e3e26f0419eced03c3ee7da721
BLAKE2b-256 defaf4cd2d8a0bc8118de942534b9dd718daa792cbc7b737cf0d78e409cfe548

See more details on using hashes here.

Provenance

The following attestation bundles were made for changelist_init-0.2.1.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.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for changelist_init-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e2520ab93f8996a4e5e81b5d5f8a40ce92ac1a47a59f217b7e4696cb1911fd0b
MD5 070db7ef7fa53b6f18956b3571a00127
BLAKE2b-256 a2560c8c548323fa80e25ea68fa62454cb54d323caf7fd5b419aad9cf09483ce

See more details on using hashes here.

Provenance

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