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