From: teor Date: Thu, 31 Oct 2019 04:24:50 +0000 (+1000) Subject: scripts/git: Make a master symlink in the worktree directory X-Git-Tag: tor-0.4.3.1-alpha~147^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=995618ec619739cb7c54e809d6d817be4e9ed2de;p=thirdparty%2Ftor.git scripts/git: Make a master symlink in the worktree directory When running git-setup-dirs.sh. Part of 32347. --- diff --git a/scripts/git/git-setup-dirs.sh b/scripts/git/git-setup-dirs.sh index 495b22b261..a1e465818d 100755 --- a/scripts/git/git-setup-dirs.sh +++ b/scripts/git/git-setup-dirs.sh @@ -254,6 +254,25 @@ function make_directory fi } +# Create a symlink from the first argument to the second argument +# If the link already exists: fail if $USE_EXISTING is 0, otherwise skip. +function make_symlink +{ + local cmd="ln -s '$1' '$2'" + printf " %s Creating symlink from %s to %s..." "$MARKER" "$1" "$2" + local check_cmd="[ ! -e '$2' ]" + msg=$( eval "$check_cmd" 2>&1 ) + if validate_ret_skip $? "File already exists."; then + return + fi + if [ $DRY_RUN -eq 0 ]; then + msg=$( eval "$cmd" 2>&1 ) + validate_ret $? "$msg" + else + printf "\\n %s\\n" "${IWTH}$cmd${CNRM}" + fi +} + # Go into the directory or repository, even if $DRY_RUN is non-zero. # If the directory does not exist, fail and log an error. # Otherwise, silently succeed. @@ -496,7 +515,12 @@ for ((i=0; i