diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-cvs-maint.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-cvs-maint.ltx-inc
index a5b4250..5639999 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/app-cvs-maint.ltx-inc
+++ b/org.eclipse.photran-dev-docs/dev-guide/app-cvs-maint.ltx-inc
@@ -1,14 +1,20 @@
 % Getting the Photran Sources from CVS
 \vspace{-0.5in}
 
-{\scriptsize Revision: \footnotesize \$Id$ $}
+{\scriptsize Revision: \footnotesize \$Id: app-cvs-maint.ltx-inc,v 1.2 2010/04/28 18:12:52 joverbey Exp $ $}
 
-\emph{BEFORE YOU BEGIN: Make sure you are running \textbf{Eclipse 3.5} (Galileo)
+As of June, 2011, the current stable release of Photran is 7.0.
+This appendix describes how to check out the code for the
+Photran 7 maintenance branch, which will be released as
+Photran 7.0.1, 7.0.2, etc.  This branch contains only bug fixes,
+not new features.
+
+\emph{BEFORE YOU BEGIN: Make sure you are running \textbf{Eclipse 3.7} (Indigo)
 and a \textbf{Java 5} or later JVM. We recommend the
 \href{http://www.eclipse.org/downloads/packages/eclipse-rcpplug-developers/ganymeder}{Eclipse for RCP/Plug-in Developers Package}.}
 
-\newcounter{running_counter}
-\textbf{Part~I.  Check out the CDT 6.0 sources from CVS}
+\newcounter{maint_running_counter}
+\textbf{Part~I.  Check out the CDT 8.0 branch from CVS}
 
 \begin{enumerate}
 	\item  In Eclipse, switch to the CVS Repository Exploring perspective.
@@ -31,15 +37,15 @@
 	\item  Under ``Browse files for tags'', expand ``all'', then expand
 	       ``org.eclipse.cdt'', then click on the .project file
 	\item  Under ``New tags found in the selected files'', click on the Deselect
-	       All button, then check cdt\_6\_0 in the list above it
+	       All button, then check cdt\_8\_0 in the list above it
   \item	 Click Add Checked Tags
 	\item	 Click OK
 	\item  Now, in the CVS Repositories view
 				 \begin{itemize}
 				 \item  Expand ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools''
 		     \item  Then expand ``Branches''
-				 \item  Then expand ``cdt\_6\_0''
-		     \item  Then expand ``org.eclipse.cdt cdt\_6\_0''
+				 \item  Then expand ``cdt\_8\_0''
+		     \item  Then expand ``org.eclipse.cdt cdt\_8\_0''
 		     \item  Then expand ``all''
 			  \end{itemize}
 	\item  Click on the first entry under ``all''
@@ -51,46 +57,59 @@
 	       (Check out will take several minutes.)
 	\item  You now have the CDT source code.  Make sure it compiles successfully
 	       (lots of warnings, but no errors).
-	\setcounter{running_counter}{\value{enumi}}
+	\setcounter{maint_running_counter}{\value{enumi}}
 \end{enumerate}
 
 \vspace{1em}
-\textbf{Part~II.  Check out the Photran sources from CVS}
+\textbf{Part~II.  Check out the Photran 7.0 branch from CVS}
 \begin{enumerate}
-	\setcounter{enumi}{\value{running_counter}}
-	\item Under ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,''
-	    expand HEAD, then expand
-	    org.eclipse.ptp, then expand
-	    photran
-	\item  Click on the first entry under ``photran''
-	       (it should be org.eclipse.photran-dev-docs), then shift-click on the last entry
-	       under ``photran'' (it should be org.eclipse.rephraserengine.ui.vpg).
-	       All of the intervening plug-ins should now be selected.
-	       Right-click on any of the selected plug-ins, and select
-	       Check Out from the pop-up menu.
-	       (Check out will take several minutes.)
-	\setcounter{running_counter}{\value{enumi}}
+    \setcounter{enumi}{\value{maint_running_counter}}
+    \item Under ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,''
+        expand HEAD
+        %, then expand
+        %org.eclipse.ptp, then expand
+        %photran
+    \item  Right-click on ``org.eclipse.ptp''
+    \item  Select ``Configure Branches and Versions\ldots''
+    \item  Under ``Browse files for tags'', expand ``photran'', then expand
+           ``org.eclipse.photran.core'', then click on the .project file
+    \item  Under ``New tags found in the selected files'', click on the Deselect
+           All button, then check ptp\_5\_0 in the list above it
+  \item  Click Add Checked Tags
+    \item    Click OK
+    \item  Now, in the CVS Repositories view
+                 \begin{itemize}
+                 \item  Expand ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools''
+             \item  Then expand ``Branches''
+                 \item  Then expand ``ptp\_5\_0''
+             \item  Then expand ``org.eclipse.ptp ptp\_5\_0''
+             \item  Then expand ``photran''
+              \end{itemize}
+    \item  Click on the first entry under ``photran''
+           (it should be org.eclipse.photran-dev-docs), then shift-click on the last entry
+           under ``photran'' (it should be org.eclipse.rephraserengine.ui.vpg).
+           All of the intervening plug-ins should now be selected.
+           Right-click on any of the selected plug-ins, and select
+           Check Out from the pop-up menu.
+           (Check out will take several minutes.)
+    \item \textit{(Optional)} You may also wish to switch back to the Java perspective and\dots
+      \begin{enumerate}
+      \item Close or delete the org.eclipse.photran.cmdline project.  This project contains code
+            demonstrating how to use Photran's parser outside of Eclipse; most developers won't
+            need to do this, and since it contains many classes copied from the ``real'' Photran
+            projects, it can be confusing having it in your workspace.
+      \item Delete the following projects (they are used for release engineering, so most developers
+            will never need to modify them):
+            \begin{itemize}
+            \item org.eclipse.photran-feature
+            \item org.eclipse.photran.intel-feature
+            \item org.eclipse.photran.master
+            \item org.eclipse.photran.releng
+            \item org.eclipse.photran.vpg-feature
+            \item org.eclipse.photran.xlf-feature
+            \item org.eclipse.rephraserengine-feature
+            \end{itemize}
+      \end{enumerate}
+    \setcounter{maint_running_counter}{\value{enumi}}
 \end{enumerate}
-The sources should all compile (albeit with lots of warnings).
-
-\vspace{1em}
-\noindent\textbf{Part~III.  Running the test cases}
-
-\begin{enumerate}
-	\setcounter{enumi}{\value{running_counter}}
-	\item In Package Explorer view, select the \texttt{org.eclipse.photran.core.vpg.tests} project.
-	\item Right-click on that project and select Run As $>$ Run Configurations\ldots. A dialog will appear.
-	\item In that dialog, create a new \textbf{JUnit Plug-in Test} launch configuration. Call it ``Photran-Tests''.
-	\item For the configuration that you have just created, switch to the ``Arguments'' tab.
-	      Change the ``VM arguments'' field to \texttt{-ea -Xms40m -Xmx512m}
-	\item Then switch to the ``Environment'' tab and create a new environment variable called ``TESTING'' with a value of 1.
-	\item Select ``Run'' to run the tests. To run the tests again, just launch the ``Photran-Tests'' configuration from the Eclipse Run menu.
-
-	\vspace{.5em}
-	\noindent\textit{\textbf{Note.} If you will be developing refactorings or modifying the parser,
-	please read the appendix ``Running Photran's Automated Test Suite'' in the \textit{Photran
-	Developer's Guide.}  Also note that some parser tests will attempt to look for closed-source
-	code that you did not check out as part of this procedure;
-	a warning will appear in the JUnit runner if this code is not available.}
-	\setcounter{running_counter}{\value{enumi}}
-\end{enumerate}
+The sources should all compile (albeit with lots of warnings).
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc
index ea444b0..68bc0ac 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc
+++ b/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc
@@ -1,25 +1,27 @@
 % Getting the Photran Sources from CVS
 \vspace{-0.5in}
 
-{\scriptsize Revision: \footnotesize \$Id: app-cvs.ltx-inc,v 1.15 2010/05/25 19:40:03 joverbey Exp $ $}
+{\scriptsize Revision: \footnotesize \$Id: app-cvs.ltx-inc,v 1.16 2010/06/24 13:21:41 joverbey Exp $ $}
+
+As of June, 2011, the current stable release of Photran is 7.0.
+This appendix describes how to check out the current development code,
+which will become the \textit{next} release in June, 2012.
+
+\textbf{IMPORTANT:} These instructions will change in the near future as
+the June, 2012 release will be based on Eclipse 4.2, and both CDT and PTP
+are moving from CVS to Git.
 
 \textbf{Before you begin\dots}
 
 \vspace{-1em}
 
 \begin{enumerate}
-\item You will need to be running \textbf{Eclipse 3.6 (Helios)} on a Java 5 or later JVM.
-      You should install \textit{Eclipse Classic 3.6} (also called the \textit{Eclipse SDK),}
+\item You will need to be running \textbf{Eclipse 3.7 (Indigo)} on a Java 5 or later JVM.
+      You should install \textit{Eclipse Classic 3.7} (also called the \textit{Eclipse SDK),}
       which includes the Eclipse Platform,
       Java development tools, and Plug-in Development Environment.  (Since Photran is a
       set of Eclipse plug-ins, you need a version of Eclipse that includes the Plug-in
       Development Environment.)
-      %\begin{itemize}
-      %\item As of May, 2010, Eclipse 3.6 \textit{has not yet been released.}  You can download a
-      %release candidate of the Eclipse SDK from
-      %\url{http://download.eclipse.org/eclipse/downloads/drops/S-3.6RC2-201005201744/}.
-      %The file you download should be named \textit{eclipse-SDK-3.6RC2-win32.zip} or something similar.
-      %\end{itemize}
 \item \textit{(Optional)} We also recommend that you install the following Eclipse plug-ins:
       \begin{enumerate}
       \item \href{http://subclipse.tigris.org/}{\textbf{Subclipse}} --
@@ -38,7 +40,7 @@
 \end{enumerate}
 
 \newcounter{running_counter}
-\textbf{Part~I.  Check out the CDT 7.0 sources from CVS}
+\textbf{Part~I.  Check out the CDT sources from CVS HEAD}
 
 \begin{enumerate}
 	\item  In Eclipse, switch to the CVS Repository Exploring perspective.
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc
index 9cf647d..98d9255 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc
+++ b/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc
@@ -1,7 +1,7 @@
 % Photran Release History
 \vspace{-0.5in}
 
-{\scriptsize Revision: \footnotesize \$Id: app-history.ltx-inc,v 1.6 2010/04/28 18:12:52 joverbey Exp $ $}
+{\scriptsize Revision: \footnotesize \$Id: app-history.ltx-inc,v 1.7 2010/05/25 19:40:03 joverbey Exp $ $}
 
 {\footnotesize
 \begin{tabular}{clccl}
@@ -22,8 +22,9 @@
       & Mar 2009 & 3.4     & 5.0.1 & First automated integration build under PTP \\
       & Sep 2009 & 3.5     & 6.0.0 & \\
 5.0.0 & Dec 2009 & 3.5     & 6.0.1 & First official release at eclipse.org \\
-6.0.0 & Jun 2010 & 3.6     & 7.0.0 & Part of the Helios release train \\
-7.0.0 & Jun 2011 &         &       & (Tentative) \\
+6.0.0 & Jun 2010 & 3.6     & 7.0.0 & First release as part of the train (Helios) \\
+7.0.0 & Jun 2011 & 3.7     & 8.0.0 & Indigo release train \\
+8.0.0 & Jun 2012 & 4.2     &   ?   & (Tentative) \\
 %Vers & Mon Year & Platfrm & CDT   & \\
 \end{tabular}
 }
diff --git a/org.eclipse.photran-dev-docs/dev-guide/cha-checklist.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/cha-checklist.ltx-inc
index e6c5754..73e3f3e 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/cha-checklist.ltx-inc
+++ b/org.eclipse.photran-dev-docs/dev-guide/cha-checklist.ltx-inc
@@ -1,7 +1,7 @@
 % Checklist for New Developers
 \vspace{-0.5in}
 
-{\scriptsize Revision: \footnotesize \$Id$ $}
+{\scriptsize Revision: \footnotesize \$Id: cha-checklist.ltx-inc,v 1.1 2010/05/21 20:12:20 joverbey Exp $ $}
 
 \begin{list}{$\bigcirc$}{}
 
@@ -11,8 +11,12 @@
 \item \textbf{Check out Photran's source code from CVS and run the test suite.}
 See Appendices~\ref{app:cvs} and~\ref{app:testsuite}.
 
+\item \textbf{Join the \href{https://dev.eclipse.org/mailman/listinfo/ptp-dev}{ptp-dev mailing list}.}
+Photran is a component of the Parallel Tools Platform (PTP); this is where discussions about PTP
+development (including Photran) take place.  Questions from developers (like you), release planning,
+discussions about API changes, etc.~all take place here.
+
 \item \textbf{Join the \href{https://dev.eclipse.org/mailman/listinfo/photran-dev}{photran-dev mailing list}.}
-This is where discussions about Photran's development take place. Questions from developers (like you), release planning, API changes, etc.~all get discussed here.
 
 \item \textbf{Join the \href{https://dev.eclipse.org/mailman/listinfo/photran}{photran users' mailing list}.}
 It is good to keep track of what Photran's users are discussing, and as a Photran developer you will probably be able to answer many of their questions as well.
diff --git a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx b/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx
index b0f530e..95c7a30 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx
+++ b/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx
@@ -23,7 +23,7 @@
 
 \begin{document}
 
-\title{\bfseries Getting the Photran 7.0 Sources from CVS \\
+\title{\bfseries Getting the Photran Development Sources from CVS\\
        {\normalsize and Creating Launch Configurations}}
 \author{}
 \date{}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf b/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf
index d3e14df..f4848f3 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf
+++ b/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.ltx b/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.ltx
index af65eba..8cb6de1 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.ltx
+++ b/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.ltx
@@ -3,7 +3,7 @@
 \begin{document}
 
 \title{
-  {\Huge\bfseries Photran 7.0 Developer's Guide} \\
+  {\Huge\bfseries Photran Developer's Guide} \\
   \vspace*{1em}
   {\LARGE Part I: General Information} \\
   \vspace*{1em}
@@ -38,10 +38,14 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \appendix
 
-\chapter{Getting the Photran Sources from CVS HEAD}
+\chapter{Checking Out the Current Development Code}
 \label{app:cvs}
 \input{app-cvs.ltx-inc}
 
+\chapter{Checking Out the Current Maintenance Code (Photran 7.0)}
+\label{app:cvs-maint}
+\input{app-cvs-maint.ltx-inc}
+
 \chapter{Running Photran's Automated Test Suite}
 \label{app:testsuite}
 \setcounter{running_counter}{0}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.pdf b/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.pdf
index e0d5762..aa72b0c 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.pdf
+++ b/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.pdf
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/dev-guide-specialized.pdf b/org.eclipse.photran-dev-docs/dev-guide/dev-guide-specialized.pdf
index cbc1f06..c69971d 100644
--- a/org.eclipse.photran-dev-docs/dev-guide/dev-guide-specialized.pdf
+++ b/org.eclipse.photran-dev-docs/dev-guide/dev-guide-specialized.pdf
Binary files differ
