Hello Savannah Hackers, Regarding recent discussions in other mailing lists (such as the recent sv-users) regarding git policy:
I'd like to try and understand our policy regarding git (and then I'd put a wiki page for it). First, "non-fast-forward" - this is enabled for all repositories default, correct? (or technically, "denynonfastforward" is 'true') ? The reason being that if non-fast-forward commits are allowed, then code could be removed or deleted from savannah? And also this would cause troubles for people who already cloned the repository? Are there other reasons? Second, non-master branches seemed to be frowned upon in savannah, or at least in GNU projects, is this correct? And by proxy, transient branches that are used for temporary development features are not welcomed (because they will be deleted later, potentially leading to deleted code) ? For example, I've longed wondered why there are couple of 'fiemap-copy' branches in GNU Coreutils which seems to be abandoned. Third, Combining #1 and #2, means that 'non-fast-forward' commits to branches is not allowed (despite being technically possible with a hook, as Bob wrote in sv-users) ? Fourth, There are few exceptions to allowing non-fast-forwards (as happened recently). These are: 1. If the entire source code is available elsewhere (as in 'libreJS', where all the code was available under BZR) 2. If the project is new, and a first commit was made in error (e.g. 'https://savannah.gnu.org/support/?108709') ? 3. other cases? and if we enable non-fast-forward commits, is this temporary for the next 24-hours or so until the situation is fixed, or left for good? Any other important notes regarding this? As for technicalities, When someone asks to enable non-fast-fowrards on the 'master' branch (assuming with a valid reason) - Does this entail anything beyond logging-in to 'vcs.sv.gnu.org' and changing the 'config' file ? Thanks, - Assaf
