Rewrite documentation on primary branch usage for Tor.git.

This patch is part of a series of patches where we try to change our
primary branch name of tor.git from master to main.

See: tpo/core/team#2
This commit is contained in:
Alexander Færøy 2021-05-25 11:33:58 +00:00
parent e247aab4ec
commit 8d4bbc337b
7 changed files with 32 additions and 32 deletions

View File

@ -59,7 +59,7 @@ Some compatible licenses include:
Each main development series (like 0.2.1, 0.2.2, etc) has its main work Each main development series (like 0.2.1, 0.2.2, etc) has its main work
applied to a single branch. At most one series can be the development series applied to a single branch. At most one series can be the development series
at a time; all other series are maintenance series that get bug-fixes only. at a time; all other series are maintenance series that get bug-fixes only.
The development series is built in a git branch called "master"; the The development series is built in a git branch called "main"; the
maintenance series are built in branches called "maint-0.2.0", "maint-0.2.1", maintenance series are built in branches called "maint-0.2.0", "maint-0.2.1",
and so on. We regularly merge the active maint branches forward. and so on. We regularly merge the active maint branches forward.
@ -75,7 +75,7 @@ If you're working on a bugfix for a bug that occurs in a particular version,
base your bugfix branch on the "maint" branch for the first supported series base your bugfix branch on the "maint" branch for the first supported series
that has that bug. (As of June 2013, we're supporting 0.2.3 and later.) that has that bug. (As of June 2013, we're supporting 0.2.3 and later.)
If you're working on a new feature, base it on the master branch. If you're If you're working on a new feature, base it on the main branch. If you're
working on a new feature and it will take a while to implement and/or you'd working on a new feature and it will take a while to implement and/or you'd
like to avoid the possibility of unrelated bugs in Tor while you're like to avoid the possibility of unrelated bugs in Tor while you're
implementing your feature, consider branching off of the latest maint- branch. implementing your feature, consider branching off of the latest maint- branch.

View File

@ -41,7 +41,7 @@ Once you've reached this point, here's what you need to know.
$ git clone https://git.torproject.org/git/tor $ git clone https://git.torproject.org/git/tor
``` ```
This will give you a checkout of the master branch. If you're This will give you a checkout of the main branch. If you're
going to fix a bug that appears in a stable version, check out the going to fix a bug that appears in a stable version, check out the
appropriate "maint" branch, as in: appropriate "maint" branch, as in:

View File

@ -33,8 +33,8 @@ OFTC. If they don't, ask #tor-dev (also on OFTC).
It's CI/builders. Looks like this: https://jenkins.torproject.org It's CI/builders. Looks like this: https://jenkins.torproject.org
Runs automatically on commits merged to git.torproject.org. We CI the Runs automatically on commits merged to git.torproject.org. We CI the
master branch and all supported tor versions. We also build nightly debian main branch and all supported tor versions. We also build nightly debian
packages from master. packages from main.
Builds Linux and Windows cross-compilation. Runs Linux tests. Builds Linux and Windows cross-compilation. Runs Linux tests.

View File

