On Wed, Aug 14, 2013 at 12:02:24PM +0530, Sitaram Chamarty wrote:
> >> # all reflog entries that are not on a branch, tag, or remote
> >> d1 = !gitk --date-order $(git log -g --pretty=%H) --not --branches
> >> --tags --remotes
> [...]
>
> > A potential problem is that the output from "log -g --pretty=%H" or
> > "fsck | grep dangling" may turn out to be humongous. Other than
> > that, they correctly compute what you want.
>
> I thought I mentioned that but I can't find my email now so maybe I
> didn't.
>
> In practice though, I find that, bash at least seems happy to take
> command lines as long as 7+ million characters long, so with the default
> reflog expire times, that should work out to 10,000 commits *per day*.
> [Tested with: echo {1000000..1900000} > junk; echo `cat junk` | wc]
You can also do:
git log -g --pretty=%H |
git log --stdin --not --branches --tags --remotes
to avoid any argv limitations.
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html