When no branch is specified, fallback to the tracked branch first
This allows to work in a branch foo, which tracks e.g. master, and using plain ./logerrit submit, have it submit to master properly. Change-Id: I7aaff759392250a5380853cbaea0f892461c1d77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165984 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
parent
9bbecbaea3
commit
b6c10f89e2
1 changed files with 27 additions and 12 deletions
39
logerrit
39
logerrit
|
@ -8,15 +8,24 @@ get_SHA_for_change() {
|
||||||
SHA=$(ssh "${GERRITHOST?}" gerrit query --all-approvals change:"$1" | grep ref | tail -1 | cut -d: -f2 | sed 's/^ *//')
|
SHA=$(ssh "${GERRITHOST?}" gerrit query --all-approvals change:"$1" | grep ref | tail -1 | cut -d: -f2 | sed 's/^ *//')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_tracked_branch() {
|
||||||
|
local BRANCH=$(git symbolic-ref HEAD|sed 's|refs/heads/||')
|
||||||
|
local REMOTE=$(git config branch.$BRANCH.remote)
|
||||||
|
git rev-parse --abbrev-ref --symbolic-full-name HEAD@{upstream}|sed "s|${REMOTE}/||"
|
||||||
|
}
|
||||||
|
|
||||||
submit() {
|
submit() {
|
||||||
BRANCH=$1
|
BRANCH=$1
|
||||||
TYPE=${2:-''}
|
TYPE=${2:-''}
|
||||||
if test -z "$BRANCH"; then
|
if test -z "$BRANCH"; then
|
||||||
BRANCH=$(git symbolic-ref HEAD 2> /dev/null)
|
BRANCH=$(get_tracked_branch)
|
||||||
BRANCH="${BRANCH##refs/heads/}"
|
|
||||||
if test -z "$BRANCH"; then
|
if test -z "$BRANCH"; then
|
||||||
echo "no branch specified, and could not guess the current branch"
|
BRANCH=$(git symbolic-ref HEAD 2> /dev/null)
|
||||||
exit 1
|
BRANCH="${BRANCH##refs/heads/}"
|
||||||
|
if test -z "$BRANCH"; then
|
||||||
|
echo "no branch specified, and could not guess the current branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo "no branch specified, guessing current branch $BRANCH"
|
echo "no branch specified, guessing current branch $BRANCH"
|
||||||
fi
|
fi
|
||||||
|
@ -180,11 +189,14 @@ case "$1" in
|
||||||
echo "current state backed up as $BACKUPBRANCH"
|
echo "current state backed up as $BACKUPBRANCH"
|
||||||
BRANCH=$2
|
BRANCH=$2
|
||||||
if test -z "$BRANCH"; then
|
if test -z "$BRANCH"; then
|
||||||
BRANCH=$(git symbolic-ref HEAD 2> /dev/null)
|
BRANCH=$(get_tracked_branch)
|
||||||
BRANCH="${BRANCH##refs/heads/}"
|
|
||||||
if test -z "$BRANCH"; then
|
if test -z "$BRANCH"; then
|
||||||
echo "no branch specified, and could not guess the current branch"
|
BRANCH=$(git symbolic-ref HEAD 2> /dev/null)
|
||||||
exit 1
|
BRANCH="${BRANCH##refs/heads/}"
|
||||||
|
if test -z "$BRANCH"; then
|
||||||
|
echo "no branch specified, and could not guess the current branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo "no branch specified, guessing current branch $BRANCH"
|
echo "no branch specified, guessing current branch $BRANCH"
|
||||||
fi
|
fi
|
||||||
|
@ -228,11 +240,14 @@ case "$1" in
|
||||||
|
|
||||||
BRANCH=$2
|
BRANCH=$2
|
||||||
if test -z "$BRANCH"; then
|
if test -z "$BRANCH"; then
|
||||||
BRANCH=$(git symbolic-ref HEAD 2> /dev/null)
|
BRANCH=$(get_tracked_branch)
|
||||||
BRANCH="${BRANCH##refs/heads/}"
|
|
||||||
if test -z "$BRANCH"; then
|
if test -z "$BRANCH"; then
|
||||||
echo "no branch specified, and could not guess the current branch"
|
BRANCH=$(git symbolic-ref HEAD 2> /dev/null)
|
||||||
exit 1
|
BRANCH="${BRANCH##refs/heads/}"
|
||||||
|
if test -z "$BRANCH"; then
|
||||||
|
echo "no branch specified, and could not guess the current branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo "no branch specified, guessing current branch $BRANCH"
|
echo "no branch specified, guessing current branch $BRANCH"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue