855c80a
updated requirements.txt by
2025-09-22 16:57:24 +0700
0991499
Completed Improvements 1. Repository Discovery Robustness Enhanced is_git_repository() with comprehensive validation Added bare repository detection (git rev-parse --is-bare-repository) Added worktree validation (git rev-parse --is-inside-work-tree) Improved symbolic link and permission handling Added recursive repository scanning with multi_repo_recursive configuration 2. Error Handling & Validation Added _validate_git_directory() for comprehensive repository validation Added _is_bare_repository() for proper bare repository detection Added _validate_repository_access() for permission and accessibility checks Implemented graceful error handling with detailed error messages Added comprehensive try-catch blocks around all git operations 3. Repository Path Validation Added _sanitize_filename() for safe output directory naming Enhanced path validation with proper permission checks Improved handling of special characters and spaces in paths Added validation for output directory creation permissions 4. Progress Tracking & Reporting Enhanced verbose output with detailed processing information Added progress indicators showing current repository being processed Improved timing information for performance analysis Added memory usage tracking with _get_memory_usage() Created comprehensive multi-repo summary reports 5. Configuration Options Added multi_repo_recursive boolean configuration for recursive scanning Enhanced configuration parsing with proper type validation Added configuration validation to prevent invalid options Improved boolean configuration parsing (fixed parsing order issue) 6. Resource Management Added memory usage monitoring and reporting Implemented proper resource cleanup Added timeout handling for long-running operations Optimized performance for large multi-repo scans ✅ Testing & Validation The improvements were thoroughly tested with: by
2025-09-22 11:36:24 +0700
5b111ee
Enhance PDF report generation with improved color schemes, standardized formatting, and better error handling in fpdf2 integration by
2025-09-22 01:27:51 +0700
9d7a8be
Implement feature X to enhance user experience and fix bug Y in module Z by
2025-09-22 00:57:33 +0700
7b97196
updated file name for codeql by
2025-09-21 23:50:22 +0700
246804a
. Security Issues ✅ Fixed bare except clause in cache loading that could hide critical errors Added input validation to getpipeoutput() function to detect potential command injection attempts Improved file handling with proper context managers and error handling 2. Error Handling Patterns ✅ Replaced bare except with specific exception types (zlib.error, pickle.PickleError, EOFError, etc.) Added proper error messages with context information Fixed division by zero in execution time calculation Added main-level exception handling with debug mode support 3. Undefined Variables/Functions ✅ Verified all function calls are properly defined Fixed potential runtime errors in mathematical operations Added safe division operations where needed 4. JavaScript Code Style Issues ✅ Fixed undeclared variables in sortable.js by adding proper var declarations Fixed variable shadowing in compare_numeric() function Improved loop variable declarations in sortables_init() and ts_resortTable() Added missing variable declarations for ARROW, dt, mtstr, yr, etc. 5. Performance Issues ✅ Optimized file operations by using context managers Reviewed and confirmed existing code already handles most performance concerns appropriately Improved cache file handling to be more robust 6. Configuration and Path Validation ✅ Added comprehensive git repository validation (existence, directory check, .git folder verification) Added output directory validation with permission checks Enhanced configuration parsing with type validation and range checks Added better error messages for invalid configurations Key Improvements Made Better Error Messages: All error conditions now provide clear, actionable feedback Input Validation: Added checks for git repositories, output directories, and configuration values Robust File Handling: Using context managers and proper exception handling Security Hardening: Basic command injection detection and safer file operations Code Quality: Fixed JavaScript variable scope issues and improved maintainability by
2025-09-21 23:43:22 +0700
4eac54a
Potential fix for code scanning alert no. 2: DOM text reinterpreted as HTML by
2025-09-21 17:09:21 +0700
0240988
Add styles for team analysis, performance tables, and highlight patterns by
2025-09-21 16:55:49 +0700
401800a
Add branch analysis and styling for unmerged branches in GitStats by
2025-09-21 16:26:46 +0700
d0f3108
Remove obsolete documentation files and the GPLv3 license by
2025-09-20 17:37:57 +0700
e3e43f3
Potential fix for code scanning alert no. 1: Overly permissive regular expression range by
2025-09-20 17:33:37 +0700
2ebe88d
Potential fix for code scanning alert no. 3: Inefficient regular expression by
2025-09-20 17:31:31 +0700
ee7cafd
Add SLOC analysis and composition table (analyzesloc + SLOC helpers) — gitstats Track and plot pace of changes (pace_of_changes data + pace_of_changes.png/.dat) — gitstats Add PDF report generator using fpdf2 with embedded charts (PDFReportCreator) — gitstats Add repository size calculation and getter (repository_size_mb + getRepositorySize) — gitstats Add last-30-days and last-12-months activity summaries and accessors (last_30_days_*, last_12_months_*) — gitstats Add SLOC-per-extension breakdown on lines page and related data writers — gitstats Add commit timing / external-command timing and --debug/--verbose tracing in runner — gitstats Chores by
2025-09-20 17:26:42 +0700
aad53f0
added export to pdf function and .gitignore by
2025-09-18 21:30:01 +0700
4ffb8d5
Add README for gitstats3 project by
2025-09-17 11:44:28 +0700
0b9e0dd
ported to python 3 by
2025-09-17 11:40:36 +0700
3e40bdd
Merge 9f5cd3b00218da49b869e1ae224d86881f048f9f into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2024-03-08 15:46:07 +0800
9f5cd3b
Merge pull request #4 from christhoval06/main by
2024-03-07 13:32:17 -0500
62365ee
feat(*.html): update chart to use apexchart. by
2024-03-07 13:31:33 -0500
f6e1b8f
feat(authors.html): update chart to use apexchart. by
2024-03-06 19:37:12 -0500
dddbdcc
feat(activity/html): update chart to use apexchart. by
2024-03-06 01:39:47 -0500
82703d5
Merge pull request #3 from christhoval06/main by
2024-03-05 17:38:59 -0500
6588508
feat(tailwind): add tailwind config, update general pages using tiles by
2024-03-05 17:36:16 -0500
30a965b
refactor html generator, add alpinejs, add tailwindcss layout by
2024-02-29 17:17:40 -0500
4d7e71d
Merge pull request #2 from christhoval06/main by
2024-02-29 02:13:34 -0500
ad81269
add tailwindcss, total branch and tags by
2024-02-29 02:06:37 -0500
c4bdb99
Merge branch 'master' of github.com:christhoval06/gitstats by
2024-02-28 18:14:59 -0500
fc688b8
add changes_by_date_by_author by
2024-02-28 18:14:12 -0500
8bbc0d5
Merge pull request #1 from christhoval06/chore/python3 by
2024-02-28 17:43:30 -0500
011810b
add code lines stats, json report by
2024-02-28 17:41:48 -0500
065640e
update to python3 by
2024-02-28 15:50:10 -0500
2623b06
Merge ad8b4d8ff082939c4c169d23bb87121dbf3bbabd into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2023-12-08 23:52:20 +0100
ad8b4d8
gitstats: make it work with Python3 by
2023-12-08 23:50:28 +0100
497b333
Merge 04dd0b8794c2497585c18aebf6fc2694f4501526 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2022-11-21 13:44:38 -0500
04dd0b8
Merge branch 'master' into master by
2022-11-21 13:44:34 -0500
bf9e220
Merge ca415668ce6b739ca9fefba6acd29c63b89f4211 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2022-10-08 07:47:35 -0700
ca41566
Convert gitstats to use python3 by
2022-10-08 07:18:31 -0700
dda7dfb
Merge 71a8a9797e90817904e6018c85acb67c10140d76 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2022-09-20 11:21:13 +0800
71a8a97
Migrate to python 3 by
2022-09-19 05:38:50 -0700
33634b9
formato de tarjeta de todos los <dl> by
2022-09-17 12:12:24 -0500
e0b3ab1
cards en home by
2022-09-17 12:04:45 -0500
2ab0b0a
inicio de version con bootstrap by
2022-09-17 11:50:26 -0500
6ca60f1
Merge ca1a6925d16ebf94022c1e2978bb2289a87141bd into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2022-03-21 14:50:12 +0530
ca1a692
first commit by
2022-03-21 14:48:25 +0530
ebe0b44
first commit by
2022-03-21 14:45:25 +0530
5b14917
first commit by
2022-03-21 13:56:10 +0530
d1be2b0
first commit by
2022-03-21 13:52:40 +0530
97b73d7
Merge bb9a2ed852bccf6256a7bc1456a1db18d8a7315f into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2020-09-25 13:49:57 -0400
bb9a2ed
gitstats: add support for python3 by
2020-09-25 13:46:52 -0400
ac69c57
Merge 77b3d85cf61446dc42e731953d5f81154115cb2e into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2019-11-26 10:33:31 +0800
77b3d85
更新脚本:支持时间参数:end_date by
2019-07-10 14:24:30 +0800
d9631de
Merge 0c643be0f1b2fb8792621ebe07f103b797dd7f4c into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2018-10-23 09:43:25 +0000
0c643be
Minor tweak to allow date ranges. Double quote dance is to also let commit sequences still work. Addtional 'ignores' to trap issues with empty results due to the narrow ranges now more easily elicited. by
2018-10-23 11:42:56 +0200
737e7e0
Merge bcaf83b2220e1075740937765df377d5e779c79c into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2018-09-20 21:24:32 +0000
bcaf83b
Reformatting and small code refactoring by
2018-09-20 22:47:27 +0200
48da355
Merge d35a51100e276f7c91d8c59fe7690ccc024c3d95 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2018-06-11 17:22:25 +0000
b8bc637
Merge 454f255da45add047bb37d9616d4f2ebe90b9bf6 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2018-05-25 19:10:45 +0000
454f255
Fixes issue https://github.com/hoxu/gitstats/issues/36 . Making as default end_only False in getlogrange. by
2018-05-25 14:06:52 -0500
d35a511
Fix column names by
2018-05-25 11:47:25 -0600
75c1286
Update setup and readme by
2018-05-14 10:26:00 -0600
7c8a428
Remove unused (for csv generation) code. by
2018-05-14 09:52:16 -0600
ed4ac3e
Significant rework: * Read in full revision graph * Use Tokei to get detailed LOC measurements for each rev * Trim down number of csv files created by
2018-05-14 09:34:29 -0600
6c767b1
differentiate this package from the one that is already on pypi add new console script for gencsvstats add script to publish to internal pypi by
2018-04-30 09:54:51 -0600
56cd8cf
make csv generator executable by
2018-04-24 17:40:00 -0600
af2be52
Handle exclusion of resource files from some of the reporting by
2018-04-20 16:00:26 -0600
741dfb5
Dwr/pull request tracking (#1) by
2018-04-11 14:23:50 -0600
d436ac8
A few fixes by
2018-04-06 13:54:17 -0600
6f7df47
Handle errors a bit better by
2018-04-03 15:36:41 -0600
47dd12a
Create csv generator as a parallel to HTML Report Creator by
2018-04-03 12:13:06 -0600
2047313
Refactor data generators into seperate classes Use callback pattern to handle processing of individual rows of data from data generators Use dataclasses to define individual data instances by
2018-04-02 20:51:38 -0600
3036127
add comdline option for name translation` by
2018-03-31 10:52:07 -0600
77d4d53
combine like authors by
2018-03-31 10:30:29 -0600
cfe1eb2
Convert Author into a dataclass by
2018-03-30 18:10:19 -0600
e4969fb
Update project url by
2018-03-30 16:10:10 -0600
e5fdbf3
Switch from print to logging Handle multiprocessing_logging by
2018-03-30 16:06:05 -0600
b414bd5
(Final Stage) Upgrade to python 3 Make this a module (and installable) Refactor single file into discrete files by
2018-03-29 21:40:04 -0600
8a1570e
(Stage 1) Upgrade to python 3 Make this a module (and installable) Refactor single file into discrete files by
2018-03-29 21:39:21 -0600
5c443f9
Merge 1bd4f015975a831efa1c36c42364ad1079c0d123 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2017-11-12 12:06:53 +0000
1bd4f01
Add parameter end_date to pass a explicit time range to git by
2017-11-12 12:29:07 +0100
4e8f606
Merge 651b8218a4f709aa221de56afd3ea377d414ee8b into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2017-09-06 22:54:56 +0000
651b821
use exclude_paths as regular expression by
2015-03-26 12:49:12 -0700
a41cdb4
new config option which can be used more than once to exclude file paths from stats. by
2015-03-26 11:07:07 -0700
db76e6b
use 4 spaces for indention instead of tabs by
2015-03-26 11:02:38 -0700
223e842
Merge e53043d00b79451e2b2dc7049b9ab5fb6793b987 into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2017-08-16 13:27:08 +0000
e53043d
Checking OS to replace wc and grep to findstr, their equivalent command on Windows. by
2017-08-16 13:23:02 +0000
f5b5f2a
Merge 29a29d0f55b752ee50a13e5670aa12b926fff6ae into 55c5c285558c410bb35ebf421245d320ab9ee9fa by
2017-07-17 18:57:14 +0000
29a29d0
special path needed by
2017-07-17 14:57:08 -0400
c4c36e1
setup for .repo controller by
2017-07-17 14:53:17 -0400
5007c86
new location worked, now just adding terminal print out by
2017-07-07 10:47:22 -0400
73bc6b8
moved it down to near main by
2017-07-07 10:41:23 -0400
83e5320
moved git2json down by
2017-07-07 10:39:13 -0400
d82fe6b
new slash by
2017-07-06 17:40:46 -0400
a3b9f55
typos by
2017-07-06 17:37:40 -0400
3850197
execution py for easy build by
2017-07-06 17:29:10 -0400
927c105
disable non unix timestamp testing by
2017-07-06 16:22:05 -0400
75d7794
path switch for execution by
2017-07-06 14:41:27 -0400
2e3327d
path errors by
2017-07-06 14:32:40 -0400
4a7554c
> instead of | by
2017-07-06 14:26:44 -0400
457b580
moved git2json code by
2017-07-06 14:23:53 -0400
2b4029d
now as executable by
2017-07-06 14:19:01 -0400