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.1.5.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.1.5-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: changelist_init-0.1.5.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for changelist_init-0.1.5.tar.gz
Algorithm Hash digest
SHA256 cca0cd190892f7d6862cbdeaf226feef95e6e49981a2edbbd0a5872bd2c2277f
MD5 b27b69ca4cd1e97ca77030ad9c750e52
BLAKE2b-256 0037cec44342a5ffcfef787d6bbc05206dd478b56c5ff079cf64f984995be6ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for changelist_init-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 dc1401c8b319ecc18f9a0422c5a38b60cbe75599b6e1295a6a3397c43435f8c0
MD5 e9ba4309687ff8a9d40c71d4d229d8f8
BLAKE2b-256 a5b9d2afe35eebb2eea8e8882c04152560437d8f80efbcb158a704e45dbab3c9

See more details on using hashes here.

Provenance

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