git-of-theseus
git-repo-updater
git-of-theseus | git-repo-updater | |
---|---|---|
13 | 2 | |
2,354 | 773 | |
- | - | |
4.3 | 4.3 | |
5 months ago | 7 months ago | |
Python | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
git-of-theseus
-
I Parsed Git Statistics
https://github.com/erikbern/git-of-theseus
- The half-life of code and the ship of Theseus
-
Show HN: Visualize the Entropy of a Codebase with a 3D Force-Directed Graph
A tangentially related tool you can use to look at a repo over time is Git of Theseus[1]. It shows things like "what percentage of the code in this repo survives 6 months.
[1]https://erikbern.com/2016/12/05/the-half-life-of-code.html
-
The Road to 128 bit Linux
There're some more in the presentation article: https://erikbern.com/2016/12/05/the-half-life-of-code.html#:...
A kernel line has half-life 6.6 years.
-
How to look at familiar codebase with “fresh” eyes again
Look at the codebase with Git of Theseus or Codescene
-
Rich Hickey – open-source is Not About You
I guess one good example (that was mentioned just yesterday here on HN) would be Flask vs FastAPI: https://news.ycombinator.com/item?id=31953470 - "There are no open issues or pull requests on Flask "
Quick count finds that FastAPI has 48422 lines of code, while Flask has 9995. Flask just achieved "Zero standing issues/PRs" while FastAPI has 1.1K open issues and ~500 open PRs.
Large surface area/API quickly leads to be overwhelmed when you're trying to maintain it. Adding new features/fixing existing ones becomes harder as well.
Best bet to make sure something is maintainable over time is to add as little as possible to it, and if you really have to, make sure you're also removing something at the same time.
Otherwise you need a massive team just to be able to "survive" and not making things rot.
There is this blogpost as well about the "half-life of code": https://erikbern.com/2016/12/05/the-half-life-of-code.html
Someone run that tool on the Clojure codebase as well, and it really shows how well the Clojure codebase has been written, as most code that was initially written is still there and does what it needs, without having to be rewritten.
- Show HN: Git Timeline Generator – Visualize contributions to any Git project
-
Do you think it's possible to automatically detect Technical Debt from the source code?
Some parts of technical debt, you can find with https://github.com/erikbern/git-of-theseus or https://codescene.com/
- Git-of-Theseus – Analyze how a Git repo grows over time
git-repo-updater
- The Tornado project github seems to have been banned and gone for good. I'll clone Monero repos, just in case... Please do the same.
-
How to push changes from one project into multiple repositories without overwriting files?
I haven't used it but I saw this, maybe it would be helpful: earwig/git-repo-updater: A console script that allows you to easily update multiple git repositories at once
What are some alternatives?
Gource - software version control visualization
west - West, Zephyr's meta-tool
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
git-plan - Git Plan - a better workflow for git
compojure - A concise routing library for Ring/Clojure
dev-setup - macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
pre-commit-hooks - Some out-of-the-box hooks for pre-commit
mlem - 🐶 A tool to package, serve, and deploy any ML model on any platform. Archived to be resurrected one day🤞
ts-macros - A typescript transformer / plugin that allows you to write macros for typescript!
monero-archive - Monero archival tools
yesql - A Clojure library for using SQL.