[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] [[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant 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]]."]]"""]] CVS repositories on Savannah, see . # Branches Members of the Hurd Savannah group, , are allowed to create branches without formal permission... * named *SAVANNAH_LOGIN-WHATEVER-branch* for general-purpose branches, or * named *BASE_BRANCH-WHATEVER-branch* for topic-branches basing on *BASE_BRANCH*. *WHATEVER* shall be a suitable tag. Examples: * GNU Mach * *gnumach-1-branch-Xen-branch* * *gnumach-1-branch-gdb-branch* * GNU Hurd * *miles-orphaned-changes* * *hammy-libchannel-branch* * *mmenal-soc2006-nfs-branch* Also, create helper tags for merging mainline changes into your branches. Examples: * GNU Mach * *gnumach-1-branch-Xen-branch*: *gnumach-1-branch-Xen-branch-merge_helper* * *gnumach-1-branch-gdb-branch*: *gnumach-1-branch-gdb-branch-merge_helper* * GNU Hurd * *hammy-libchannel-branch*: *hammy-libchannel-branch-base* * *mmenal-soc2006-nfs-branch*: *mmenal-soc2006-nfs-branch-base* ## Merging Merging between CVS branches is not trivial. Unless you really know what you're doing, please talk to [[Thomas_Schwinge|tschwinge]] or [[Samuel_Thibault|samuelthibault]], to avoid cluttering the repositories unintendedly. # Tags Equivalent rules apply. # Behavior ## ... on your branches Most branches are to be eventually be merged back into the mainline branch. To faciliate (and also to help other contributors) we'd like you to write a short summary log in a top-level (or wherever else appropriate) `ChangeLog.WHATEVER` file. Examples: * GNU Mach * *gnumach-1-branch-Xen-branch*: `ChangeLog.Xen` * *gnumach-1-branch-gdb-branch-merge_helper*: `ChangeLog.gdb` * GNU Hurd * *hammy-libchannel-branch-base*: `channelio/ChangeLog`, `libchannel/ChangeLog` * *mmenal-soc2006-nfs-branch-base*: `nfs/ChangeLog` This need not be a full-fledged [GNU-style *ChangeLog* file](http://www.gnu.org/prep/standards/html_node/Change-Logs.html). E.g., don't waste time writing *ChangeLog* entries for debugging stuff that will be removed again before merging back into mainline. But please do write something. Short notes. ## ... in general Try to not introduce spurious, unneeded changes, e.g., whitespace changes. Adhere to the already-used coding conventions. These are usually the [GNU Coding Standards](http://www.gnu.org/prep/standards/html_node/) for stuff written by ourselves, including new files, of course. GNU Mach code is largely based on external code. Don't GNU-ify it, as this would make merging external patches unnecessarily difficult.