Browse Source

Fetch: default remote repository from branch properties

If in branch "foo" and this in config:

[branch "foo"]
       remote=bar

"git fetch" = "git fetch bar"
"git  pull" = "git pull  bar"

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Santi Béjar 19 years ago committed by Junio C Hamano
parent
commit
648ad18f50
  1. 3
      Documentation/config.txt
  2. 9
      git-fetch.sh
  3. 6
      git-parse-remote.sh

3
Documentation/config.txt

@ -119,6 +119,9 @@ apply.whitespace:: @@ -119,6 +119,9 @@ apply.whitespace::
Tells `git-apply` how to handle whitespaces, in the same way
as the '--whitespace' option. See gitlink:git-apply[1].

branch.<name>.remote::
When in branch <name>, it tells `git fetch` which remote to fetch.

pager.color::
A boolean to enable/disable colored output when the pager is in
use (default is true).

9
git-fetch.sh

@ -68,11 +68,10 @@ done @@ -68,11 +68,10 @@ done

case "$#" in
0)
test -f "$GIT_DIR/branches/origin" ||
test -f "$GIT_DIR/remotes/origin" ||
git-repo-config --get remote.origin.url >/dev/null ||
die "Where do you want to fetch from today?"
set origin ;;
origin=$(get_default_remote)
test -n "$(get_remote_url ${origin})" ||
die "Where do you want to fetch from today?"
set x $origin ; shift ;;
esac

remote_nick="$1"

6
git-parse-remote.sh

@ -68,6 +68,12 @@ get_remote_url () { @@ -68,6 +68,12 @@ get_remote_url () {
esac
}

get_default_remote () {
curr_branch=$(git-symbolic-ref HEAD | sed -e 's|^refs/heads/||')
origin=$(git-repo-config --get "branch.$curr_branch.remote")
echo ${origin:-origin}
}

get_remote_default_refs_for_push () {
data_source=$(get_data_source "$1")
case "$data_source" in

Loading…
Cancel
Save