{"id":16619442,"url":"https://github.com/dvklopfenstein/prtgitlog","last_synced_at":"2025-04-07T06:23:58.237Z","repository":{"id":57455238,"uuid":"105281202","full_name":"dvklopfenstein/prtgitlog","owner":"dvklopfenstein","description":"Print 'git log' output in a concise and informative format","archived":false,"fork":false,"pushed_at":"2024-06-17T21:08:37.000Z","size":722,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T16:36:14.479Z","etag":null,"topics":["cli","command-line","git","git-log","log","logs","python","repository-utilities"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvklopfenstein.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-29T14:24:52.000Z","updated_at":"2023-08-18T15:23:01.000Z","dependencies_parsed_at":"2023-11-19T14:26:51.732Z","dependency_job_id":"f03918b2-7716-4a1d-871f-ed7849b407cb","html_url":"https://github.com/dvklopfenstein/prtgitlog","commit_stats":{"total_commits":137,"total_committers":2,"mean_commits":68.5,"dds":0.007299270072992692,"last_synced_commit":"a9a85706715b3b90bdce923b1936d75b3016c23b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvklopfenstein%2Fprtgitlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvklopfenstein%2Fprtgitlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvklopfenstein%2Fprtgitlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvklopfenstein%2Fprtgitlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvklopfenstein","download_url":"https://codeload.github.com/dvklopfenstein/prtgitlog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247602310,"owners_count":20965019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","git","git-log","log","logs","python","repository-utilities"],"created_at":"2024-10-12T02:25:25.335Z","updated_at":"2025-04-07T06:23:58.219Z","avatar_url":"https://github.com/dvklopfenstein.png","language":"Python","readme":"# gitlog\n[![DOI](/doc/md/images/zenodo.3066256.svg)](https://doi.org/10.5281/zenodo.3066256)\n[![Latest PyPI version](https://img.shields.io/pypi/v/prtgitlog.svg)](https://pypi.python.org/pypi/prtgitlog)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![Anaconda-Server Badge](https://anaconda.org/dvklopfenstein/prtgitlog/badges/version.svg)](https://anaconda.org/dvklopfenstein/prtgitlog)    \nA script to print **_git log_** output in a **concise** and **informative** format\n\n## Installation\n```\npip install prtgitlog\n```\nor\n```\nconda install -c dvklopfenstein prtgitlog\n```\n## Example Uses\n\nGet:    \n\n  1. [**Information for your weekly status report**](#1-get-information-for-your-weekly-status-report)\n  2. [**Information for your annual review**](#2-get-information-for-your-annual-review)\n  3. [**All information for one or more files**](#3-get-all-information-for-one-or-more-files)\n\n\n### 1) Get information for your weekly status report\nOr on Monday morning, remind yourself what you did last week.\n\n#### The reports are split into two sections:\n  1. **Commit information**. Each commit is given an alias (e.g., A, B, C, D, E, ...)\n  2. A list of **files** that were commited, preceded by thier commit aliases    \n\n#### Example\nGet commits during the last 7 days, grouped by week:\n```\n$ gitlog --week --after='7 days'\n\nWeek STARTING ON: 2019_05_13 Mon - 11 commits, 10 files\n  Fri 2019-05-17 11:41:27 1bc99eb A Added links to examples of git commands\n  Sat 2019-05-18 05:49:27 3430cd1 B Add FILES argument\n  Sat 2019-05-18 05:50:52 1943ce5 C Add STARTING ON for clarity\n  Sat 2019-05-18 06:33:10 9bb5654 D Implement git log follow for user-specified files\n  Sun 2019-05-19 04:28:45 360db18 E Allow multiple 'git log's to be run\n  Sun 2019-05-19 05:03:43 3703854 F Run 'git log' on multiple user-specified files\n  Sun 2019-05-19 05:11:29 d4106b2 G Opening README line more concise\n  Sun 2019-05-19 12:04:00 95a7b7b H Handle consecutive empty lines in 'git log' output\n  Sun 2019-05-19 12:08:54 3544c8a I Get grouping at runtime if not user-specified\n  Sun 2019-05-19 12:12:28 3f2bf25 J If numerous 'git log' commands used: write to a log file\n  Sun 2019-05-19 12:20:46 3c86b31 K Clearer, more concise doc\n    A..DEF.H... M src/prtgitlog/gitlog_strm.py\n    .B.DEF..I.K M src/prtgitlog/cli.py\n    ..CD....I.. M src/prtgitlog/prtlog.py\n    ...DE...... M src/prtgitlog/sortbytime.py\n    ...D.F..IJ. M src/prtgitlog/gitlog.py\n    ...D.F..I.. M src/tests/test_cli.py\n    ......G...K M README.md\n    ........I.. M src/prtgitlog/commit_info.py\n    ........I.. M src/prtgitlog/commit_files.py\n    ........I.. M src/bin/gitlog.py\n```\n\n### 2) Get information for your annual review\nGet all commits done in the last year, grouped by month:\n```\n$ gitlog --month --after='365 days'\n```\n\n### 3) Get all information for one or more files\nGet all commits for two files:\n  * src/prtgitlog/commit_aliases.py\n  * src/prtgitlog/commit_files.py\n\nNotice that the log follows a file that is renamed:    \n  * src/prtgitlog/prthdrs.py -\u003e src/prtgitlog/commit_aliases.py\n\nIn the files section, after the commit aliases:\n  * M: Modified\n  * A: Added\n  * R: Removed\n\n#### Example\n```\n$ gitlog src/prtgitlog/commit_aliases.py src/prtgitlog/commit_files.py\n\nAll STARTING ON: 2017_09_29 Fri - 12 commits, 3 files\n  Fri 2017-09-29 11:10:52 72bb16e A Put each class into its own module.\n  Thu 2017-10-12 11:21:36 c0dc685 B pylint. Add vim target\n  Thu 2017-10-12 14:13:06 2d0f281 C Now printing status for each file's commit.\n  Tue 2018-01-02 16:03:33 fac8edd D Limit rev chrs to printable characters\n  Tue 2018-01-09 14:13:43 7b44fbd E Updated Copyright date to 2018.\n  Thu 2018-01-18 12:02:43 b90f8c9 F cleanup. Beginning to add date-fmt headers.\n  Sat 2018-01-20 10:33:33 9c4b8bb G Moved commit aliases to commit_aliases filename (better desc)\n  Mon 2018-01-22 14:43:42 dfc1993 H SPlit commit aliases apart from commit info and commit files.\n  Tue 2018-01-23 15:23:53 b0b2e11 I Adjust status size to max status letters\n  Fri 2018-01-26 19:08:26 1563e0f J Changed Copyright to 2017-2018\n  Sat 2019-05-18 05:51:36 dab53ee K update copyright date\n  Sun 2019-05-19 12:08:54 3544c8a L Determine bytime grouping at runtime if not user-specified\n    ABCDEFG..... AMR src/prtgitlog/prthdrs.py\n    ......GH.JK.  RM src/prtgitlog/commit_aliases.py\n    .......HIJKL  AM src/prtgitlog/commit_files.py\n```\n\n\n## Succinct Output: A Comparison\n\n| Description           | # Lines | Example Output Codeblock\n|-----------------------|---------|-------------------------\n| _git log_ COMMAND     |      70 | [git log --after \"2 days\"](doc/md/README_example_succint_cmdline.md)\n| _gitlog_ REPO SCRIPT  |      10 | [gitlog --after=\"2 days\"](doc/md/README_example_succint_script.md)\n\n\n[webpage](https://dvklopfenstein.github.io/prtgitlog/)\nCopyright (C) 2017-present, DV Klopfenstein. All rights reserved.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvklopfenstein%2Fprtgitlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvklopfenstein%2Fprtgitlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvklopfenstein%2Fprtgitlog/lists"}