LineLord
The Barbarian's Guide to Git Repository Conquest
“What is best in code? To crush the bugs, see them driven from your repository, and to hear the lamentations of their stack traces!” — Gorvek of Bonereach
Every number below was read by LineLord
0.13.0 from a generated demo repository, at the
revision b59595a6.
Nothing on this page is analysed when you load it — LineLord is a
terminal tool, and this is what it reports.
Looking past 1 commit
named in .git-blame-ignore-revs, so their lines are
credited to whoever wrote them rather than to whoever reformatted
them.
Repository Overview
10 of 14 tracked files were read. The rest were set aside: 1 binary, 2 generated, 1 over the threshold. 205 lines still stand, held by 4 warriors.
| # | Warrior | Share | Lines | |
|---|---|---|---|---|
| 1 | Captain Drusk drusk@greycloaks.realm legend | 37.1% | 76 | ███████░░░░░░░░░░░░░ |
| 2 | Gorvek of Bonereach gorvek@bonereach.realm vanquisher | 27.8% | 57 | ██████░░░░░░░░░░░░░░ |
| 3 | Sarn the Faceless sarn@kell.realm slayer | 26.8% | 55 | █████░░░░░░░░░░░░░░░ |
| 4 | Gorvek of Bonereach gorvek@kell.realm potter | 8.3% | 17 | ██░░░░░░░░░░░░░░░░░░ |
Brutal Barbarian Rankings
A ranking by conquest rather than by volume. Every metric counts lines still alive in the analysed revision.
| # | Warrior | Score | Lines | Scars | Terr | Solo | Types | Anc | Mass | Camp |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Captain Drusk drusk@greycloaks.realm | 304.08 | 76 | 69 | 2 | 2 | 1 | 76 | 0 | 2 |
| 2 | Gorvek of Bonereach gorvek@bonereach.realm | 277.25 | 57 | 43 | 5 | 4 | 3 | 55 | 0 | 4 |
| 3 | Sarn the Faceless sarn@kell.realm | 49.89 | 55 | 0 | 2 | 2 | 3 | 0 | 0 | 3 |
| 4 | Gorvek of Bonereach gorvek@kell.realm | 45.5 | 17 | 0 | 1 | 1 | 1 | 17 | 0 | 1 |
- Scars
- Battle Scars
- Terr
- Territory Conquered
- Solo
- Solo Quests
- Types
- Weapon Mastery
- Anc
- Ancient Code
- Mass
- Massive Battles
- Camp
- Campaigns
Code Longevity
The codebase is 2y 1m old at the middle,
1% of it last touched within ninety days.
Oldest line still standing: Makefile:1 — 4y 0m old.
The history was walked over 10 revisions, which is where the half-life comes from: how long until half of a month's work is gone. A dash means the history saw that code only once and knows nothing either way — which is not the same as short-lived.
| # | Warrior | Lines | Median | Spread (p10–p90) | Half-life | New → old |
|---|---|---|---|---|---|---|
| 1 | Captain Drusk drusk@greycloaks.realm | 76 | 3y 3m | 3y 3m – 3y 3m | > 3y 4m | █ |
| 2 | Gorvek of Bonereach gorvek@kell.realm | 17 | 2y 1m | 2y 1m – 2y 1m | > 2y 1m | █ |
| 3 | Gorvek of Bonereach gorvek@bonereach.realm | 57 | 1y 9m | 1y 9m – 4y 0m | 2y 3m | ▁ █▄ |
| 4 | Sarn the Faceless sarn@kell.realm | 55 | 3m | 3m – 3m | > 7m | ▁ █ |
| 5 | Brother Nask nask@thurn.realm | 0 | — | — – — | 2y 1m |
In the terminal m, a and l re-sort by median, mean and lines, and h and s by half-life and survival once the history is walked.
One Warrior, Many Names
An email address is an identity, and nothing is inferred from names. Where two contributors look like one person LineLord says so and nothing was merged — both addresses keep their own place in the ranking, because two entries for one warrior should be a thing you decide about rather than a thing you have to notice.
-
Gorvek of Bonereach
gorvek@bonereach.realm
- ← gorvek@kell.realm — the same name
--write-mailmap, or w on that screen, drafts these
into a .mailmap. They are guesses, and the guessing is wrong
often enough to matter, so read them before committing them:
Gorvek of Bonereach <gorvek@bonereach.realm> <gorvek@kell.realm>
So are they merged? Not by LineLord, which counts
addresses before you write the file and after. But .mailmap
is git's own file, and git blame applies it
before LineLord sees a single line — so from the next run the two
are one warrior, with one row and one share, because git says they are the
same person rather than because a heuristic guessed it. The decision lives
in a file you wrote, where git shortlog reads it too, and a
wrong guess is a line to delete rather than a verdict to argue with.