@ -7,7 +7,7 @@ The first section describes who is the current Tor maintainer and what are the
responsibilities. Tor has one main single maintainer but does have many responsibilities. Tor has one main single maintainer but does have many
committers and subsystem maintainers. committers and subsystem maintainers.
The second third section describes how the **alpha and master** branches are The second third section describes how the **alpha and main** branches are
maintained and by whom. maintained and by whom.
Finally, the last section describes how the **stable** branches are maintained Finally, the last section describes how the **stable** branches are maintained
@ -25,7 +25,7 @@ protocol design. Releasing Tor falls under their responsibility.
## Alpha and Master Branches ## Alpha and Master Branches
The Tor repository always has at all times a **master** branch which contains The Tor repository always has at all times a **main** branch which contains
the upstream ongoing development. the upstream ongoing development.
It may also contain a branch for a released feature freezed version which is It may also contain a branch for a released feature freezed version which is
@ -37,7 +37,7 @@ Tor is separated into subsystems and some of those are maintained by other
developers than the main maintainer. Those people have commit access to the developers than the main maintainer. Those people have commit access to the
code base but only commit (in most cases) into the subsystem they maintain. code base but only commit (in most cases) into the subsystem they maintain.
Upstream merges are restricted to the alpha and master branches. Subsystem Upstream merges are restricted to the alpha and main branches. Subsystem
maintainers should never push a patch into a stable branch which is the maintainers should never push a patch into a stable branch which is the
responsibility of the [stable branch maintainer](#stable-branches). responsibility of the [stable branch maintainer](#stable-branches).
@ -69,7 +69,7 @@ maintain the following subsystems:
These are the tasks of a subsystem maintainer: These are the tasks of a subsystem maintainer:
1. Regularly go over `merge_ready` tickets relevant to the related subsystem 1. Regularly go over `merge_ready` tickets relevant to the related subsystem
and for the current alpha or development (master branch) Milestone. and for the current alpha or development (main branch) Milestone.
2. A subsystem maintainer is expected to contribute to any design changes 2. A subsystem maintainer is expected to contribute to any design changes
(including proposals) or large patch set about the subsystem. (including proposals) or large patch set about the subsystem.
@ -102,7 +102,7 @@ These are few important items to follow when merging code upstream:
4. Tor uses the "merge forward" method, that is, if a patch applies to the 4. Tor uses the "merge forward" method, that is, if a patch applies to the
alpha branch, it has to be merged there first and then merged forward alpha branch, it has to be merged there first and then merged forward
into master. into main.
5. Maintainer should always consult with the network team about any doubts, 5. Maintainer should always consult with the network team about any doubts,
mis-understandings or unknowns of a patch. Final word will always go to the mis-understandings or unknowns of a patch. Final word will always go to the

View File

@ -87,17 +87,17 @@ they do not apply to security-related patch release versions.
(Ideally, do this immediately after a release.) (Ideally, do this immediately after a release.)
1. Start a new maint-x.y.z branch based on master, and a new 1. Start a new maint-x.y.z branch based on main, and a new
release-x.y.z branch based on master. They should have the same release-x.y.z branch based on main. They should have the same
starting point. starting point.
Push both of these branches to the master git repository. Push both of these branches to the canonical git repository.
2. In master, change the version to "0.x.y.0-alpha-dev". Run the 2. In the main branch, change the version to "0.x.y.0-alpha-dev". Run the
update_versions.py script, and commit this version bump. update_versions.py script, and commit this version bump.
3. Tag the version bump with "tor-0.x.y.0-alpha-dev". Push the tag 3. Tag the version bump with "tor-0.x.y.0-alpha-dev". Push the tag
and master. and main branch.
4. Open tickets for connecting the new branches to various other 4. Open tickets for connecting the new branches to various other
places. See section 2 above for a list of affected locations. places. See section 2 above for a list of affected locations.
@ -107,7 +107,7 @@ they do not apply to security-related patch release versions.
target in the maint-x.y.z branch only. target in the maint-x.y.z branch only.
* Delete the file scripts/maint/practracker/.enable_practracker_in_hooks * Delete the file scripts/maint/practracker/.enable_practracker_in_hooks
in the maint-x.y.z branch only. in the maint-x.y.z branch only.
* Merge to release-x.y.z, but do not forward-port to master. * Merge to release-x.y.z, but do not forward-port to the main branch.
6. Finally, make sure this document is up to date with our latest 6. Finally, make sure this document is up to date with our latest
process. process.

View File

@ -110,7 +110,7 @@ new Tor release:
note added to each section. So in this case, once you have the items note added to each section. So in this case, once you have the items
from the changes files copied together, don't use them to build a new from the changes files copied together, don't use them to build a new
changelog: instead, look up the corrected versions that were merged changelog: instead, look up the corrected versions that were merged
into ChangeLog in the master branch, and use those. into ChangeLog in the main branch, and use those.
Add "backport from X.Y.Z" in the section header for these entries. Add "backport from X.Y.Z" in the section header for these entries.
@ -142,7 +142,7 @@ new Tor release:
places, and commit. Then merge `maint-0.?.x` into `release-0.?.x`. places, and commit. Then merge `maint-0.?.x` into `release-0.?.x`.
When you merge the maint branch forward to the next maint branch, or into When you merge the maint branch forward to the next maint branch, or into
master, merge it with "-s ours" to avoid conflict with the version main, merge it with "-s ours" to avoid conflict with the version
bump. bump.
2. Make distcheck, put the tarball up in somewhere (how about your 2. Make distcheck, put the tarball up in somewhere (how about your
@ -222,13 +222,13 @@ $ git push origin tag tor-0.4.x.y-<status>
1. If it's a stable release, bump the version number in the 1. If it's a stable release, bump the version number in the
`maint-x.y.z` branch to "newversion-dev", and do a `merge -s ours` `maint-x.y.z` branch to "newversion-dev", and do a `merge -s ours`
merge to avoid taking that change into master. merge to avoid taking that change into main.
2. If there is a new `maint-x.y.z` branch, create a Travis CI cron job that 2. If there is a new `maint-x.y.z` branch, create a Travis CI cron job that
builds the release every week. (It's ok to skip the weekly build if the builds the release every week. (It's ok to skip the weekly build if the
branch was updated in the last 24 hours.) branch was updated in the last 24 hours.)
3. Forward-port the ChangeLog (and ReleaseNotes if appropriate) to the 3. Forward-port the ChangeLog (and ReleaseNotes if appropriate) to the
master branch. main branch.
4. Keep an eye on the blog post, to moderate comments and answer questions. 4. Keep an eye on the blog post, to moderate comments and answer questions.

View File

@ -9,7 +9,7 @@ sub nChanges {
# requires perl 5.8. Avoids shell issues if we ever get a changes # requires perl 5.8. Avoids shell issues if we ever get a changes
# file named by the parents of Little Johnny Tables. # file named by the parents of Little Johnny Tables.
open F, "-|", "git", "log", "--no-merges", "--pretty=format:%H", $branches, "--", $fname open F, "-|", "git", "log", "--no-merges", "--pretty=format:%H", $branches, "--", $fname
or die "$!"; or die "$!";
my @changes = <F>; my @changes = <F>;
return scalar @changes return scalar @changes
} }
@ -22,13 +22,13 @@ Usage:
findMergedChanges.pl [--merged/--unmerged/--weird/--list] [--branch=<branchname] [--head=<branchname>] changes/* findMergedChanges.pl [--merged/--unmerged/--weird/--list] [--branch=<branchname] [--head=<branchname>] changes/*
A change is "merged" if it has ever been merged to release-0.2.4 and it has had A change is "merged" if it has ever been merged to release-0.2.4 and it has had
no subsequent changes in master. no subsequent changes in main.
A change is "unmerged" if it has never been merged to release-0.2.4 and it A change is "unmerged" if it has never been merged to release-0.2.4 and it
has had changes in master. has had changes in main.
A change is "weird" if it has been merged to release-0.2.4 and it *has* had A change is "weird" if it has been merged to release-0.2.4 and it *has* had
subsequent changes in master. subsequent changes in main.
Suggested application: Suggested application:
findMergedChanges.pl --merged changes/* | xargs -n 1 git rm findMergedChanges.pl --merged changes/* | xargs -n 1 git rm
@ -37,18 +37,18 @@ EOF
} }
my $target_branch = "origin/release-0.2.4"; my $target_branch = "origin/release-0.2.4";
my $head = "origin/master"; my $head = "origin/main";
while (@ARGV and $ARGV[0] =~ /^--/) { while (@ARGV and $ARGV[0] =~ /^--/) {
my $flag = shift @ARGV; my $flag = shift @ARGV;
if ($flag =~ /^--(weird|merged|unmerged|list)/) { if ($flag =~ /^--(weird|merged|unmerged|list)/) {
$look_for_type = $1; $look_for_type = $1;
} elsif ($flag =~ /^--branch=(\S+)/) { } elsif ($flag =~ /^--branch=(\S+)/) {
$target_branch = $1; $target_branch = $1;
} elsif ($flag =~ /^--head=(\S+)/) { } elsif ($flag =~ /^--head=(\S+)/) {
$head = $1; $head = $1;
} else { } else {
die "Unrecognized flag $flag"; die "Unrecognized flag $flag";
} }
} }
@ -58,16 +58,16 @@ for my $changefile (@ARGV) {
my $type; my $type;
if ($n_merged != 0 and $n_postmerged == 0) { if ($n_merged != 0 and $n_postmerged == 0) {
$type = "merged"; $type = "merged";
} elsif ($n_merged == 0 and $n_postmerged != 0) { } elsif ($n_merged == 0 and $n_postmerged != 0) {
$type = "unmerged"; $type = "unmerged";
} else { } else {
$type = "weird"; $type = "weird";
} }
if ($type eq $look_for_type) { if ($type eq $look_for_type) {
print "$changefile\n"; print "$changefile\n";
} elsif ($look_for_type eq 'list') { } elsif ($look_for_type eq 'list') {
printf "% 8s: %s\n", $type, $changefile; printf "% 8s: %s\n", $type, $changefile;
} }
} }