Revision 4463ce75b7eea47f9b484b05957def655d3f46d5 authored by Johannes Schindelin on 08 October 2020, 15:29:35 UTC, committed by Junio C Hamano on 08 October 2020, 18:58:41 UTC
When `master` is tagged, and then both `master` and the tag are pushed,
Travis CI will happily build both. That is a waste of energy, which is
why we skip the build for `master` in that case.

Our GitHub workflow is also triggered by tags. However, the run would
fail because the `windows-test` jobs are _not_ skipped on tags, but the
`windows-build` job _is skipped (and therefore fails to upload the
build artifacts needed by the test jobs).

In addition, we just added logic to our GitHub workflow that will skip
runs altogether if there is already a successful run for the same commit
or at least for the same tree.

Let's just change the GitHub workflow to no longer specifically skip
tagged revisions.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 7d78d5f
Raw File
git-parse-remote.sh
# This is a shell library to calculate the remote repository and
# upstream branch that should be pulled by "git pull" from the current
# branch.

# git-ls-remote could be called from outside a git managed repository;
# this would fail in that case and would issue an error message.
GIT_DIR=$(git rev-parse -q --git-dir) || :;

get_default_remote () {
	curr_branch=$(git symbolic-ref -q HEAD)
	curr_branch="${curr_branch#refs/heads/}"
	origin=$(git config --get "branch.$curr_branch.remote")
	echo ${origin:-origin}
}

get_remote_merge_branch () {
	case "$#" in
	0|1)
	    origin="$1"
	    default=$(get_default_remote)
	    test -z "$origin" && origin=$default
	    curr_branch=$(git symbolic-ref -q HEAD) &&
	    [ "$origin" = "$default" ] &&
	    echo $(git for-each-ref --format='%(upstream)' $curr_branch)
	    ;;
	*)
	    repo=$1
	    shift
	    ref=$1
	    # FIXME: It should return the tracking branch
	    #        Currently only works with the default mapping
	    case "$ref" in
	    +*)
		ref=$(expr "z$ref" : 'z+\(.*\)')
		;;
	    esac
	    expr "z$ref" : 'z.*:' >/dev/null || ref="${ref}:"
	    remote=$(expr "z$ref" : 'z\([^:]*\):')
	    case "$remote" in
	    '' | HEAD ) remote=HEAD ;;
	    heads/*) remote=${remote#heads/} ;;
	    refs/heads/*) remote=${remote#refs/heads/} ;;
	    refs/* | tags/* | remotes/* ) remote=
	    esac
	    [ -n "$remote" ] && case "$repo" in
		.)
		    echo "refs/heads/$remote"
		    ;;
		*)
		    echo "refs/remotes/$repo/$remote"
		    ;;
	    esac
	esac
}

error_on_missing_default_upstream () {
	cmd="$1"
	op_type="$2"
	op_prep="$3" # FIXME: op_prep is no longer used
	example="$4"
	branch_name=$(git symbolic-ref -q HEAD)
	display_branch_name="${branch_name#refs/heads/}"
	# If there's only one remote, use that in the suggestion
	remote="$(gettext "<remote>")"
	branch="$(gettext "<branch>")"
	if test $(git remote | wc -l) = 1
	then
		remote=$(git remote)
	fi

	if test -z "$branch_name"
	then
		gettextln "You are not currently on a branch."
	else
		gettextln "There is no tracking information for the current branch."
	fi
	case "$op_type" in
	rebase)
		gettextln "Please specify which branch you want to rebase against."
		;;
	merge)
		gettextln "Please specify which branch you want to merge with."
		;;
	*)
		echo >&2 "BUG: unknown operation type: $op_type"
		exit 1
		;;
	esac
	eval_gettextln "See git-\${cmd}(1) for details."
	echo
	echo "    $example"
	echo
	if test -n "$branch_name"
	then
		gettextln "If you wish to set tracking information for this branch you can do so with:"
		echo
		echo "    git branch --set-upstream-to=$remote/$branch $display_branch_name"
		echo
	fi
	exit 1
}
back to top