mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
This is a feature of GNU readlink that isn't in the BSD readlink found on macOS. For using this and other GNU coreutils features in our scripts in general, we could use a solution like mobile's tools/lib/ensure-coreutils.sh to get GNU coreutils on the PATH -- check if it's there already, if not then try to find a Homebrew install of it and use that, if not then print a helpful message. But even then there'd be a bootstrapping problem of how to find ensure-coreutils.sh . That involves exactly the same problem as we have for finding git-tools.sh in these lines. So in fact in mobile for the task of finding ensure-coreutils.sh in the first place, we do without `readlink -f` anyway. The one consequence of this behavior-wise is that if you make a symlink somewhere that points directly at that script (say in your `~/bin/`), and try to run it using that symlink, it won't work. (It'll still work just fine if there are symlinks somewhere higher up in the paths involved -- just not for the script itself.) An ideal CLI program really should support that, I think, but lacking a better idea, this seems an acceptable compromise.
17 lines
351 B
Bash
Executable File
17 lines
351 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
this_dir=${BASH_SOURCE[0]%/*}
|
|
# shellcheck source=lib/git-tools.bash
|
|
. "${this_dir}"/lib/git-tools.bash
|
|
|
|
require_clean_work_tree 'check out PR as branch'
|
|
|
|
request_id="$1"
|
|
remote=${2:-"upstream"}
|
|
|
|
set -x
|
|
git fetch "$remote" "pull/$request_id/head"
|
|
git checkout -B "review-original-${request_id}"
|
|
git reset --hard FETCH_HEAD
|