changeset 34:1317d1aa6fdf

include instructions for refreshing patches and sources
author jrose
date Wed, 25 Nov 2009 12:52:40 -0800
parents d02552d5c1bd
children 1ded1692e7e0
files README.txt make/each-patch-repo.sh
diffstat 2 files changed, 31 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/README.txt	Tue Oct 20 15:47:36 2009 -0700
+++ b/README.txt	Wed Nov 25 12:52:40 2009 -0800
@@ -131,7 +131,32 @@
 
 (To apply other sets of patches, adjust the guard settings and/or use qpush to refer to specific desired patches.  Do not make permanent edits to the series file, unless they reflect true changes of development status.)
 
-== Trouble Shooting ==
+=== Updating Your Workspace
+
+If you wish to refresh your source code from the mlvm project, you will have to take the following steps, in order:
+* properly dispose of any private changes you may have made
+* pop the old mq patches
+* update your sources from the bsd-port
+* pull new mq patches
+* adjust 'qselect' guards to match the new required source revisions
+* adjust source revisions (if needed) to match the new patches
+* push the new patches
+
+Example command sequence:
+        $ sh patches/make/each-patch-repo.sh  hg diff  # display sources
+        $ sh patches/make/each-patch-repo.sh  hg qpop -a  # remove patches
+        $ sh patches/make/each-patch-repo.sh  hg pull -u  # pull new sources
+        $ sh patches/make/each-patch-repo.sh  hg pull -u -R .hg/patches  # pull new patches
+        # from this point, the guard and patch commands are the same as with a fresh repo
+	$ export davinci=$(pwd) guards="buildable testable"
+	$ sh patches/make/each-patch-repo.sh "hg qselect --pop $guards" \
+		'$(sh $davinci/patches/make/current-release.sh)'  # set new guards
+	$ sh patches/make/each-patch-repo.sh "hg qselect; hg qunapplied"
+	$ sh patches/make/each-patch-repo.sh "hg update -r" \
+		'$(sh $davinci/patches/make/current-release.sh)'  # ensure correct source version
+       $ sh patches/make/each-patch-repo.sh  hg qpush -a  # push new patches
+
+== Trouble Shooting
 
 To verify that the current release is properly checked out, you can use Mercurial commands like these in the source directory:
 	cd davinci/sources/hotspot
--- a/make/each-patch-repo.sh	Tue Oct 20 15:47:36 2009 -0700
+++ b/make/each-patch-repo.sh	Wed Nov 25 12:52:40 2009 -0800
@@ -24,8 +24,10 @@
 # have any questions.
 
 qflag=
+nflag=
 case ${1-} in
 -q) qflag=$1; shift;;
+-n) nflag=$1; shift;;
 esac
 
 sources=sources
@@ -39,8 +41,9 @@
   case $# in
   0) echo "$srepo"; continue;;
   esac
-  case $qflag in
-  '') >&2 echo "+ (cd $srepo; $@)";;
+  case $qflag,$nflag in
+  ,)    >&2 echo "+ (cd $srepo; $@)";;
+  *,-n) echo "(cd $srepo; $@)"; continue;;
   esac
   (cd "$srepo"; eval "$@") \
   || {