Skip to main content
  1. Posts/

🚀 gitstats Upgrade Arrives—JSON Output, Cross-Platform Compatibility, and Code Refactoring!

·338 words·1 min· ·
Xianpeng Shen
Author
Xianpeng Shen
Table of Contents

Hello everyone! Since my last post announcing the start of maintaining gitstats, I’ve been continuously improving this project. Here are the major updates over the past two months:

✨ New Features and Improvements
#

  1. Support for Generating JSON Files In addition to the original HTML report, gitstats can now generate JSON files! Use Case: Facilitates secondary development or programmatic use for developers, meeting more customized needs. Origin: This feature was implemented quickly based on user feedback.

  2. Code Refactoring A significant amount of refactoring and optimization has been performed on the previously mixed code. Benefits: The code structure is clearer and easier to maintain, laying the foundation for writing unit tests.

  3. Replacing getopt The deprecated getopt has been replaced with the more modern argparse. Advantages: Improves code readability and maintainability.

  4. Cross-Platform Support In addition to Linux, gitstats has now been fully tested on Windows and macOS. Testing: I’ve conducted thorough testing on all three platforms to ensure real-time availability.

📅 Next Steps
#

  1. Support for Theme Switching In addition to the default theme, I plan to add a Dark Mode, catering to different user visual preferences.

  2. Unit Testing and Coverage Unit tests will be added, and coverage will be increased to 100% (a small goal) to prevent regression bugs.

💡 Your Needs Matter!
#

If you have any other needs or feature suggestions, feel free to visit the following repository address and submit an Issue: 👉 https://github.com/shenxianpeng/gitstats

🌟 Welcome to Use and Support
#

If you find gitstats helpful, welcome to Star🌟 it! Your recognition is the motivation for my continuous improvement!

What new features would you like to see added to gitstats? Feel free to leave a comment or directly submit an Issue on GitHub!


Please indicate the author and source when reprinting this article, and do not use it for any commercial purposes. Welcome to follow the WeChat official account “DevOps攻城狮”

Related

Reviving GitStats — Breathing New Life into Git History Analysis
·567 words·2 mins
This post details the revival of the GitStats project, including its migration to Python 3, the creation of a modern CI/CD pipeline, publication to PyPI and Docker, and future improvement plans.
Conventional Branch Specification Released!
·488 words·1 min
This article introduces the Conventional Branch specification, which provides a structured naming convention for Git branches to enhance readability and collaboration.
Programmer's Self-Cultivation — Git Commit Message and Branch Creation Conventions (Tools)
·1039 words·3 mins
This article introduces how to use the Commit Check tool to verify whether Git commit messages, branch names, committer usernames, and committer email addresses conform to specifications.
How to create GPG keys and add to GitHub
·370 words·1 min
This article explains how to create GPG keys, export the public key, and add it to GitHub for signing commits.
Reliably Unforking a GitHub Repository Without Deletion and Reconstruction
·359 words·1 min
This article describes how to separate a forked repository from its parent repository using GitHub Support, avoiding data loss from deletion and reconstruction, and helping developers better manage forked repositories.
Solving Two Git Clone Failure Issues on AIX
·878 words·5 mins
This article documents two issues encountered when using Jenkins for Git clone on AIX and their solutions, including dependent library loading failure and SSH authentication failure.