Commit Graph

63 Commits

Author SHA1 Message Date
teor
38e8cca6a1
scripts/git: Add TOR_EXTRA_CLONE_ARGS for git clone
When running git-setup-dirs.sh.

Part of 32347.
2019-10-31 14:59:16 +10:00
teor
995618ec61
scripts/git: Make a master symlink in the worktree directory
When running git-setup-dirs.sh.

Part of 32347.
2019-10-31 14:59:12 +10:00
teor
e046903f93
scripts/git: Restore a dropped check for pre-commit in pre-push
Bugfix on 31919; not in any released version of Tor.
2019-10-31 14:51:31 +10:00
teor
7e73c0d5a1
scripts/git: Print the correct path in git-setup-dirs.sh 2019-10-31 14:39:49 +10:00
teor
cb7340abf1
scripts/git: Don't use spaces in git URLs 2019-10-31 13:56:59 +10:00
teor
3479024cb1 scripts: Change to the top source directory as needed
Bugfix on 31919; not in any released version of tor.
2019-10-28 13:28:50 +10:00
teor
68befa3b84
scripts/git: Fix a shellcheck error in pre-commit.git-hook
Some versions of shellcheck do not detect this error.

Bugfix on 31919; not in any released version of tor.
2019-10-28 13:04:29 +10:00
teor
1094389d82
scripts/git: Make spaces consistent in pre-push.git-hook
Part of 31919.
2019-10-24 14:10:30 +10:00
teor
b4b316631d
scripts/git: Only check modified files in existing git hook checks
Part of 31919.
2019-10-24 14:10:26 +10:00
teor
b9a2286765
scripts/git: Add check_cocci_parse.sh to the pre-commit hook
But only check modified files, which dramatically speeds up
check_cocci_parse.sh.

Part of 31919.
2019-10-24 14:09:53 +10:00
teor
f43a7a4d96
scripts/git: Avoid sleeping before the last push in git-push-all.sh
Change the loop order, so that we only sleep between pushes,
and avoid sleeping after all the pushes are done.

(In rare cases, there may still be an extra sleep.)

Part of 32216.
2019-10-23 13:28:37 +10:00
teor
4f6f006c99
scripts/git: Make git-push-all.sh skip more branches that match upstream
The script now skips master, maint-* and release-* branches that match
upstream, not just test branches.

And fix "no branches" bugs that this change makes happen more often.

Part of 32216.
2019-10-23 13:28:15 +10:00
teor
9a3b768fae
scripts/git: Pass all unrecognised arguments to git-push-all.sh
This makes the behaviour of git-push-all.sh -n identical to the other
git scripts.

Part of 32216.
2019-10-23 13:04:28 +10:00
teor
71191fa3dc
scripts/git: Fix a variable name typo in git-push-all.sh
Obviously correct changes to already reviewed code.
2019-10-23 13:01:55 +10:00
teor
85d0a458c2
scripts: Add git-setup-dirs.sh, which sets up maintainer git repos
git-setup-dirs.sh sets up an upstream git repository and worktrees,
so that tor maintainers can do merges.

Closes ticket 29603.
2019-10-17 14:47:48 +10:00
teor
11b5946e49 scripts: Fix a git script comment 2019-10-15 13:58:53 +10:00
teor
028987a0a1 scripts: Merge forward test branch _042 into test branch _master
Fixes an issue where test branch _041 was merged into _042 and _master.
This issue only affects test branch mode (-t).
2019-10-15 13:36:56 +10:00
Nick Mathewson
78f4e29219 git scripts: add maint/release-0.4.2. 2019-10-11 17:26:34 -04:00
teor
f0044e44f2
scripts: Make the git scripts show usage messages
All of the git scripts now have usage messages on:
* a new -h option, and
* usage errors.

Closes 31677.
2019-09-10 12:14:49 +10:00
teor
785391a934
scripts: reformat the comments in git-pull-all.sh for consistency
Preparation for 31677.
2019-09-10 12:14:00 +10:00
teor
97da440f9e
scripts: Improve a usage message in git-push-all.sh
Part of 31677.
2019-09-10 12:12:04 +10:00
teor
51b792b000
scripts: Allow git-push-all.sh to be run from any directory
Closes 31678.
2019-09-10 12:10:28 +10:00
teor
5c2941e69f
shellcheck: Add shellcheck to the pre-commit hook
* Move the shellcheck script from the Makefile to its own script file
* Reformat the shellcheck script so it's easier to read and modify
* Call the shellcheck script from the pre-commit hook

Fixes bug 30967; not in any released version of Tor.
2019-09-05 11:15:26 +10:00
teor
e155598fe3
scripts/git: fix shellcheck issues in git-push-all.sh
Part of 31314.
2019-08-29 23:13:29 +10:00
teor
340ff7f5f8
scripts/git: fix an env var typo in git-merge-forward.sh
Part of 31314.
2019-08-29 22:58:53 +10:00
teor
d0e31b4d1f
scripts/git: Quote shell arguments where possible
Most shell arguments should be quoted to avoid mistakes.

But since all branch names are hard-coded, or supplied by the script user,
we don't need to be too concerned about command injection.

Quoting all shell arguments would take a major refactor.
(Probably using arrays.)

Part of 31314.
2019-08-29 22:53:44 +10:00
teor
664e6a392e
scripts/git: Improve usage documentation for merge-forward and push-all
Part of 31314.
2019-08-29 22:52:21 +10:00
teor
b47b71ad2f
scripts/git: Let git-push-all.sh skip unchanged test branches
Skip test branches that are the same as remote maint/release/master
branches.

