Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # git-fetch-log: Ultimate git fetch-log
- #
- # It shows the diferences of `local...remote` if both side exists and there
- # are differences. Useful to find out what you have to do: `merge`, `rebase`,
- # `push`, etc. The arguments passed to log.
- #
- # Place it somewhere on Your `$PATH` and execute by the `git fetch-log`
- # command.
- #
- # EXAMPLE OUTPUT
- # ============================================================================
- #
- # ==== branch [behind 1]
- #
- # > commit 652b883 (origin/branch)
- # | Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # | Date: 2016-03-10 09:11:11 +0100
- # |
- # | Commit on remote
- # |
- # o commit 2304667 (branch)
- # Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # Date: 2015-08-28 13:21:13 +0200
- #
- # Commit on local
- #
- # ==== master [ahead 1]
- #
- # < commit 280ccf8 (master)
- # | Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # | Date: 2016-03-25 21:42:55 +0100
- # |
- # | Commit on local
- # |
- # o commit 2369465 (origin/master, origin/HEAD)
- # Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # Date: 2016-03-10 09:02:52 +0100
- #
- # Commit on remote
- #
- # ==== test [ahead 1, behind 1]
- #
- # < commit 83a3161 (test)
- # | Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # | Date: 2016-03-25 22:50:00 +0100
- # |
- # | Diverged from remote
- # |
- # | > commit 4aafec7 (origin/test)
- # |/ Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # | Date: 2016-03-14 10:34:28 +0100
- # |
- # | Pushed remote
- # |
- # o commit 0fccef3
- # Author: BimbaLaszlo <bimbalaszlo@gmail.com>
- # Date: 2015-09-03 10:33:39 +0200
- #
- # Last common commit
- #
- # ==================== BimbaLaszlo (.github.io|gmail.com) ====================
- fmt='ref=%(refname:short); up=%(upstream:short); t=%(upstream:track); ts=%(upstream:trackshort);'
- git for-each-ref --shell --format="$fmt" refs/heads |
- while read entry; do
- eval "$entry"
- if test "z$ts" != 'z' && test "z$ts" != 'z='; then
- echo -e "n==== $ref $tn"
- git --no-pager log --graph --left-right --decorate --abbrev-commit --date-order --boundary $@ $ref...$up
- fi
- done
Add Comment
Please, Sign In to add comment