# 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`](https://github.com/DK96-OS/changelist-sort) is for organizing the files in your Changelists.
- Sorts files into Changelists by directory
The package [`changelist-foci`](https://github.com/DK96-OS/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`](https://github.com/DK96-OS/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.
Raw data
{
"_id": null,
"home_page": "https://github.com/DK96-OS/changelist-init/",
"name": "changelist-init",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "changelist, git, vcs",
"author": "DK96-OS",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b0/c4/f196b254d4ff904dc26f3dfcd3cda11bbec2777a806f3c39b7efe35cc7dc/changelist_init-0.1.4.tar.gz",
"platform": null,
"description": "# Changelist-Init\nManage your Git File and Commit Message Workflows with Changelists!\n\n## Introduction\nChangelist-Init is the package that gets your changelists ready to go!\n- Sync changelists with **git**.\n- Creates new changelists data file if necessary.\n\n### About\nChangelist-Init is a command-line tool (CLI) in an ecosystem of Changelist CLI tools.\nIt plays the role of adding file changes from **git** into the project changelist data file.\n\nThe related packages `sort` and `foci` serve other changelist management functions by reading, and writing to, the project changelist data file.\n\n### Related Packages\nThe package [`changelist-sort`](https://github.com/DK96-OS/changelist-sort) is for organizing the files in your Changelists.\n- Sorts files into Changelists by directory\n\nThe package [`changelist-foci`](https://github.com/DK96-OS/changelist-foci) (File Oriented Commit Information) prints a commit message template for your Changelists.\n- Various File Name and Path formatting options\n\nThe package [`changelist-data`](https://github.com/DK96-OS/changelist-data) is a dependency of all Changelist packages.\n- Provides read and write access to data files\n- Contains common data classes, handles data serialization\n\n## Package Details\n\n### Changelist Init\nThe root package init module provides high level methods:\n- `initialize_file_changes() -> list[FileChange]`: Get updated FileChange information from Git.\n- `merge_file_changes() -> bool`: Merge updated FileChange information into Changelists.\n\n### Input Package\nUsing the High-Level package method `validate_input`, converts program arguments into `InputData` object.\nParsing and Validation are handled by internal package modules.\n\n#### Data Classes\n**Argument Data**:\n- changelists_file: The string path to the Changelists Data File.\n- workspace_file: The string path to the Workspace File.\n- include_untracked: Whether to include untracked files.\n\n**Input Data**:\n- storage: The ChangelistData Storage object.\n- include_untracked: Whether untracked files are added to changelists. false by default.\n\n#### Internal Modules\n**Argument Parser**\n**String Validation**\n\n### Git Package\nUse the `get_status_lists()` method to obtain updated file information from git.\n\n#### Data Classes\n\n**Git File Status**:\n- `get_tracking_status()`\n\n**Git Status Lists**: A Collection of Data processed from Git Status operation.\n- `get_list(GitTrackingStatus) -> list[GitFileStatus]`\n- `add_file_status(GitFileStatus)`\n\n#### Enum Class\n\n**Git Tracking Status**:\n- UNTRACKED\n- UNSTAGED\n- STAGED\n- PARTIAL_STAGE\n\n#### Internal Modules\n\n**Status Runner**:\n- `run_git_status() -> str`: Runs a Git Status Porcelain V1 operation, returns the stdout.\n- `run_untracked_status() -> str`: Runs a sequence of Git operations to include untracked files in the Git Status output.\n\n**Status Reader**:\n- `read_git_status_output(str) -> GitStatusLists`: Read Git Status Porcelain V1 stdout.\n- `read_git_status_line(str) -> GitFileStatus | None`: Read a single line of Git Status Porcelain V1. Ignores Directory lines.\n\n**Status Codes**:\n- `get_status_code_change_map(str) -> Callable[]`: Construct a FileChange map function for a Git Status code.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Initialize and update Changelists information.",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/DK96-OS/changelist-init/",
"Issues": "https://github.com/DK96-OS/changelist-init/issues",
"Source Code": "https://github.com/DK96-OS/changelist-init/"
},
"split_keywords": [
"changelist",
" git",
" vcs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "16a187389dfe9a4ef7d14a87a6831d35492978bfbefe3f5211af1ff98c6ec4f5",
"md5": "3bebc5a9511d847b7c7c66454585c386",
"sha256": "c8b773c0d333bb4c74f13dd004f66e8b31b3a40daf51941b8ac875939caf97d4"
},
"downloads": -1,
"filename": "changelist_init-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3bebc5a9511d847b7c7c66454585c386",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 25183,
"upload_time": "2024-12-29T17:02:00",
"upload_time_iso_8601": "2024-12-29T17:02:00.037340Z",
"url": "https://files.pythonhosted.org/packages/16/a1/87389dfe9a4ef7d14a87a6831d35492978bfbefe3f5211af1ff98c6ec4f5/changelist_init-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b0c4f196b254d4ff904dc26f3dfcd3cda11bbec2777a806f3c39b7efe35cc7dc",
"md5": "ed2fc5392f176273151a82369c37a66a",
"sha256": "edb925c22fb9aadf84f928d5f5b3f5d97463d397d7983c287ad33d4732300e15"
},
"downloads": -1,
"filename": "changelist_init-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "ed2fc5392f176273151a82369c37a66a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 22399,
"upload_time": "2024-12-29T17:02:02",
"upload_time_iso_8601": "2024-12-29T17:02:02.428717Z",
"url": "https://files.pythonhosted.org/packages/b0/c4/f196b254d4ff904dc26f3dfcd3cda11bbec2777a806f3c39b7efe35cc7dc/changelist_init-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-29 17:02:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DK96-OS",
"github_project": "changelist-init",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "changelist-data",
"specs": [
[
"==",
"0.1.4"
]
]
}
],
"lcname": "changelist-init"
}