Add a TOR_PUSH_SAME and -s argument to git-push-all.sh to change this
default.

Part of 31314.
2019-08-29 22:50:47 +10:00
teor
70387054b9
scripts/git: Make the git push command and args configurable
TOR_GIT_PUSH provides the git push command and default arguments.

Also fix handling of git-push-all.sh script arguments and arguments that
are passed through to $TOR_GIT_PUSH, using a "--" argument as a separator.

Fix on 29879.
2019-08-29 22:50:37 +10:00
teor
15782758c7
scripts/git: Allow git-merge-forward.sh to re-use existing test branches
Add a -u argument to git-merge-forward.sh, so that the script can
re-use existing test branches after a merge failure and fix.

Part of 31314.
2019-08-29 22:47:50 +10:00
teor
667311ebbd
scripts/git: Add test branch support to the git scripts
Add a -t <test-branch-prefix> argument to git-merge-forward.sh and
git-push-all.sh, which makes these scripts create, merge forward, and
push test branches.

Add a -r <remote-name> argument to git-push-all.sh, so the script can
push test branches to a personal remote.

Closes ticket 31314.
2019-08-29 22:47:43 +10:00
teor
c98724b022
scripts/git: Cleanup and fix minor git scripts issues
Fix typos, clean up formatting, rewrite some comments, add headings.

Preparation for 31314.
2019-08-29 22:42:37 +10:00
George Kadianakis
859514d477 Merge branch 'tor-github/pr/1263' 2019-08-26 17:35:34 +03:00
Nick Mathewson
eff95429fd Merge remote-tracking branch 'tor-github/pr/1241' 2019-08-26 10:15:25 -04:00
Nick Mathewson
ca667b9a8a Fix/suppress shellcheck warnings in git-push-all.sh
(I've chosen to suppress some instances rather than 'fix' them,
since the fix would require arrays or major refactoring.)

Fixes bug 31519; bug not in any released Tor.
2019-08-26 09:58:38 -04:00
Nick Mathewson
7a45c9c1d2 Merge remote-tracking branch 'tor-github/pr/1215' 2019-08-24 16:30:55 -04:00
Nick Mathewson
cc48eff2d3 Merge branch 'ticket31176' into ticket31176_merged 2019-08-21 09:46:20 -04:00
teor
bdcccb9776
scripts/git: Remove a duplicate practracker call from the pre-push hook
The pre-push hook already calls the pre-commit hook, which calls
practracker.

Also update the script comments to avoid similar issues in future.

Fixes bug 31462; bugfix on 0.4.1.1-alpha.
2019-08-20 12:21:02 +10:00
Nick Mathewson
71e5af0221 pre-push hook: Only run practracker when a special file is present
Closes ticket 30979.
2019-08-08 11:36:05 -04:00
teor
d6202d3128
scripts/git: add TOR_PUSH_DELAY to git-push-all.sh
Add a TOR_PUSH_DELAY variable to git-push-all.sh, which makes the script
push master and maint branches with a delay between each branch. These
delays trigger the CI jobs in a set order, which should show the most
likely failures first.

Also:
* make pushes atomic by default, and
* make the script pass any command-line arguments to git push.

Closes ticket 29879.
2019-08-08 18:59:44 +10:00
Nick Mathewson
9abbde2c24 Update pre-commit hook to find checkIncludes in its new location
Also add a temporary script to redirect the hook, if people don't
upgrade for a bit.
2019-08-05 14:12:39 -04:00
rl1987
59e523f058 Early exit from post-merge git hook script when not merging to master 2019-07-02 20:06:23 +03:00
Nick Mathewson
93ca08d66c Merge branch 'ticket29533_squashed' 2019-06-17 08:56:13 -04:00
rl1987
e8da65ee91 Fix SC2034 in pre-push.git-hook 2019-06-17 08:56:06 -04:00
teor
396134188f
Stop hard-coding env vars in the git scripts
Set the env vars:
* TOR_MASTER_NAME to override the tor master branch name, and
* TOR_WKT_NAME to override the worktree path

Fixes bug 30841; bugfix on 0.4.0.1-alpha.
2019-06-11 14:34:44 +10:00
teor
973800b847
scripts/git: Stop hard-coding the bash path in the git scripts
Some OSes don't have bash in /usr/bin, others have an ancient bash at
this path.

Fixes bug 30840; bugfix on 0.4.0.1-alpha.
2019-06-11 14:29:10 +10:00
Nick Mathewson
0635170cf1 Add an environment variable to set GIT_PATH in git scripts 2019-06-10 09:05:26 -04:00
Nick Mathewson
bbddda3a18 push-all: Use TOR_UPSTREAM_REMOTE_NAME to override UPSTREAM_BRANCH
We already allow this override in our pre-push hook, so let's allow
it here too.

(I call my upstream branches "origin")
2019-06-10 09:01:17 -04:00
Nick Mathewson
46da530431 Update git scripts for new versions
{maint,release}-0.4.1 are now real

{maint,release}-0.3.4 are now EOL

Closes ticket 30822
2019-06-10 09:01:17 -04:00
rl1987
e8aab46a3a Document TOR_UPSTREAM_REMOTE_NAME env variable 2019-06-05 08:29:55 -04:00