Add developers help file.
authorBruce Momjian
Wed, 6 Aug 1997 03:37:34 +0000 (03:37 +0000)
committerBruce Momjian
Wed, 6 Aug 1997 03:37:34 +0000 (03:37 +0000)
src/DEV_TIPS [new file with mode: 0644]

diff --git a/src/DEV_TIPS b/src/DEV_TIPS
new file mode 100644 (file)
index 0000000..7cac086
--- /dev/null
@@ -0,0 +1,66 @@
+Bruce Momjian 
+
+Here are some of the scripts I use to make development easier.
+
+First, I use 'cpdir' on every file I am about to change.  This makes a
+copy with the extension .orig.  If an .orig already exists, I am warned.
+
+   :
+   # cporig
+   for FILE
+   do
+       if [ ! -f "$FILE.orig" ]
+       then    cp $FILE $FILE.orig
+       else    echo "$FILE.orig exists" 1>&2
+       fi
+   done
+
+I can get really fancy with this.  I can do 'cporig *' and make a .orig
+for every file in the current directory.  I can:
+
+   cporig `grep -l HeapTuple *`
+
+If I use mkid (from ftp.postgreSQL.org), I can do:
+   
+   cporig `lid -kn 'fsyncOff'`
+
+and get a copy of every file containing that word.  I can then do:
+
+   vi `find . -name '*.orig'`
+
+or even better (using mkid):
+
+   eid fsyncOff
+
+to edit all those files.
+
+When I am ready to generate a patch, I run this command from the top of
+the source tree:
+   
+   :
+   #difforig
+   if [ "$#" -eq 0 ]
+   then    APATH="."
+   else    APATH="$1"
+   fi
+   find $APATH -name '*.orig' -print | sort | while read FILE
+   do
+       NEW="`dirname $FILE`/`basename $FILE .orig`"
+       echo "$NEW" 1>&2
+       diff -c $FILE $NEW
+   done
+
+I pipe the output of this to a file to hold my patch, and the file names
+it processes appear on my screen.  It creates a nice patch for me of all
+the files I used with cporig.
+
+Finally, I remove my old copies with:
+
+   :
+   # rmorig
+   if [ "$#" -eq 0 ]
+   then    APATH="."
+   else    APATH="$1"
+   fi
+   find $APATH -name '*.orig' -exec rm {} \;
+