Re: git-log to go forward instead of reverse?
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jul 10, 2006, 20:26 UTC
- Message-ID
- <7vpsgdb40s.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <86mzbhntxu.fsf@blue.stonehenge.com>
merlyn@stonehenge.com (Randal L. Schwartz) writes:
Show 6 quoted lines
> Well, this is for a "I'm connected to the net right now: please > refresh all of my git mirrors" script: > > ## (code here to cd to the right dir omitted) > git-fetch > if git-status | grep -v 'nothing to commit'
git-status exits non-zero for "nothing to commit" case, so do not grep its output, but check the status of the command, to see if your tree is in a good shape to do a pull.
Show 8 quoted lines
> then echo UPDATE SKIPPED > else > if git-pull . origin | egrep -v 'up-to-date' > then git-log --pretty=short ORIG_HEAD..HEAD | cat > fi > fi > > The log is just so I can quickly eyeball the interesting changes.
Do we not leave ORIG_HEAD when we are already up-to-date? If so that would be confusing... No, we do leave ORIG_HEAD no matter what, so you do not have to have this inner if to grep up-to-date (on the other hand, you might want to do intelligent things when git-pull fails). So just drop the if and say something like:
else
PAGER= ; export PAGER
git pull . origin &&
git log --pretty ORIG_HEAD..HEAD |
git shortlog
fi> The "cat" > is to keep git-log from starting a pager. (If there's a switch that does > *that* that I've overlooked, that'd be good too.)
BTW,
PAGER=cat
export PAGERThis should work as more efficiently -- see pager.c ;-)