Comments (10)
That sounds like a bug - it shouldn't touch ancestors of the -e
commit. Did you try investigating with --debug
?
from git-deps.
It would be very helpful if you could provide a minimal test case.
from git-deps.
I watched the output from --debug
and it was definitely hitting old hunks but I don't know the output enough to know what's good vs bad output.
For a minimal repro... is there something I can use to generate a large repo? Maybe something that takes a random seed so we wind up with the exact same thing?
from git-deps.
Eww... all the "random commit generators" I've found are for scamming your github history in order to look productive and get interviews.
from git-deps.
OK. I think this might be a deterministic test case... It's a start at least.
but it is certainly not minimal. Not sure how one would minimize and still make the performance problems obvious... but try this:
10008 % git clone --branch=v2.6.33 --depth=100000 https://github.com/torvalds/linux.git
...
10009 % git log --all -M -C --name-only --format='format:' "$@" | sort | grep -v '^$' | uniq -c | sort -n | tail -3
620 include/linux/sched.h
1064 kernel/sched.c
1128 MAINTAINERS
10010 % git log --oneline -n 5 -- kernel/sched.c
fabf318e5e4 sched: Fix fork vs hotplug vs cpuset namespaces
6d558c3ac9b sched: Reassign prev and switch_count when reacquire_kernel_lock() fail
0c69774e6ce sched: Revert 738d2be, simplify set_task_cpu()
70f11205277 sched: Fix hotplug hang
3df0fc5b2e9 sched: Restore printk sanity
10011 % time git deps -e 3df0fc5b2e9 fabf318e5e4 -d
...
This turns out to only be 990M (560M .git) and 180k commits. For reference the repo I'm in is 5.6G (3.1G .git) and 185k commits.
...still running after 10m
from git-deps.
Thanks. I wouldn't leave it running for more than a few seconds, the trick would be to enable --debug
, pipe through a pager (I highly recommend lnav but less
would do just fine), and then spot the first moment the debug starts looking at commits which you don't expect it to (i.e. ancestors of the -e
value). Then the debug leading up to that moment will probably explain what's going wrong.
from git-deps.
Related Issues (20)
- Excluding commits previously cherry-picked. HOT 2
- git deps with limit HOT 12
- UTF-8 decode error HOT 7
- switch from git rev-parse to pygit2 Repository.revparse
- error while install HOT 1
- Submodules not treated properly leading to crash/failure
- Problem with binary file
- git-deps fails to work with Flask >= 2.2 (safe_join has been removed in Flask) HOT 2
- Error while trying to install via pip: "AttributeError: module 'pypandoc' has no attribute 'convert'"
- python-six is not required HOT 1
- Pandoc deprecated a call... install errors out (pip install) HOT 2
- Project abandoned? pip install fails (Python 3.10.8) HOT 6
- switch from Travis CI to GitHub Actions
- $ git: 'deps' is not a git command. See 'git --help'. HOT 8
- Error when fetching the dependencies of the root commit
- Errors encountered installing git-deps under Windows HOT 6
- Add "exclude" feature to visualization HOT 1
- Error when analysing dependencies in a 'real' repository (MacOS) HOT 7
- updating INSTALL.md for python 3 HOT 1
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-deps.