summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source_repositories.mdwn65
1 files changed, 54 insertions, 11 deletions
diff --git a/source_repositories.mdwn b/source_repositories.mdwn
index 8729e48b..d7add548 100644
--- a/source_repositories.mdwn
+++ b/source_repositories.mdwn
@@ -9,31 +9,48 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]
+This page is meant to give some guidelines. Please use good sense or ask on
+[[mailing-lists/bug-hurd]] if there are any questions.
+
+
[[!toc levels=3]]
+
# Git repositories on Savannah
-<http://git.savannah.gnu.org/cgit/hurd/>
+<http://git.savannah.gnu.org/cgit/hurd>
+
+ * hurd.git -- Hurd meta package; no real content yet
+ * [[hurd/glibc.git|glibc]] -- [[/glibc]] maintenance
+ * hurd/gnumach.git -- [[GNU Mach|microkernel/mach/gnumach]]
+ * hurd/hurd.git -- [[/Hurd]]
+ * [[hurd/incubator.git|incubator]] -- the great next stuff
+ * hurd/libpthread.git -- [[POSIX threading library|libpthread]]
+ * hurd/mig.git -- [[microkernel/mach/MIG]]
+ * hurd/procfs.git -- [[hurd/translator/procfs]]
+ * hurd/unionfs.git -- -- [[hurd/translator/unionfs]]
+ * hurd/viengoos.git -- [[microkernel/Viengoos]]
+ * hurd/web.git -- [[contributing/Web_pages]]
- * [[glibc]]
- * [[incubator]]
- * [[hurd/translator/procfs]]
- * ...
## Branches
Members of the [[Hurd Savannah group|rules/savannah group]] are allowed to create
branches without formal permission:
- * named `SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` for private general-purpose or
+ * named `SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` or
+ `SAVANNAH_LOGIN/TOPIC/BASE_BRANCH` for private general-purpose or
topic branches, respectively, or
- * named `BASE_BRANCH-TOPIC` for public topic branches basing on
+ * named `BASE_BRANCH-TOPIC` or `TOPIC/BASE_BRANCH` for public topic branches
+ basing on
`BASE_BRANCH`.
`TOPIC` shall be a suitable tag describing the branch's main concern. These
-tags can be applied recursively (`TOPIC-SUBTOPIC-SUBSUBTOPIC`).
+tags can be applied recursively (`TOPIC/SUBTOPIC/BASE_BRANCH`, like
+`pfinet_rewrite/use_lwIP/master`, for example).
-*private* vs. *public* does, of course, in this scenario not mean visibility,
+*private* vs. *public* does, of course, in this scenario not mean visibility
+(all branches are externally visible),
but instead authority: *private* branches are those that the user
`SAVANNAH_LOGIN` has authority over, whereas *public* branches are open for
every committer to install changes on. The private branches are those that you
@@ -42,7 +59,27 @@ server, but we offer that you can instead do this from the centralized Savannah
repository, as a number of people don't have an always-accessible web server
running on their own machines.
-Examples:
+
+### Subprojects
+
+Some repositories hold a bunch of independent subprojects, first and foremost
+the [[incubator]] repository.
+
+Even though we've been doing differently in the past, branches in there shall
+be named like this:
+
+ * `SUBPROJECT/master` for the `master` branch;
+ * `SUBPROJECT/SAVANNAH_LOGIN/BASE_BRANCH[-TOPIC]` or
+ `SUBPROJECT/SAVANNAH_LOGIN/TOPIC/BASE_BRANCH` for private general-purpose
+ or topic branches, respectively, or
+ * `SUBPROJECT/BASE_BRANCH-TOPIC` or `SUBPROJECT/TOPIC/BASE_BRANCH` for public
+ topic branches basing on `SUBPROJECT/BASE_BRANCH`.
+
+That is, we introduce a top-level `SUBPROJECT` hierarchy, where distinct
+per-subproject Git repositories could have been used instead.
+
+
+### Examples
* GNU Mach
@@ -59,6 +96,11 @@ Examples:
* `master-viengoos-on-bare-metal` -- port to Viengoos running on bare
metal; branched off of `master-viengoos` at some point
+ * incubator
+
+ * `master` -- not to be used
+ * `tarfs/master` -- `master` branch of the `tarfs` subproject
+
* unionfs
* `master` -- the mainline branch
@@ -162,7 +204,8 @@ their work on your private branches.
We could establish a branch-tagging policy for branches that others should
expect their history possibly to be rewritten. This may be useful for branches
that are only meant for aggregating the changes of (several) development
-branches, like an imaginary `master-proposed_for_general_testing` branch.
+branches, like an imaginary
+`rewrite_pfinet/for_master_and_proposed_for_general_testing` branch.
# Git repositories on flubber