On Mon, Apr 01, 2024 at 10:03:13AM -0700, Junio C Hamano wrote: > >> That made me realize, if "git show" runs things through a pager, wouldn't it > >> then lose the "%s is the first %s commit\n" message printed by > >> bisect_next_all() before calling the function to show the contents? > >> > >> Is that fixable? > > > > Good catch. IMHO we should disable the pager entirely by sticking > > "--no-pager" at the front of the child argv. But then, maybe somebody > > would like the output to be paged? I wouldn't. > > Hardcoded --no-pager is a good workaround. But if the output is > long and needs paging, wouldn't we see what was shown before we > spawned "less" on the screen when we quit it? Running > > $ (echo message here ; git log --help) > > and then saying 'q' to exit the pager leaves me "message" after that > command line. That depends on your "less" options and your terminal, I think. Aren't there some combinations where the terminal deinit sequence clears the screen? It has been a while since I've run into that, though, so I might be misremembering. At any rate, my concerns are more: 1. You wouldn't see it while the pager is active, so you are missing some context. 2. If you don't use LESS=F, then it may be annoying to invoke the pager at all. -Peff > > If we really wanted to keep the pager for git-show, I guess we'd need to > > have it print the "%s is the first %s commit" message. The only way I > > can think to do that is to pass it as a custom --format. But then we'd > > need to additionally specify all of the usual "medium" format as a > > custom format, too, which is quite ugly. > > ;-) Ugly but fun. > > I wonder how hard it is to add %(default-output) placeholder for the > pretty machinery. I have a dream that all of the pretty formats could be implemented in terms of %-placeholders. But yeah, even without that, being able to do "%(pretty:medium)" would be cool. "Pretty" cool, even. (Sorry, I could not resist). -Peff