git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[git-sizer] Implications of a large commit object

From
Lars Schneider <larsxschneider@gmail.com>
Date
Mar 14, 2018, 08:14 UTC
Message-ID
<953C263C-6ECA-46AC-849C-8D1A38378654@gmail.com>
Hi,

I am using Michael's fantastic Git repo analyzer tool "git-sizer" [*] and it detected a very large commit of 7.33 MiB in my repo (see chart below).

This large commit is expected. I've imported that repo from another version control system but excluded all binary files (e.g. images) and some 3rd party components as their history is not important [**]. I've reintroduced these files in the head commit again. This is where the large commit came from.

This repo is not used in production yet but I wonder if this kind of approach can cause trouble down the line? Are there any relevant implication of a single large commit like this in history?

Thanks, Lars

 [*] https://github.com/github/git-sizer
[**] I know some of this stuff shouldn't be in the repo in the first 
     place, but I am constrained in the things I can change.

####################################################################### ## git-sizer output

Processing blobs: 543782
Processing trees: 517104
Processing commits: 43365
Matching commits to trees: 43365
Processing annotated tags: 3
Processing references: 123
| Name                         | Value     | Level of concern               |
| ---------------------------- | --------- | ------------------------------ |
| Overall repository size      |           |                                |
| * Blobs                      |           |                                |
|   * Total size               |  18.8 GiB | **                             |
|                              |           |                                |
| Biggest objects              |           |                                |
| * Commits                    |           |                                |
|   * Maximum size         [1] |  7.33 MiB | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| * Trees                      |           |                                |
|   * Maximum entries      [2] |  6.84 k   | **                             |
|                              |           |                                |
| History structure            |           |                                |
| * Maximum tag depth      [3] |     1     | *                              |
|                              |           |                                |
| Biggest checkouts            |           |                                |
| * Number of directories  [4] |  21.9 k   | **********                     |
| * Maximum path depth     [4] |    18     | *                              |
| * Maximum path length    [5] |   225 B   | **                             |
| * Number of files        [4] |   256 k   | *****                          |
| * Total size of files    [6] |  2.08 GiB | **                             |
Next: Michael Haggerty
Message 1 of 4 in “[git-sizer] Implications of a large commit object”
  1. Lars SchneiderMar 14, 2018
  2. Michael HaggertyMar 14, 2018
  3. Lars SchneiderMar 14, 2018
  4. Jeff KingMar 14, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.