aboutsummaryrefslogtreecommitdiff
path: root/scripts/git
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/git')
-rwxr-xr-xscripts/git/git-list-tor-branches.sh23
-rwxr-xr-xscripts/git/git-merge-forward.sh10
-rwxr-xr-xscripts/git/git-pull-all.sh28
-rwxr-xr-xscripts/git/git-push-all.sh32
-rwxr-xr-xscripts/git/git-setup-dirs.sh16
-rwxr-xr-xscripts/git/post-merge.git-hook4
-rwxr-xr-xscripts/git/pre-push.git-hook10
7 files changed, 58 insertions, 65 deletions
diff --git a/scripts/git/git-list-tor-branches.sh b/scripts/git/git-list-tor-branches.sh
index 2bcd4722b4..29e91dd1b6 100755
--- a/scripts/git/git-list-tor-branches.sh
+++ b/scripts/git/git-list-tor-branches.sh
@@ -8,7 +8,7 @@ SCRIPT_NAME=$(basename "$0")
function usage()
{
- echo "$SCRIPT_NAME [-h] [-l|-s|-b|-m] [-R]"
+ echo "$SCRIPT_NAME [-h] [-l|-s|-b|-m] [-R|-M]"
echo
echo " arguments:"
echo " -h: show this help text"
@@ -20,6 +20,7 @@ function usage()
echo " ( branch parent path suffix parent_suffix ) arrays"
echo
echo " -R: omit release branches."
+ echo " -M: omit maint branches."
}
# list : just a list of branch names.
@@ -27,9 +28,10 @@ function usage()
# suffix: write a list of suffixes.
# merge: branch, upstream, path, suffix, upstream suffix.
mode="list"
+skip_maint_branches="no"
skip_release_branches="no"
-while getopts "hblmsR" opt ; do
+while getopts "hblmsRM" opt ; do
case "$opt" in
h) usage
exit 0
@@ -42,6 +44,8 @@ while getopts "hblmsR" opt ; do
;;
m) mode="merge"
;;
+ M) skip_maint_branches="yes"
+ ;;
R) skip_release_branches="yes"
;;
*) echo "Unknown option"
@@ -73,13 +77,16 @@ branch() {
# location: where the branch can be found.
- if [[ "$brname" == "master" ]]; then
- suffix="_master"
+ if [[ "$brname" == "main" ]]; then
+ suffix="_main"
location="\$GIT_PATH/\$TOR_MASTER_NAME"
elif [[ "$brname" =~ ^maint- ]]; then
suffix="_${brname_nodots#maint-}"
location="\$GIT_PATH/\$TOR_WKT_NAME/$brname"
is_maint="yes"
+ if [[ "$skip_maint_branches" = "yes" ]]; then
+ return
+ fi
elif [[ "$brname" =~ ^release- ]]; then
suffix="_r${brname_nodots#release-}"
location="\$GIT_PATH/\$TOR_WKT_NAME/$brname"
@@ -139,12 +146,12 @@ finish() {
branch maint-0.3.5
branch release-0.3.5
-branch maint-0.4.4
-branch release-0.4.4
-
branch maint-0.4.5
branch release-0.4.5
-branch master
+branch maint-0.4.6
+branch release-0.4.6
+
+branch main
finish
diff --git a/scripts/git/git-merge-forward.sh b/scripts/git/git-merge-forward.sh
index 7c72f8478d..d5d663d558 100755
--- a/scripts/git/git-merge-forward.sh
+++ b/scripts/git/git-merge-forward.sh
@@ -12,8 +12,8 @@ function usage()
echo " (default: run commands)"
echo " -t: test branch mode: create new branches from the commits checked"
echo " out in each maint directory. Call these branches prefix_035,"
- echo " prefix_040, ... , prefix_master."
- echo " (default: merge forward maint-*, release-*, and master)"
+ echo " prefix_040, ... , prefix_main."
+ echo " (default: merge forward maint-*, release-*, and main)"
echo " -u: in test branch mode, if a prefix_* branch already exists,"
echo " skip creating that branch. Use after a merge error, to"
echo " restart the merge forward at the first unmerged branch."
@@ -28,7 +28,7 @@ function usage()
echo
echo " optional:"
echo " TOR_MASTER: the name of the directory containing the tor.git clone"
- echo " The tor master git directory is \$GIT_PATH/\$TOR_MASTER"
+ echo " The primary tor git directory is \$GIT_PATH/\$TOR_MASTER"
echo " (default: tor; current: $TOR_MASTER_NAME)"
echo " TOR_WKT_NAME: the name of the directory containing the tor"
echo " worktrees. The tor worktrees are:"
@@ -45,7 +45,7 @@ function usage()
# Where are all those git repositories?
GIT_PATH=${TOR_FULL_GIT_PATH:-"FULL_PATH_TO_GIT_REPOSITORY_DIRECTORY"}
-# The tor master git repository directory from which all the worktree have
+# The main branch git repository directory from which all the worktree have
# been created.
TOR_MASTER_NAME=${TOR_MASTER_NAME:-"tor"}
# The worktrees location (directory).
@@ -106,7 +106,7 @@ DRY_RUN=0
# Controlled by the -t <test-branch-prefix> option. The test branch base
# name option makes git-merge-forward.sh create new test branches:
-# <tbbn>_035, <tbbn>_040, ... , <tbbn>_master, and merge forward.
+# <tbbn>_035, <tbbn>_040, ... , <tbbn>_main, and merge forward.
TEST_BRANCH_PREFIX=
# Controlled by the -u option. The use existing option checks for existing
diff --git a/scripts/git/git-pull-all.sh b/scripts/git/git-pull-all.sh
index 52a5c6140c..bbe2576d8e 100755
--- a/scripts/git/git-pull-all.sh
+++ b/scripts/git/git-pull-all.sh
@@ -20,7 +20,7 @@ usage()
echo
echo " optional:"
echo " TOR_MASTER: the name of the directory containing the tor.git clone"
- echo " The tor master git directory is \$GIT_PATH/\$TOR_MASTER"
+ echo " The primary tor git directory is \$GIT_PATH/\$TOR_MASTER"
echo " (default: tor; current: $TOR_MASTER_NAME)"
echo " TOR_WKT_NAME: the name of the directory containing the tor"
echo " worktrees. The tor worktrees are:"
@@ -37,7 +37,7 @@ usage()
# Where are all those git repositories?
GIT_PATH=${TOR_FULL_GIT_PATH:-"FULL_PATH_TO_GIT_REPOSITORY_DIRECTORY"}
-# The tor master git repository directory from which all the worktree have
+# The primary tor git repository directory from which all the worktree have
# been created.
TOR_MASTER_NAME=${TOR_MASTER_NAME:-"tor"}
# The worktrees location (directory).
@@ -51,7 +51,7 @@ set -e
eval "$(git-list-tor-branches.sh -b)"
set +e
-# The master branch path has to be the main repository thus contains the
+# The main branch path has to be the main repository thus contains the
# origin that will be used to fetch the updates. All the worktrees are created
# from that repository.
ORIGIN_PATH="$GIT_PATH/$TOR_MASTER_NAME"
@@ -159,20 +159,7 @@ function goto_repo
function fetch_origin
{
local cmd="git fetch origin"
- printf " %s Fetching origin..." "$MARKER"
- if [ $DRY_RUN -eq 0 ]; then
- msg=$( eval "$cmd" 2>&1 )
- validate_ret $? "$msg"
- else
- printf "\\n %s\\n" "${IWTH}$cmd${CNRM}"
- fi
-}
-
-# Fetch tor-github pull requests. No arguments.
-function fetch_tor_github
-{
- local cmd="git fetch tor-github"
- printf " %s Fetching tor-github..." "$MARKER"
+ printf "%s Fetching origin..." "$MARKER"
if [ $DRY_RUN -eq 0 ]; then
msg=$( eval "$cmd" 2>&1 )
validate_ret $? "$msg"
@@ -185,7 +172,7 @@ function fetch_tor_github
function fetch_tor_gitlab
{
local cmd="git fetch tor-gitlab"
- printf " %s Fetching tor-gitlab..." "$MARKER"
+ printf "%s Fetching tor-gitlab..." "$MARKER"
if [ $DRY_RUN -eq 0 ]; then
msg=$( eval "$cmd" 2>&1 )
validate_ret $? "$msg"
@@ -198,11 +185,10 @@ function fetch_tor_gitlab
# Entry point #
###############
-# First, fetch tor-github.
+# Get into our origin repository.
goto_repo "$ORIGIN_PATH"
-fetch_tor_github
-# Then tor-gitlab
+# First, fetch tor-gitlab
fetch_tor_gitlab
# Then, fetch the origin.
diff --git a/scripts/git/git-push-all.sh b/scripts/git/git-push-all.sh
index 558ea8d01c..e5c16e615f 100755
--- a/scripts/git/git-push-all.sh
+++ b/scripts/git/git-push-all.sh
@@ -21,10 +21,10 @@ function usage()
echo " -r: push to remote-name, rather than the default upstream remote."
echo " (default: $DEFAULT_UPSTREAM_REMOTE, current: $UPSTREAM_REMOTE)"
echo " -t: test branch mode: push test branches to remote-name. Pushes"
- echo " branches prefix_035, prefix_040, ... , prefix_master."
- echo " (default: push maint-*, release-*, and master)"
+ echo " branches prefix_035, prefix_040, ... , prefix_main."
+ echo " (default: push maint-*, release-*, and main)"
echo " -s: push branches whose tips match upstream maint, release, or"
- echo " master branches. The default is to skip these branches,"
+ echo " main branches. The default is to skip these branches,"
echo " because they do not contain any new code. Use -s to test for"
echo " CI environment failures, using code that previously passed CI."
echo " (default: skip; current: $CURRENT_PUSH_SAME matching branches)"
@@ -45,7 +45,7 @@ function usage()
echo " (default: use the current directory for pushes;"
echo " current: $TOR_FULL_GIT_PATH)"
echo " TOR_MASTER: the name of the directory containing the tor.git clone"
- echo " The tor master git directory is \$GIT_PATH/\$TOR_MASTER"
+ echo " The primary tor git directory is \$GIT_PATH/\$TOR_MASTER"
echo " (default: tor; current: $TOR_MASTER_NAME)"
echo
echo " TOR_UPSTREAM_REMOTE_NAME: the default upstream remote."
@@ -55,9 +55,9 @@ function usage()
echo " Overridden by <git push options> after --."
echo " (default: git push --atomic; current: $GIT_PUSH)"
echo " TOR_PUSH_SAME: push branches whose tips match upstream maint,"
- echo " release, or master branches. Inverted by -s."
+ echo " release, or main branches. Inverted by -s."
echo " (default: skip; current: $CURRENT_PUSH_SAME matching branches)"
- echo " TOR_PUSH_DELAY: pushes the master and maint branches separately,"
+ echo " TOR_PUSH_DELAY: pushes the main and maint branches separately,"
echo " so that CI runs in a sensible order."
echo " (default: push all branches immediately; current: $PUSH_DELAY)"
echo " we recommend that you set these env vars in your ~/.profile"
@@ -71,7 +71,7 @@ set -e
# Don't change this configuration - set the env vars in your .profile
#
-# The tor master git repository directory from which all the worktree have
+# The primary tor git repository directory from which all the worktree have
# been created.
TOR_MASTER_NAME=${TOR_MASTER_NAME:-"tor"}
# Which directory do we push from?
@@ -87,7 +87,7 @@ UPSTREAM_REMOTE=${DEFAULT_UPSTREAM_REMOTE}
# Add a delay between pushes, so CI runs on the most important branches first
PUSH_DELAY=${TOR_PUSH_DELAY:-0}
# Push (1) or skip (0) test branches that are the same as an upstream
-# maint/master branch. Push if you are testing that the CI environment still
+# maint/main branch. Push if you are testing that the CI environment still
# works on old code, skip if you are testing new code in the branch.
# Default: skip unchanged branches.
# Inverted by the -s option.
@@ -99,7 +99,7 @@ PUSH_SAME=${TOR_PUSH_SAME:-0}
# Controlled by the -t <test-branch-prefix> option. The test branch prefix
# option makes git-merge-forward.sh create new test branches:
-# <tbp>_035, <tbp>_040, ... , <tbp>_master, and merge each branch forward into
+# <tbp>_035, <tbp>_040, ... , <tbp>_main, and merge each branch forward into
# the next one.
TEST_BRANCH_PREFIX=
@@ -213,7 +213,7 @@ if [ "$TEST_BRANCH_PREFIX" ]; then
# upstream branches (they have already been tested)
UPSTREAM_SKIP_SAME_AS="$UPSTREAM_BRANCHES $DEFAULT_UPSTREAM_BRANCHES"
else
- # Skip the local maint-*, release-*, master branches that are the same as the
+ # Skip the local maint-*, release-*, main branches that are the same as the
# current upstream branches, but ignore the default upstream
# (we want to update a non-default remote, even if it matches the default)
UPSTREAM_SKIP_SAME_AS="$UPSTREAM_BRANCHES"
@@ -264,8 +264,8 @@ if [ "$PUSH_DELAY" -le 0 ]; then
else
# Push the branches in optimal CI order, with a delay between each push
PUSH_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | sort -V)
- MASTER_BRANCH=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep master) \
- || true # Skipped master branch
+ MASTER_BRANCH=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep main$) \
+ || true # Skipped main branch
if [ -z "$TEST_BRANCH_PREFIX" ]; then
MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep maint) \
|| true # Skipped all maint branches
@@ -273,7 +273,7 @@ else
tr "\\n" " ") || true # Skipped all release branches
else
# Actually test branches based on maint branches
- MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep -v master) \
+ MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep -v main$) \
|| true # Skipped all maint test branches
# No release branches
RELEASE_BRANCHES=
@@ -295,9 +295,9 @@ else
# shellcheck disable=SC2086
for b in $MASTER_BRANCH $MAINT_BRANCHES; do
$GIT_PUSH "$@" "$UPSTREAM_REMOTE" "$b"
- # If we are pushing more than one branch, delay.
- # In the unlikely scenario where we are pushing maint without master,
- # or maint without release, there may be an extra delay
+ # If we are pushing more than one branch, delay. In the unlikely scenario
+ # where we are pushing maint branches without the main branch, or maint
+ # without release, there may be an extra delay
if [ "$MAINT_BRANCHES" ] || [ "$RELEASE_BRANCHES" ]; then
sleep "$PUSH_DELAY"
fi
diff --git a/scripts/git/git-setup-dirs.sh b/scripts/git/git-setup-dirs.sh
index 5a9ae41cbd..c502f74f58 100755
--- a/scripts/git/git-setup-dirs.sh
+++ b/scripts/git/git-setup-dirs.sh
@@ -22,7 +22,7 @@ function usage()
echo
echo " optional:"
echo " TOR_MASTER: the name of the directory containing the tor.git clone"
- echo " The tor master git directory is \$GIT_PATH/\$TOR_MASTER"
+ echo " The primary tor git directory is \$GIT_PATH/\$TOR_MASTER"
echo " (default: tor; current: $TOR_MASTER_NAME)"
echo " TOR_WKT_NAME: the name of the directory containing the tor"
echo " worktrees. The tor worktrees are:"
@@ -65,7 +65,7 @@ function usage()
# Where are all those git repositories?
GIT_PATH=${TOR_FULL_GIT_PATH:-"FULL_PATH_TO_GIT_REPOSITORY_DIRECTORY"}
-# The tor master git repository directory from which all the worktree have
+# The primary tor git repository directory from which all the worktree have
# been created.
TOR_MASTER_NAME=${TOR_MASTER_NAME:-"tor"}
# The worktrees location (directory).
@@ -102,7 +102,7 @@ set -e
eval "$(git-list-tor-branches.sh -b)"
set +e
-# The master branch path has to be the main repository thus contains the
+# The main branch path has to be the main repository thus contains the
# origin that will be used to fetch the updates. All the worktrees are created
# from that repository.
ORIGIN_PATH="$GIT_PATH/$TOR_MASTER_NAME"
@@ -519,11 +519,11 @@ for ((i=0; i<COUNT; i++)); do
repo_path=${!WORKTREE[$i]:1:1}
printf "%s Handling branch %s\\n" "$MARKER" "${BYEL}$branch${CNRM}"
- # We cloned the repository, and master is the default branch
- if [ "$branch" = "master" ]; then
- if [ "$TOR_MASTER_NAME" != "master" ]; then
- # Set up a master link in the worktree directory
- make_symlink "$repo_path" "$GIT_PATH/$TOR_WKT_NAME/master"
+ # We cloned the repository, and main is the default branch
+ if [ "$branch" = "main" ]; then
+ if [ "$TOR_MASTER_NAME" != "main" ]; then
+ # Set up a main branch link in the worktree directory
+ make_symlink "$repo_path" "$GIT_PATH/$TOR_WKT_NAME/main"
fi
else
# git makes worktree directories if they don't exist
diff --git a/scripts/git/post-merge.git-hook b/scripts/git/post-merge.git-hook
index eae4f999e7..b458630d26 100755
--- a/scripts/git/post-merge.git-hook
+++ b/scripts/git/post-merge.git-hook
@@ -36,8 +36,8 @@ check_for_script_update() {
}
cur_branch=$(git rev-parse --abbrev-ref HEAD)
-if [ "$cur_branch" != "master" ]; then
- echo "post-merge: Not a master branch. Skipping."
+if [ "$cur_branch" != "main" ]; then
+ echo "post-merge: Not a main branch. Skipping."
exit 0
fi
diff --git a/scripts/git/pre-push.git-hook b/scripts/git/pre-push.git-hook
index f0a3a250ec..0f016df592 100755
--- a/scripts/git/pre-push.git-hook
+++ b/scripts/git/pre-push.git-hook
@@ -2,9 +2,9 @@
# git pre-push hook script to:
# 0) Call the pre-commit hook, if it is available
-# 1) prevent "fixup!" and "squash!" commit from ending up in master, release-*
+# 1) prevent "fixup!" and "squash!" commit from ending up in main, release-*
# or maint-*
-# 2) Disallow pushing branches other than master, release-*
+# 2) Disallow pushing branches other than main, release-*
# and maint-* to origin (e.g. gitweb.torproject.org)
#
# To install this script, copy it into .git/hooks/pre-push path in your
@@ -39,7 +39,7 @@ remote_name=$(git remote --verbose | grep "$2" | awk '{print $1}' | head -n 1)
ref_is_upstream_branch() {
- if [ "$1" == "refs/heads/master" ] ||
+ if [ "$1" == "refs/heads/main" ] ||
[[ "$1" == refs/heads/release-* ]] ||
[[ "$1" == refs/heads/maint-* ]]; then
return 1
@@ -54,8 +54,8 @@ do
:
else
if [ "$remote_sha" = $z40 ]; then
- # New branch, examine commits not in master
- range="master...$local_sha"
+ # New branch, examine commits not in main
+ range="main...$local_sha"
else
# Update to existing branch, examine new commits
range="$remote_sha..$local_sha"