Hello there. I'm using a bash function that does a combination of 'ls -l', 'git status', and 'git branch' to give me a quick overview of where I stand in the current git repo. I planned to extend that function to also list the to-be-pushed commits in the current branch, something like $ git log --oneline --abbrev-commit --decorate @{u}.. But I don't want to run that 'git log...' if there's no upstream configured for HEAD (and I don't want to see any error!) OK. That's a task for 'git rev-parse' I thought: $ up=$(git rev-parse --verify --quiet @{u}) && git log --left-right --oneline --abbrev-commit --decorate $up fatal: no upstream configured for branch 'master' Wait. What? I thought rev-parse with '--verify' and '--quiet' is just that - quiet - in case "...the first argument is not a valid object name" ? Let's see: $ git rev-parse --verify --quiet master@{xyz} || echo No No $ git rev-parse --verify --quiet master@{u} || echo No fatal: no upstream configured for branch 'master' No I don't want to see that error (and I know I could just redirect stdout/stderr to /dev/null ...) So: Are my expectations about 'rev-parse --verify --quiet' wrong or am I doing something stupid ? Thanks, Stefan -- ---------------------------------------------------------------- /dev/random says: Disclaimer: Written by a highly caffeinated mammal. python -c "print '73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')" GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9 9666 829B 49C5 9221 27AF ��.n��������+%������w��{.n��������n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