Avram Lubkin <av...@rockhopper.net> writes:

> I inherited some code that uses *git log --no-merges --right-only
> --cherry-pick --since='2 months ago' some_tag..origin/master -- path1,
> path2, ...* as an initial step in determining commits that are missing
> from some_tag. The main problem is it's slow for a large repo and
> there is no status.

I've just played a bit around and came to the conclusion that what makes
it slow is the path restrictions.  That is, when I perform above command
(without --since) to some reasonably large project with long history and
some older release tag, it takes about half a second to find 50.000
commits.  When I add "-- <15 paths...>" it takes a second.  When instead
I add 150 paths, it takes 7 seconds.  With 350 paths, its 16 seconds.
Then I tried with more than 2000 which finished in about 4 minutes

How many paths do you add?  Maybe it would be better not to add them
here at the git log invocation but first figure out the commits and then
check if they touched a path you are interested in.  However, I guess
that won't work if files got renamed in between.

Bye,
Tassilo

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/git-users/874jompri2.fsf%40gnu.org.

Reply via email to