mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
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:
parent
e247aab4ec
commit
8d4bbc337b
@ -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.
|
||||||
|
@ -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:
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user