internal RFC reorganization

* rfcs are now all stored in the rfc folder (formerly hold the final rfcs)
* a new rfc_final folder is created
* the state folders (rfc_final|pending|parked|dropped) now contain
  symlinks back to the rfc pool
This commit is contained in:
Christian Thaeter 2012-08-30 20:48:26 +02:00
parent 66cd1f1835
commit 7d964825d3
6 changed files with 51 additions and 28 deletions

View file

@ -2,6 +2,14 @@
shopt -s extglob
#
# RFC's are created from ./doc/devel/template/new_rfc.sh and stored in
# ./doc/devel/rfc/ . There are directories for the various states
# ./doc/devel/rfc_final, ./doc/devel/rfc_pending, ./doc/devel/rfc_parked,
# ./doc/devel/rfc_dropped . Which contain symlinks back to ../rfc/
#
function usage()
{
grep -v '^// ' <<"EOF" | less -F
@ -199,7 +207,7 @@ function find_rfc()
local globstate=$(shopt -p nocasematch)
shopt -s nocasematch
for file in $(find ./doc/devel/rfc* -name '*.txt');
for file in $(find ./doc/devel/rfc/ -name '*.txt');
do
local name="/${file##*/}"
if [[ "$name" =~ $match ]]; then
@ -229,28 +237,37 @@ function process_file()
local file="$1"
local path="${1%/*}"
local basename="${1##*/}"
local destpath="$path"
local linkdest="$path"
local state=$(grep '^\*State\* *' "$file")
case "$state" in
*Final*)
destpath="./doc/devel/rfc"
linkdest="./doc/devel/rfc_final"
;;
*Idea*|*Draft*)
destpath="./doc/devel/rfc_pending"
linkdest="./doc/devel/rfc_pending"
;;
*Parked*)
destpath="./doc/devel/rfc_parked"
linkdest="./doc/devel/rfc_parked"
;;
*Dropped*)
destpath="./doc/devel/rfc_dropped"
linkdest="./doc/devel/rfc_dropped"
;;
*)
echo "Unknown State: '$state'" >&2
exit 1
esac
if [[ "$path" != "$destpath" ]]; then
git mv "$file" "$destpath"
local oldpath=./doc/devel/rfc_*/$basename
if [[ "$oldpath" != './doc/devel/rfc_*/'"$basename" ]]; then
if [[ "$oldpath" != "$linkdest/$basename" ]]; then
git mv "$oldpath" "$linkdest/$basename"
fi
elif [[ ! -s "$linkdest/$basename" ]]; then
ln -s "../rfc/$basename" "$linkdest/"
git add "$linkdest/$basename"
fi
git add "$destpath/$basename"
}
@ -349,7 +366,7 @@ shift
case "$command" in
process)
# for all rfc's
for file in $(find ./doc/devel/rfc* -name '*.txt');
for file in $(find ./doc/devel/rfc -name '*.txt');
do
echo "process $file"
process_file "$file"
@ -373,14 +390,13 @@ show|less|more)
create)
TITLE="$@"
name=$(camel_case "$TITLE")
if [[ -f "./doc/devel/rfc/${name}.txt" ||
-f "./doc/devel/rfc_pending/${name}.txt" ||
-f "./doc/devel/rfc_dropped/${name}.txt" ]]; then
if [[ -f "./doc/devel/rfc/${name}.txt" ]]; then
echo "$name.txt exists already"
else
source ./doc/devel/template/new_rfc.sh >"./doc/devel/rfc_pending/${name}.txt"
edit "./doc/devel/rfc_pending/${name}.txt" 2 abstract
process_file "./doc/devel/rfc_pending/${name}.txt"
source ./doc/devel/template/new_rfc.sh >"./doc/devel/rfc/${name}.txt"
edit "./doc/devel/rfc/${name}.txt" 2 abstract
git add "./doc/devel/rfc/${name}.txt"
process_file "./doc/devel/rfc/${name}.txt"
fi
;;
edit)

View file

@ -1 +1,3 @@
accepted design proposals
RFC pool
all other rfc dirs (sorted by state) link back to here

View file

@ -1,11 +1,10 @@
Accepted Design Proposals
=========================
Design Proposal Pool
====================
//Menu: label accepted
//Menu: off
//Menu: sort children
-> read link:../rfc.html[more about Lumiera RfC] and the Design Process
The RfC entries listed here where discussed, maybe modified and finally agreed upon
during some developers meeting in the past. So they represent design decisions taken.
This is the poll where all Design Proposals are stored.

View file

@ -0,0 +1 @@
accepted design proposals

View file

@ -0,0 +1,11 @@
Accepted Design Proposals
=========================
//Menu: label accepted
//Menu: sort children
-> read link:../rfc.html[more about Lumiera RfC] and the Design Process
The RfC entries listed here where discussed, maybe modified and finally agreed upon
during some developers meeting in the past. So they represent design decisions taken.

View file

@ -1,12 +1,6 @@
Lumiera RFC maintenance script
==============================
// Note: the source of this documentation is maintained
// directly admin/rfc.sh in its usage() function
// edit it only there and then regenerate
// doc/devel/technical/infra/ with:
// ./admin/rfc.sh help >doc/technical/infra/rfcsh.txt
Usage
-----