Comments (1)
git-sizer
is currently all about the logical size of the repository, for example the full size of a file without considering that in the Git object database it will probably be stored deltad against other versions of the file and then compressed. GitHub's 2GB limit, on the other hand, is the maximum size of a push after deltaing and compressing the data.
I don't think that it would be possible for git-sizer
to figure out how much new content was added by each commit relative to its parents in an affordable way.
You could probably rig something together using git diff-tree
and git cat-file --batch-check='%(objectsize:disk)'
to give a decent estimate, but that will be a bit expensive if you have to do it for all commits.
But 2GB is quite a big number, isn't it? It's hopefully much bigger than any single commit in your repository. Note also that independent of the limits on the size of a single push, GitHub also strongly suggests that you keep your repository size under 5 GB if at all possible, mostly because that will give you a much snappier experience.
For the initial push of a new repo to GitHub, it seems like trial-and-error doing things like pushing master~100000
, then master~75000
, etc. would get you there pretty easily.
I'm closing this issue because I don't think that the proposed feature would fit well in git-sizer
.
from git-sizer.
Related Issues (20)
- Question: How is logical file size calculated (Total size of files) HOT 1
- Obtain a list of biggest files in the repository. HOT 1
- Question: is there anyway I can get the count of files in particular language for example cuda statistics HOT 1
- Can it work on a bare repo? HOT 1
- MASTER Test HOT 1
- Get a top 10 of biggest checkouts in repository
- Approximating size shown at https://github.com/settings/repositories HOT 4
- Please update to Go 1.16 and also release for macOS ARM64 HOT 4
- Add suggestion on how to resolve spotted issues HOT 1
- "git-sizer --version" should show a version number. HOT 5
- `git-sizer --help` should exit with 0 HOT 1
- Add new convenience options like `--no-branches`, `--stash`, etc. HOT 1
- Release 1.4.0 Windows builds flagged as malicious by multiple vendors HOT 3
- error: couldn't open Git repository: git rev-parse failed: Unknown option: -C HOT 4
- Detect & report tmp_pack files HOT 1
- Idea: have `git-sizer` read some defaults from the gitconfig
- Impove NewObjectIter method HOT 2
- [Doc] Record Golang dependency in readme.
- git-sizer error: "running 'git config': exit status 129" HOT 7
- go get: installing executables with 'go get' in module mode is deprecated HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-sizer.