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

Uploaded Python 3

File details

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

File metadata

  • Download URL: changelist_init-0.2.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.tar.gz
Algorithm Hash digest
SHA256 c5e4c69f827ccdd9f36adee0fefc6d2501b9a095c15958eb1c90c11d15bd29f1
MD5 8fb723949b721e8b9bfa1a68b19cc786
BLAKE2b-256 ad6f0e32bc133c59ad4dd9ad220ad54ae2591406289683885c71b4e36d32da81

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for changelist_init-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8a5297ae953879fb5f2fc7ee9cb73fa5be3e66f6d2d8119aa8b4585de22dbbfb
MD5 608d7c23f082241d306ade6622662b7c
BLAKE2b-256 7f81f4c8373d70ba95164292860797e061ee17e535347cffc7952c93aa68d313

See more details on using hashes here.

Provenance

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