X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=misc%2Ftools%2Fall%2Fgit.subr;h=ac6594fbf8214f39f84974beec21906046bd1d21;hb=cf8cc7e9f8ac5457b6165198999dd3fd9ba33941;hp=41150d8f7767a7bb6a8ba420e46a2579e09fd126;hpb=b5a9c693b589922bd5aa6f97c18b7f04cce60043;p=xonotic%2Fxonotic.git diff --git a/misc/tools/all/git.subr b/misc/tools/all/git.subr index 41150d8f..ac6594fb 100644 --- a/misc/tools/all/git.subr +++ b/misc/tools/all/git.subr @@ -56,15 +56,15 @@ mirrorspeed() # first result is to be ignored, but we use it to check status git ls-remote "$1" refs/heads/master >/dev/null 2>&1 || return 1 # if we can't time, we only check availability - if ! { time -p sh -c 'true'; } >/dev/null 2>&1; then + if ! $have_time; then echo 0 return fi # now actually time it ( set +x - export REPO=$1 # so that the sh -c subshell can use it - { time -p sh -c 'git ls-remote "$REPO" refs/heads/master >/dev/null 2>&1'; } 2>&1 >/dev/null | head -n 1 | cut -d ' ' -f 2 | tr -d . | sed 's,^0*,,' | grep . || echo 0 + export REPO="$1" # so that the sh -c subshell can use it + { measure_time sh -c 'git ls-remote "$REPO" refs/heads/master >/dev/null 2>&1'; } 2>&1 >/dev/null | head -n 1 | cut -d ' ' -f 2 | tr -d . | sed 's,^0*,,' | grep . || echo 0 # unit: clock ticks (depends on what "time" returns ) } @@ -459,9 +459,12 @@ case "$cmd" in msg "can skip the following paragraph and already use the repository." msg "" msg "To get access, your key has to be approved first. For that, visit" - msg "$devsite_url, then log in, create a \"New Issue\" on" - msg "the \"Support\" tracker in the \"Repository\" category where you" - msg "apply for access and paste the following output into the issue:" + msg "$gitsite_url, then log in, enter the" + msg "\"xonotic\" project, create an \"Issue\" tagged \"Repository Access\"" + msg "to apply for access and paste the following output into the issue:" + msg "" + msg "After that, go to your profile settings, \"SSH Keys\", \"Add SSH Key\"" + msg "and paste the following output:" msg "" msg "`cat ~/.ssh/id_rsa.pub`" elif [ -f ~/.ssh/id_dsa.pub ]; then @@ -471,9 +474,12 @@ case "$cmd" in msg "can skip the following paragraph and already use the repository." msg "" msg "To get access, your key has to be approved first. For that, visit" - msg "$devsite_url, then log in, create a \"New Issue\" on" - msg "the \"Support\" tracker in the \"Repository\" category where you" - msg "apply for access and paste the following output into the issue:" + msg "$gitsite_url, then log in, enter the" + msg "\"xonotic\" project, create an \"Issue\" tagged \"Repository Access\"" + msg "to apply for access and paste the following output into the issue:" + msg "" + msg "After that, go to your profile settings, \"SSH Keys\", \"Add SSH Key\"" + msg "and paste the following output:" msg "" msg "`cat ~/.ssh/id_dsa.pub`" else @@ -486,9 +492,12 @@ case "$cmd" in ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa msg "" msg "To get access, your key has to be approved first. For that, visit" - msg "$devsite_url, then log in, create a \"New Issue\" on" - msg "the \"Support\" tracker in the \"Repository\" category where you" - msg "apply for access and paste the following output into the issue:" + msg "$gitsite_url, then log in, enter the" + msg "\"xonotic\" project, create an \"Issue\" tagged \"Repository Access\"" + msg "to apply for access and paste the following output into the issue:" + msg "" + msg "After that, go to your profile settings, \"SSH Keys\", \"Add SSH Key\"" + msg "and paste the following output:" msg "" msg "`cat ~/.ssh/id_rsa.pub`" fi @@ -648,13 +657,10 @@ case "$cmd" in fi o=`git config xonotic.all.mirrorselection 2>/dev/null || true` git config xonotic.all.mirrorselection try_same - verbose git clone "$url" "$d0/$d" + verbose git clone --branch "$branch" "$url" "$d0/$d" git config xonotic.all.mirrorselection "$o" enter "$d0/$d" verbose fix_git_config "$url" "$pushurl" - if [ "$branch" != "master" ]; then - verbose git checkout --track -b "$branch" origin/"$branch" - fi cd "$d0" fi } @@ -698,8 +704,10 @@ case "$cmd" in else b=$branch if git rev-parse "refs/heads/$b" >/dev/null 2>&1; then + [ -n "$b" ] || exists=true verbose git checkout $checkoutflags "$b" elif git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then + [ -n "$b" ] || exists=true verbose git checkout $checkoutflags --track -b "$b" "$remote/$b" else $ECHO "WTF? Not even branch $b doesn't exist in $d" @@ -958,12 +966,13 @@ case "$cmd" in $ECHO " $SELF keygen" $ECHO " $SELF push|commit [-s]" $ECHO " $SELF update|pull [-N] [-s | -h [-p] | -g [-p]] [-l de|nl|default]" + $ECHO " $SELF grep \"\"" handled=false ;; grep) for d in $repos; do if verbose cd "$d0/$d"; then - git grep -I "$@" || true + git grep -In "$@" || true cd "$d0" fi done