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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to