A big thanks to Dave, he spotted that some of the rewrite work I'd
been doing wasn't actually making it to the user manual (only the
manpage and darcs --help), because some of the .lhs files weren't
loading \haskell{foo_help}.

Sun Jan 25 01:40:58 EST 2009  Trent W. Buck <[email protected]>
  * Resolve issue1310: create merged \darcsCommand{add}.
  This replaces inconsistent use of \haskell{add_description},
  \options{add} and \haskell{add_help}. 

New patches:

[Resolve issue1310: create merged \darcsCommand{add}.
Trent W. Buck <[email protected]>**20090124144058
 Ignore-this: 945f45d0671c1e5a613ebfb3c4f90f59
 This replaces inconsistent use of \haskell{add_description},
 \options{add} and \haskell{add_help}. 
] hunk ./src/Darcs/Commands/Add.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs add}
+\darcsCommand{add}
 \begin{code}
 module Darcs.Commands.Add ( add ) where
 
hunk ./src/Darcs/Commands/Add.lhs 55
 
 add_description :: String
 add_description = "Add one or more new files or directories."
-\end{code}
 
hunk ./src/Darcs/Commands/Add.lhs 56
-\options{add}
-
-\haskell{add_help}
-
-\begin{code}
 add_help :: String
 add_help =
  "Generally a repository contains both files that should be version\n" ++
hunk ./src/Darcs/Commands/AmendRecord.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs amend-record}
+\darcsCommand{amend-record}
 \begin{code}
 module Darcs.Commands.AmendRecord ( amendrecord ) where
 import Data.List ( sort )
hunk ./src/Darcs/Commands/AmendRecord.lhs 66
 amendrecord_description :: String
 amendrecord_description =
  "Replace a patch with a better version before it leaves your repository."
-\end{code}
 
hunk ./src/Darcs/Commands/AmendRecord.lhs 67
-\options{amend-record}
-
-\haskell{amend-record_help}
-\begin{code}
 amendrecord_help :: String
 amendrecord_help =
  "Amend-record updates a `draft' patch with additions or improvements,\n" ++
hunk ./src/Darcs/Commands/Annotate.lhs 20
 
 \subsection{darcs annotate}
 \label{annotate}
+\darcsCommand{annotate}
 \begin{code}
 {-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -cpp #-}
hunk ./src/Darcs/Commands/Annotate.lhs 65
 import Printer ( putDocLn, text, errorDoc, ($$), prefix, (<+>),
                  Doc, empty, vcat, (<>), renderString, packedString )
 #include "impossible.h"
-\end{code}
 
hunk ./src/Darcs/Commands/Annotate.lhs 66
-\options{annotate}
-
-\haskell{annotate_description}
-\begin{code}
 annotate_description :: String
 annotate_description = "Display which patch last modified something."
hunk ./src/Darcs/Commands/Annotate.lhs 68
-\end{code}
-\haskell{annotate_help}
 
hunk ./src/Darcs/Commands/Annotate.lhs 69
-\begin{code}
 annotate_help :: String
 annotate_help =
  "Annotate displays which patches created or last modified a directory\n"++
hunk ./src/Darcs/Commands/Apply.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs apply}
+\darcsCommand{apply}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Apply.lhs 81
 apply_description :: String
 apply_description =
  "Apply patches (from an email bundle) to the repository."
-\end{code}
 
hunk ./src/Darcs/Commands/Apply.lhs 82
-\options{apply}
-
-\haskell{apply_help}
-\begin{code}
 apply_help :: String
 apply_help =
  "Apply is used to apply a bundle of patches to this repository.\n"++
hunk ./src/Darcs/Commands/Changes.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs changes}
+\darcsCommand{changes}
 \begin{code}
 {-# OPTIONS_GHC -cpp -fglasgow-exts #-}
 {-# LANGUAGE CPP, PatternGuards #-}
hunk ./src/Darcs/Commands/Changes.lhs 71
 import Darcs.SelectChanges ( view_changes )
 import Darcs.Sealed ( unsafeUnseal )
 #include "impossible.h"
-\end{code}
 
hunk ./src/Darcs/Commands/Changes.lhs 72
-\options{changes}
-\begin{code}
 changes_description :: String
 changes_description = "Gives a changelog-style summary of the repository history."
hunk ./src/Darcs/Commands/Changes.lhs 74
-\end{code}
-\haskell{changes_help}
-\begin{code}
+
 changes_help :: String
 changes_help =
  "Changes gives a changelog-style summary of the repository history,\n"++
hunk ./src/Darcs/Commands/Check.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs check}
+\darcsCommand{check}
 \begin{code}
 module Darcs.Commands.Check ( check ) where
 import Control.Monad ( when )
hunk ./src/Darcs/Commands/Check.lhs 39
 import Darcs.Diff ( unsafeDiff )
 import Darcs.Repository.Prefs ( filetype_function )
 import Printer ( putDocLn, text, ($$), (<+>) )
-\end{code}
 
hunk ./src/Darcs/Commands/Check.lhs 40
-\options{check}
-
-\haskell{check_description}
-\begin{code}
 check_description :: String
 check_description = "Check the repository for consistency."
 
hunk ./src/Darcs/Commands/Convert.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs convert}
+\darcsCommand{convert}
 \begin{code}
 {-# OPTIONS_GHC -cpp -fglasgow-exts #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Convert.lhs 77
  "Convert a repository to darcs-2 format."
 \end{code}
 
-\options{convert}
-
 You may specify the name of the repository created by providing a second
 argument to convert, which is a directory name.
 
hunk ./src/Darcs/Commands/Diff.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs diff}
+\darcsCommand{diff}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Diff.lhs 60
 import Darcs.Sealed ( unsafeUnseal )
 import Printer ( Doc, putDoc, vcat, empty, ($$) )
 #include "impossible.h"
-\end{code}
 
hunk ./src/Darcs/Commands/Diff.lhs 61
-\options{diff}
-\begin{code}
 diff_description :: String
 diff_description = "Create a diff between two versions of the repository."
hunk ./src/Darcs/Commands/Diff.lhs 63
-\end{code}
-\haskell{diff_help}
-\begin{code}
+
 diff_help :: String
 diff_help =
  "Diff can be used to create a diff between two versions which are in your\n"++
hunk ./src/Darcs/Commands/Dist.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs dist}
+\darcsCommand{dist}
 \begin{code}
 module Darcs.Commands.Dist ( dist ) where
 import System.Directory ( setCurrentDirectory )
hunk ./src/Darcs/Commands/Dist.lhs 49
 import Darcs.Utils ( withCurrentDirectory )
 import Exec ( exec, Redirect(..) )
 
-\end{code}
-\options{dist}
-\haskell{dist_help}
-\begin{code}
-
 dist_description :: String
 dist_description = "Create a distribution tarball."
 
hunk ./src/Darcs/Commands/Get.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs get}
+\darcsCommand{get}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Get.lhs 78
  "Create a local copy of another repository."
 \end{code}
 
-\options{get}
-
 If the remote repository and the current directory are in the same filesystem and
 that filesystem supports hard links, get will create hard links for the
 patch files, which means that the additional storage space needed will be
hunk ./src/Darcs/Commands/Help.lhs 20
 
 \subsection{darcs help}
 \label{help}
-
+\darcsCommand{help}
 \begin{code}
 module Darcs.Commands.Help ( help_cmd, command_control_list, print_version,
                              list_available_commands
hunk ./src/Darcs/Commands/Help.lhs 40
 import Printer ( text )
 import Workaround ( getCurrentDirectory )
 import qualified Darcs.TheCommands as TheCommands
-\end{code}
-
-\options{help}
 
hunk ./src/Darcs/Commands/Help.lhs 41
-\haskell{help_description}
-\begin{code}
 help_description :: String
 help_description = "Display help about darcs and darcs commands."
hunk ./src/Darcs/Commands/Help.lhs 43
-\end{code}
-\haskell{help_help} 
 
hunk ./src/Darcs/Commands/Help.lhs 44
-\begin{code}
 help_help :: String
 help_help =
  "Without arguments, `darcs help' prints a categorized list of darcs\n" ++
hunk ./src/Darcs/Commands/Init.lhs 18
 %  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 %  Boston, MA 02110-1301, USA.
 
-\subsection{darcs initialize}\label{initialize}
+\subsection{darcs initialize}
+\label{initialize}
+\darcsCommand{initialize}
 \begin{code}
 module Darcs.Commands.Init ( initialize, initialize_cmd ) where
 import Darcs.Commands ( DarcsCommand(..), nodefaults )
hunk ./src/Darcs/Commands/Init.lhs 27
 import Darcs.Arguments ( DarcsFlag, working_repo_dir,
                         inventory_choices )
 import Darcs.Repository ( amNotInRepository, createRepository )
-\end{code}
 
hunk ./src/Darcs/Commands/Init.lhs 28
-\options{initialize}
-
-\haskell{initialize_description}
-
-\begin{code}
 initialize_description :: String
 initialize_description = "Initialize a new source tree as a darcs repository."
 \end{code}
hunk ./src/Darcs/Commands/MarkConflicts.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs mark-conflicts}
+\darcsCommand{mark-conflicts}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/MarkConflicts.lhs 45
 markconflicts_description :: String
 markconflicts_description =
  "Mark any unresolved conflicts in working copy, for manual resolution."
-\end{code}
 
hunk ./src/Darcs/Commands/MarkConflicts.lhs 46
-\options{mark-conflicts}
-
-\haskell{mark-conflicts_help}
-
-\begin{code}
 markconflicts_help :: String
 markconflicts_help =
  "Darcs requires human guidance to unify changes to the same part of a\n" ++
hunk ./src/Darcs/Commands/Mv.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs mv}
+\darcsCommand{mv}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Mv.lhs 56
  "Move/rename one or more files or directories."
 \end{code}
 
-\options{mv}
-
-\haskell{mv_help} This is why ``mv'' isn't called ``move'', since it is
+``mv'' isn't called ``move'', because it is
 really almost equivalent to the unix command ``mv''.
 
 \begin{options}
hunk ./src/Darcs/Commands/Optimize.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs optimize}
+\darcsCommand{optimize}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Optimize.lhs 69
 optimize_description :: String
 optimize_description =
  "Optimize the repository."
-\end{code}
 
hunk ./src/Darcs/Commands/Optimize.lhs 70
-\options{optimize}
-
-\haskell{optimize_help}
-
-\begin{code}
 optimize_help :: String
 optimize_help =
  "Optimize can help to improve the performance of your repository in a number of cases.\n"
hunk ./src/Darcs/Commands/Pull.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs pull}
+\darcsCommand{pull}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Pull.lhs 67
 pull_description :: String
 pull_description =
  "Copy and apply patches from another repository to this one."
-\end{code}
 
hunk ./src/Darcs/Commands/Pull.lhs 68
-\options{pull}
-
-\haskell{pull_help}
-\begin{code}
 pull_help :: String
 pull_help =
  "Pull is used to bring changes made in another repository into the current\n"++
hunk ./src/Darcs/Commands/Push.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs push}
+\darcsCommand{push}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Push.lhs 61
 push_description :: String
 push_description =
  "Copy and apply patches from this repository to another one."
-\end{code}
 
hunk ./src/Darcs/Commands/Push.lhs 62
-\options{push}
-\haskell{push_help}
-\begin{code}
 push_help :: String
 push_help =
  "Push is the opposite of pull.  Push allows you to copy changes from the\n"++
hunk ./src/Darcs/Commands/Put.lhs 2
 \subsection{darcs put}
+\darcsCommand{put}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Put.lhs 41
 put_description :: String 
 put_description =
  "Makes a copy of the repository"
-\end{code}
-\options{put}
-\haskell{put_help}
-\begin{code}
+
 put_help :: String
 put_help =
  "The `darcs put' command creates a copy of the current repository.  It\n" ++
hunk ./src/Darcs/Commands/Record.lhs 20
 
 \subsection{darcs record}
 \label{record}
+\darcsCommand{record}
 \begin{code}
 {-# OPTIONS_GHC -cpp -fglasgow-exts #-}
 {-# LANGUAGE CPP, PatternGuards #-}
hunk ./src/Darcs/Commands/Record.lhs 79
  "Save changes in the working copy to the repository as a patch."
 \end{code}
 
-\options{record}
-
 If you provide one or more files or directories as additional arguments
 to record, you will only be prompted to changes in those files or
 directories.
hunk ./src/Darcs/Commands/Remove.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs remove}
+\darcsCommand{remove}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Remove.lhs 46
 remove_description :: String
 remove_description =
  "Remove one or more files or directories from the repository."
-\end{code}
 
hunk ./src/Darcs/Commands/Remove.lhs 47
-\options{remove}
-
-\haskell{remove_help}
-
-\begin{code}
 remove_help :: String
 remove_help =
  "Remove should be called when you want to remove a file from your project,\n"++
hunk ./src/Darcs/Commands/Repair.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs repair}
+\darcsCommand{repair}
 \begin{code}
 module Darcs.Commands.Repair ( repair ) where
 import System.IO
hunk ./src/Darcs/Commands/Repair.lhs 32
                           replacePristineFromSlurpy, writePatchSet )
 import Darcs.Repository.Repair( replayRepository,
                                 RepositoryConsistency(..) )
-\end{code}
 
hunk ./src/Darcs/Commands/Repair.lhs 33
-\options{repair}
-\begin{code}
 repair_description :: String
 repair_description = "Repair a corrupted repository."
hunk ./src/Darcs/Commands/Repair.lhs 35
-\end{code}
-\haskell{repair_help}
 
hunk ./src/Darcs/Commands/Repair.lhs 36
-\begin{code}
 repair_help :: String
 repair_help =
  "The `darcs repair' command attempts to fix corruption in the current\n" ++
hunk ./src/Darcs/Commands/Replace.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs replace}
+\darcsCommand{replace}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Replace.lhs 56
 replace_description :: String
 replace_description =
  "Replace a token with a new value for that token."
-\end{code}
-
-\options{replace}
-
-\haskell{replace_help}
 
hunk ./src/Darcs/Commands/Replace.lhs 57
+\end{code}
 The default regexp is \verb![A-Za-z_0-9]!), and if one of your tokens
 contains a `\verb|-|' or `\verb|.|', you will then (by default) get the ``filename''
 regexp, which is \verb![A-Za-z_0-9\-\.]!.
hunk ./src/Darcs/Commands/Revert.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs revert}
+\darcsCommand{revert}
 \begin{code}
 module Darcs.Commands.Revert ( revert ) where
 import System.Exit ( ExitCode(..), exitWith )
hunk ./src/Darcs/Commands/Revert.lhs 53
 revert_description =
  "Revert to the recorded version (not always reversible)."
 \end{code}
-
-\options{revert}
-
-\haskell{revert_help} The actions of a revert may be reversed using the
+The actions of a revert may be reversed using the
 unrevert command (see subsection~\ref{unrevert}).  However, if you've made
 changes since the revert your mileage may vary, so please be careful.
 
hunk ./src/Darcs/Commands/Rollback.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs rollback}
+\darcsCommand{rollback}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Rollback.lhs 66
  "Record a new patch reversing some recorded changes."
 \end{code}
 
-\options{rollback}
-
-\haskell{rollback_help} If you decide you didn't want to roll back a patch
+If you decide you didn't want to roll back a patch
 after all, you can reverse its effect by obliterating the rolled-back patch.
 
 Rollback can actually allow you to roll back a subset of the changes made
hunk ./src/Darcs/Commands/Send.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs send}
+\darcsCommand{send}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Send.lhs 78
 send_description :: String
 send_description =
  "Send by email a bundle of one or more patches."
-\end{code}
 
hunk ./src/Darcs/Commands/Send.lhs 79
-\options{send}
-
-\haskell{send_help}
-\begin{code}
 send_help :: String
 send_help =
  "Send is used to prepare a bundle of patches that can be applied to a target\n"++
hunk ./src/Darcs/Commands/SetPref.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs setpref}
+\darcsCommand{setpref}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/SetPref.lhs 47
 
 valid_prefs :: [String]
 valid_prefs = map fst valid_pref_data
-\end{code}
 
hunk ./src/Darcs/Commands/SetPref.lhs 48
-\options{setpref}
-\haskell{setpref_description}
-\begin{code}
 setpref_description :: String
 setpref_description = "Set the value of a preference (" ++ ps ++ ")."
     where ps = iter valid_prefs
hunk ./src/Darcs/Commands/SetPref.lhs 72
  "to perform regression tests, might enable Darcs' integrated regression\n" ++
  "testing with the following command:\n" ++
  "\n" ++
- "  darcs setpref test 'autoconf && ./configure && make && make test'\n" ++
+ "  darcs setpref test 'autoconf; ./configure; make; make test'\n" ++
+-- This should really use && but that upsets TeX.  For now use se
+-- "  darcs setpref test 'autoconf && ./configure && make && make test'\n" ++
  "\n" ++
  "Note that merging is not currently implemented for preferences: if two\n" ++
  "patches attempt to set the same preference, the last patch applied to\n" ++
hunk ./src/Darcs/Commands/ShowAuthors.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsubsection{darcs show authors}
+\darcsCommand{show authors}
 \begin{code}
 module Darcs.Commands.ShowAuthors ( show_authors ) where
 
hunk ./src/Darcs/Commands/ShowAuthors.lhs 33
 import Darcs.Patch.Info ( pi_author )
 import Darcs.Ordered ( mapRL, concatRL )
 import Printer ( text )
-\end{code}
 
hunk ./src/Darcs/Commands/ShowAuthors.lhs 34
-\options{show authors}
-
-\haskell{show_authors_help}
-
-\begin{code}
 show_authors_description :: String
 show_authors_description = "Show all authors in the repository."
 
hunk ./src/Darcs/Commands/ShowBug.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs show bug}
+\darcsCommand{show bug}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/ShowBug.lhs 30
 import Darcs.Arguments ( DarcsFlag, working_repo_dir )
 import Darcs.Repository ( findRepository )
 #include "impossible.h"
-\end{code}
 
hunk ./src/Darcs/Commands/ShowBug.lhs 31
-\options{show bug}
-\begin{code}
 show_bug_description :: String
 show_bug_description = "Pretends to be a bug in darcs."
hunk ./src/Darcs/Commands/ShowBug.lhs 33
-\end{code}
-\haskell{show_bug_help}
-\begin{code}
+
 show_bug_help :: String
 show_bug_help =
   "Show bug can be used to see what darcs would show you if you encountered.\n"
hunk ./src/Darcs/Commands/ShowContents.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsubsection{darcs show contents}
+\darcsCommand{show contents}
 \begin{code}
 module Darcs.Commands.ShowContents ( show_contents ) where
 
hunk ./src/Darcs/Commands/ShowContents.lhs 39
 import Darcs.Repository ( withRepository, ($-), findRepository,
                           createPartialsPristineDirectoryTree )
 import Darcs.Lock ( withTempDir )
-\end{code}
 
hunk ./src/Darcs/Commands/ShowContents.lhs 40
-\options{show contents}
-\begin{code}
 show_contents_description :: String
 show_contents_description = "Outputs a specific version of a file."
hunk ./src/Darcs/Commands/ShowContents.lhs 42
-\end{code}
-\haskell{show_contents_help}
-\begin{code}
+
 show_contents_help :: String
 show_contents_help =
   "Show contents can be used to display an earlier version of some file(s).\n"++
hunk ./src/Darcs/Commands/ShowFiles.lhs 20
 
 \subsubsection{darcs show files}
 \label{show-files}
+\darcsCommand{show files}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/ShowFiles.lhs 33
                           withRepository )
 import Darcs.Patch ( RepoPatch )
 import Darcs.SlurpDirectory ( Slurpy, list_slurpy, list_slurpy_files, list_slurpy_dirs )
-\end{code}
-
-\options{show files}
-
-\haskell{show_files_help}
 
hunk ./src/Darcs/Commands/ShowFiles.lhs 34
+\end{code}
 By default (and if the \verb!--pending! option is specified),
 the effect of pending patches on the repository is taken into account.
 In other words, if you add a file using {\tt darcs add}, it
hunk ./src/Darcs/Commands/ShowRepo.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsubsection{darcs show repo}
-%%\label{show-repo}
-
-\options{show repo}
+\darcsCommand{show repo}
 
 The \verb!show repo! displays information about
 the current repository: the location, the type, etc.
hunk ./src/Darcs/Commands/ShowRepo.lhs 58
 show_repo_help =
  "The repo command displays information about the current repository\n" ++
  "(location, type, etc.).  Some of this information is already available\n" ++
- "by inspecting files within the "++darcsdir++" directory and some is internal\n" ++
+ "by inspecting files within the \\_darcs directory and some is internal\n" ++
  "information that is informational only (i.e. for developers).  This\n" ++
  "command collects all of the repository information into a readily\n" ++
  "available source.\n"
hunk ./src/Darcs/Commands/ShowTags.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsubsection{darcs show tags}
+\darcsCommand{show tags}
 \begin{code}
 module Darcs.Commands.ShowTags ( show_tags ) where
 import Darcs.Arguments ( DarcsFlag(..), working_repo_dir )
hunk ./src/Darcs/Commands/ShowTags.lhs 30
 import Darcs.Ordered ( mapRL, concatRL )
 import System.IO ( stderr, hPutStrLn )
 -- import Printer ( renderPS )
-\end{code}
 
hunk ./src/Darcs/Commands/ShowTags.lhs 31
-\options{show tags}
-
-\haskell{show_tags_help}
-
-Tab characters (ASCII character 9) in tag names are changed to spaces
-for better interoperability with shell tools.  A warning is printed if
-this happens.
-
-\begin{code}
 show_tags_description :: String
 show_tags_description = "Show all tags in the repository."
 
hunk ./src/Darcs/Commands/ShowTags.lhs 37
 show_tags_help :: String
 show_tags_help =
  "The tags command writes a list of all tags in the repository to standard\n"++
- "output."
+ "output.\n" ++
+ "\n" ++
+ "Tab characters (ASCII character 9) in tag names are changed to spaces\n" ++
+ "for better interoperability with shell tools.  A warning is printed if\n" ++
+ "this happens."
 
 show_tags :: DarcsCommand
 show_tags = DarcsCommand {
hunk ./src/Darcs/Commands/Tag.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs tag}
+\darcsCommand{tag}
 \begin{code}
 module Darcs.Commands.Tag ( tag ) where
 import Control.Monad ( when )
hunk ./src/Darcs/Commands/Tag.lhs 47
 import Darcs.Flags ( DarcsFlag(..) )
 import System.IO ( hPutStr, stderr )
 
-\end{code}
-\haskell{tag_description}
-\options{tag}
-\haskell{tag_help}
-\begin{code}
-
 tag_description :: String
 tag_description = "Name the current repository state for future reference."
 
hunk ./src/Darcs/Commands/TrackDown.lhs 19
 %  Boston, MA 02110-1301, USA.
 
 \subsection{darcs trackdown}
+\darcsCommand{trackdown}
 \begin{code}
 module Darcs.Commands.TrackDown ( trackdown ) where
 import Prelude hiding ( init )
hunk ./src/Darcs/Commands/TrackDown.lhs 39
 import Printer ( putDocLn )
 import Darcs.Test ( get_test )
 import Darcs.Lock ( withTempDir )
-\end{code}
 
hunk ./src/Darcs/Commands/TrackDown.lhs 40
-\options{trackdown}
-
-\begin{code}
 trackdown_description :: String
 trackdown_description = "Locate the most recent version lacking an error."
hunk ./src/Darcs/Commands/TrackDown.lhs 42
-\end{code}
 
hunk ./src/Darcs/Commands/TrackDown.lhs 43
-\haskell{trackdown_help}
-
-\begin{code}
 trackdown_help :: String
 trackdown_help =
  "Trackdown tries to find the most recent version in the repository which\n"++
hunk ./src/Darcs/Commands/TransferMode.lhs 18
 %  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 %  Boston, MA 02110-1301, USA.
 
-\subsection{darcs changes}
+\subsection{darcs transfer-mode}
+\darcsCommand{transfer-mode}
 \begin{code}
 {-# OPTIONS_GHC -cpp -fglasgow-exts #-}
 {-# LANGUAGE CPP, PatternGuards #-}
hunk ./src/Darcs/Commands/TransferMode.lhs 39
 import Darcs.Global ( darcsdir )
 
 import qualified Data.ByteString as B (hPut, readFile, length, ByteString)
-\end{code}
 
hunk ./src/Darcs/Commands/TransferMode.lhs 40
-\options{transfer_mode}
-\begin{code}
 transfer_mode_description :: String
 transfer_mode_description = "Internal command for efficient ssh transfers."
hunk ./src/Darcs/Commands/TransferMode.lhs 42
-\end{code}
-\haskell{transfer_mode_help}
-\begin{code}
+
 transfer_mode_help :: String
 transfer_mode_help =
  "When pulling from or pushing to a remote repository over ssh, if both\n" ++
hunk ./src/Darcs/Commands/Unrecord.lhs 20
 
 \subsection{darcs unrecord}
 \label{unrecord}
+\darcsCommand{unrecord}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Unrecord.lhs 62
  "Remove recorded patches without changing the working copy."
 \end{code}
 
-\options{unrecord}
-
-\haskell{unrecord_help}
-
 Unrecord can be thought of as undo-record.
 If a record is followed by an unrecord, everything looks like before
 the record; all the previously unrecorded changes are back, and can be
hunk ./src/Darcs/Commands/Unrecord.lhs 202
 
 unpull_cmd :: [DarcsFlag] -> [String] -> IO ()
 unpull_cmd = generic_obliterate_cmd "unpull"
-\end{code}
-
-
 
hunk ./src/Darcs/Commands/Unrecord.lhs 203
+\end{code}
 \subsection{darcs obliterate}
hunk ./src/Darcs/Commands/Unrecord.lhs 205
-
+\darcsCommand{obliterate}
 \begin{code}
hunk ./src/Darcs/Commands/Unrecord.lhs 207
+
 obliterate_description :: String
 obliterate_description =
  "Delete selected patches from the repository. (UNSAFE!)"
hunk ./src/Darcs/Commands/Unrecord.lhs 218
  "The changes will be undone in your working copy and the patches will not be\n"++
  "shown in your changes list anymore.\n"++
  "Beware that you can lose precious code by obliterating!\n"
-\end{code}
-
-\options{obliterate}
-
-\haskell{obliterate_help}
 
hunk ./src/Darcs/Commands/Unrecord.lhs 219
+\end{code}
 Obliterate deletes a patch from the repository \emph{and} removes those
 changes from the working directory.  It is therefore a \emph{very
 dangerous} command.  When there are no local changes, obliterate is
hunk ./src/Darcs/Commands/Unrevert.lhs 18
 %  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 %  Boston, MA 02110-1301, USA.
 
-\subsection{darcs unrevert}\label{unrevert}
+\subsection{darcs unrevert}
+\label{unrevert}
+\darcsCommand{unrevert}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/Unrevert.lhs 61
 unrevert_description :: String
 unrevert_description =
  "Undo the last revert (may fail if changes after the revert)."
-\end{code}
 
hunk ./src/Darcs/Commands/Unrevert.lhs 62
-\options{unrevert}
-
-\haskell{unrevert_help}
-\begin{code}
 unrevert_help :: String
 unrevert_help =
  "Unrevert is a rescue command in case you accidentally reverted\n" ++
hunk ./src/Darcs/Commands/WhatsNew.lhs 20
 
 \subsection{darcs whatsnew}
 \label{whatsnew}
+\darcsCommand{whatsnew}
 \begin{code}
 {-# OPTIONS_GHC -cpp #-}
 {-# LANGUAGE CPP #-}
hunk ./src/Darcs/Commands/WhatsNew.lhs 59
 
 import Printer ( putDocLn, renderString, vcat, text )
 #include "impossible.h"
-\end{code}
 
hunk ./src/Darcs/Commands/WhatsNew.lhs 60
-\options{whatsnew}
-
-\haskell{whatsnew_description}
-\begin{code}
 whatsnew_description :: String
 whatsnew_description = "List unrecorded changes in the working tree."
 
hunk ./src/darcs.tex 32
 
 % Definition of title page:
 \title{Darcs User Manual}
-\date{\haskell{darcs_version}
+\date{
+\darcsVersion
 } % icky newline before closing brace is to appease preproc.hs.
 \author{David Roundy}
 
hunk ./src/preproc.hs 5
 import System.Environment ( getArgs )
 import System.Exit ( exitWith, ExitCode(..) )
 import Text.Regex ( matchRegex, mkRegex )
-
+import Data.Maybe ( isJust )
 import Darcs.Commands ( DarcsCommand(SuperCommand,
                         command_sub_commands, command_name,
                         command_extra_arg_help, command_basic_options,
hunk ./src/preproc.hs 62
                                         -- darcs executable
                       this <- preproc $ lines cs
                       return $ this ++ rest
-    _ -> case matchRegex (mkRegex "^(.*)\\\\haskell\\{(.+)\\}(.*)$") s of
-         Just (before:var:after:_) ->
-             case breakLast '_' var of
-             (cn,"help") -> return $ (before++gh cn++after):rest
-             (cn,"description") -> return $ (before++gd cn++after):rest
-             ("darcs","version") -> return $ (before++darcs_version++after):rest
-             aack -> error $ show aack
-         _ -> case matchRegex (mkRegex "^(.*)\\\\options\\{(.+)\\}(.*)$") s of
-              Just (before:comm:after:_) ->
-                  return $ (before++get_options comm++after):rest
-              _ ->  case matchRegex (mkRegex "^(.*)\\\\example\\{(.+)\\}(.*)$") s of
+    _ -> if isJust $ matchRegex (mkRegex "\\\\darcsVersion") s
+         then return $ darcs_version:rest
+         else
+         case matchRegex (mkRegex "^(.*)\\\\darcsCommand\\{(.+)\\}(.*)$") s of
+         Just (before:cn:after:_) ->
+             return $ (before++gh cn++get_options cn++gd cn++after):rest
+         _ ->       case matchRegex (mkRegex "^(.*)\\\\example\\{(.+)\\}(.*)$") s of
                     Just (before:fn:after:_) -> do
                         filecont <- readFile fn -- ratify readFile: not part of
                                                 -- darcs executable
hunk ./src/preproc.hs 76
                                   filecont++"\\end{verbatim}"
                                   ++after):rest
                     _ -> return $ s : rest
-  where breakLast chr str = (reverse $ tail l, reverse f)
-            where (f, l) = break (==chr) $ reverse str
 
 preproc [] = return []
 
hunk ./src/preproc.hs 116
                  -> String
 command_property property commands name =
     property $ last c
-    where words_ :: String -> [String] -- "word" with '_' instead of spaces
-          words_ s =
-              case dropWhile (=='_') s of
-                       "" -> []
-                       s' -> w : words_ s''
-                           where (w, s'') = break (=='_') s'
-          names = words_ name
+    where names = words name
           c = get_c names commands
 
 gh :: String -> String

Context:

[Remove LANGUAGE GADTs pragma in Darcs.Show (GHC 6.6 compatibility)
Eric Kow <[email protected]>**20090122102846
 Ignore-this: 488aa7c372f5deee415ae2bae0c578ac
] 
[Remove duplication in fields in the .cabal file
Duncan Coutts <[email protected]>**20090122021052
 Looks like it was a copy and paste error.
] 
[Remove unused ghc -threaded flag in library section
Duncan Coutts <[email protected]>**20090122021038
 The -threaded flag applies only to linking programs.
 Despte this, ghc regects the combinaton of using the -threaded
 and profiling flags, even for building a library. New Cabal
 versions will ignore the -threaded flag when building programs
 but not for libs because that combination is senseless. So there
 is a positive benefit to dropping it from the darcs library as
 it will let people build a profiling darcs with ghc-6.8 without
 having to modify the .cabal file to drop the -threaded flag.
] 
[Clean up after shell harness.
Trent W. Buck <[email protected]>**20090122050123
 We were only cleaning .o and .hi files within src.  Doing "make test"
 results in some .o and .hi files elsewhere.  We should add these
 directories to the "find src" calls above, but this hack is easier to
 understand and should suffice until we finish switching to Cabal.
] 
[Syntax highlighting for new-style NEWS entries.
Trent W. Buck <[email protected]>**20090122064107] 
[NEWS for Darcs 2.2.0.
Trent W. Buck <[email protected]>**20090122064014] 
[Use conventional name "NEWS" for "new in $version" notes.
Trent W. Buck <[email protected]>**20090122063959] 
[Resolve issue1292: re-encode line input from the Haskeline backend.
Judah Jacobson <[email protected]>**20090121172422
 Ignore-this: e6c94db8cbef0f8fa3f3d0011c6ef88f
 This patch bumps dependencies to haskeline-0.6.* (which provides the required
 functionality) and terminfo-0.3.* (which is required by that version of
 Haskeline).  Haskeline is also enabled by default now that non-ASCII line input
 works correctly.
] 
[mv -fglasgow-exts to Darcs.Show
[email protected]**20090120150052
 Ignore-this: 21000375294de932f303baadba815b8b
] 
[Remove obsolete import.
Trent W. Buck <[email protected]>**20090118014801
 Ignore-this: d6bd196c7d088b7e7121637d7c1b1323
] 
[Haddocks for HashedIO
[email protected]**20090116170955
 Ignore-this: 1c54191a243bd11d6d22d74600251587
] 
[Haddocks for Cache
[email protected]**20090116170931
 Ignore-this: 3aa035bd5f805929113a616df9faefb6
] 
[Haddock for Darcs.External.fetchFile
[email protected]**20090116170742
 Ignore-this: 96041231ca2800c3fcde4f56ec49e267
] 
[Refactor initial argument dispatcher.
Trent W. Buck <[email protected]>**20090117081533
 Ignore-this: fe101e61cc7b46a8c6b4415f08c737b
] 
[Simplify some of my own code.
Trent W. Buck <[email protected]>**20090117015505
 Ignore-this: 42a7df5c21ae0416441572380490e127
] 
[Refactor: use more guards.
Trent W. Buck <[email protected]>**20090115072617
 Ignore-this: b41bb970198ed1f42aebdfc63c90e115
] 
[Resolve issue1311:  Use time zones from GNU coreutils; improve doc.
Dave Love <[email protected]>**20090112135012
 Ignore-this: 883bc4ccdb1d27fde14ec9c76a4d2a45
] 
[omit empty line at the end of output in darcs diff
Christian Kellermann <[email protected]>**20090114110607
 Ignore-this: d71a3d5460fbe21244c4eba77dc47885
] 
[Clean up when previous test crashed.
Trent W. Buck <[email protected]>**20090113001345] 
[Make "make clean" remove microbench.
Trent W. Buck <[email protected]>**20090111152130
 Put the clean target directly below the build target, so it's harder
 to get them out of sync in future.
] 
[Fix test optimize_relink.sh when no hard linking available
Thorkil Naur <[email protected]>**20090113223335
 The semicolon in the echo command causes the test to fail with the
 message
 
 > optimize_relink.sh: line 37: assuming: command not found
 
 when no hard linking is available.
] 
[Consistently use sh (not csh) prompts in user manual.
Trent W. Buck <[email protected]>**20090111114801
 
 The sh prompt ($) was already used elsewhere in the manual, and I
 choose to standardize on it instead of csh (%) because sh (especially
 bash) seems more widespread and recognizable as the user shell prompt.
] 
[resolve issue1270: don't show the motd when --xml-output is given
[email protected]**20090109090726
 Ignore-this: e1dae49ceb510668a1358e2103268cc3
] 
[Get setpref description in manual.
Dave Love <[email protected]>**20090111151941
 Ignore-this: 89b0d00a82582d03fdf51cd9822dba65
] 
[Example for issue1284.
Trent W. Buck <[email protected]>**20090111051101] 
[resolve issue1235: added --summary to obliterate
Rob Hoelz <[email protected]>**20090110032907] 
[Haddock for Darcs.Repository.Format
Florent Becker <[email protected]>**20090108160035
 Ignore-this: f88f0223ebbbe5694845dd1060e6f978
] 
[Remove stale comment (we now require GHC 6.6)
Eric Kow <[email protected]>**20081231080929
 Ignore-this: b19da9fabc8d2e38bccafc84a77fa278
] 
[do not use concatenation in src/Context.hs
Florent Becker <[email protected]>**20090107135552
 Ignore-this: 9e86505a445730b7653e75f08e8ff81e
] 
[Print malicious paths and optional way around them when they cause a failure.
David Caldwell <[email protected]>**20090105101628
 Ignore-this: cdb706087869e19e046bc0dd424ca38d
] 
[Fix typo in --dont-restrict-paths documentation.
David Caldwell <[email protected]>**20090105024208
 Ignore-this: 16197eeef34dedddeda036b47747f234
] 
[Add --restrict-paths (and --dont-restrict-paths) to "darcs apply".
David Caldwell <[email protected]>**20090102101737
 Ignore-this: f6ab937573bf0d5397361ddefed902c9
] 
[Add --restrict-paths (and --dont-restrict-paths) to "darcs pull".
David Caldwell <[email protected]>**20090102101726
 Ignore-this: dd3bc04632d341be16709e0aee6753ec
] 
[Revert --restrict-paths removal.
David Caldwell <[email protected]>**20090102101705
 Ignore-this: 1fba1f9a589aaabb1fa27a268f7c972e
] 
[Resolve issue1302: set closed bugs to resolved (not resolved-in-unstable).
Trent W. Buck <[email protected]>**20090105001351] 
[make stringify cut the string
[email protected]**20090104102125
 Ignore-this: e1a0cd83fce5085f60b812d894ca26e7
 This avoids choking utilities such as grep (or emacs' internal grep) which parse haskell files line-by-line.
] 
[make unit's return value depend on all tests
Florent Becker <[email protected]>**20090102184930
 Ignore-this: fce3636c70bcb4a80413823c88e3ac6a
] 
[Resolve issue1285: remove "cabal test" intermediaries.
Trent W. Buck <[email protected]>**20090103095347] 
[Resolve issue1206: Countable Nouns.
Trent W. Buck <[email protected]>**20090101062452
 Use the conventional term "Countable" instead of "Numbered".
] 
[Improve readability of bug reporting.
Trent W. Buck <[email protected]>**20081226120833
 Moving "at <location>" to the first line gives the descriptive string
 a line all to itself.  For example, darcs show bug:
 
     darcs: bug at src/Darcs/Commands/ShowBug.lhs:57 compiled Nov  4 2008 12:05:43
     This is actually a fake bug in darcs.
] 
[Use imperative mood for primitive matcher help.
Trent W. Buck <[email protected]>**20081228114434] 
[Check GADT witnesses when doing Cabal-based builds.
Petr Rockai <[email protected]>**20081228111229] 
[Fix haddock error
Eric Kow <[email protected]>**20081227204218
 Ignore-this: 60f05d20e5f37312f6b477067114fac7
] 
[Haddock for primitiveMatchers (untested).
Trent W. Buck <[email protected]>**20081227141921] 
[Rewrite primitive matcher examples.
Trent W. Buck <[email protected]>**20081227141845] 
[Rewrite "darcs help --match" output.
Trent W. Buck <[email protected]>**20081227141819
 Add an introductory paragraph, and put all the examples into a single
 code block, since one-line paragraphs are kind hard to read.
] 
[Delete superfluous "Introduction" headings.
Trent W. Buck <[email protected]>**20081227034129
 I don't think it's useful to grant a subsection heading to the single
 introductory paragraph of a section.
] 
[Refactor error text for readability.
Trent W. Buck <[email protected]>**20081109144007] 
[Tweak user manual's title page.
Trent W. Buck <[email protected]>**20081227011031
 It annoyed me that the user manual was just called "Darcs", not "Darcs
 User Manual".
] 
[Improve readability of bug reporting.
Trent W. Buck <[email protected]>**20081226104243
 Moving "at <location>" to the first line gives the descriptive string
 a line all to itself.  For example, darcs show bug:
 
     darcs: bug at src/Darcs/Commands/ShowBug.lhs:57 compiled Nov  4 2008 12:05:43
     This is actually a fake bug in darcs.
] 
[Haddockize developer comment.
Trent W. Buck <[email protected]>**20081214041902] 
[Darcs.ColorPrinter: factor out getPolicy call
[email protected]**20081222180227
 Ignore-this: aee5b5415ee8bbfe1dac06e240b90080
 Less redundancy. 'getPolicy' is being called with the same args, and it's
 not like the environmental variables are going to change in between each
 call.
] 
[Make it possible to run just specific tests from cabal commandline.
Petr Rockai <[email protected]>**20081223083742
 
 All of `cabal test repair-corrupt bugs/newlines bugs/issue27.sh` should work as
 expected. The implementation is not very efficient, but seems to work fine.
] 
[Neatify "cabal test" option munging in Setup.lhs.
Petr Rockai <[email protected]>**20081223080811] 
[Sort the list of tests that are run by cabal.
Petr Rockai <[email protected]>**20081223073642] 
[Remove now-unused replacePristine.
Petr Rockai <[email protected]>**20081210065138] 
[resolve issue948: rewrite darcsman.
Trent W. Buck <[email protected]>**20081221081934
 
 Significant changes are:
 
  - Avoid duplicating groups from TheCommands.
  - Due to growing command_helps, list commands in SYNOPSIS.
  - Use subsections (.SS) for groups.
  - Include (with fancy markup!) command arguments.
  - Include darcs help --match.
  - Copy-and-paste description from darcs.cabal.
  - Remove AUTHORS section as suggested by man-pages(7).
  - Declare my copyright.
 
] 
[Tweak punctuation in "darcs help --match".
Trent W. Buck <[email protected]>**20081221080949
 
 Manpages treat apostrophes in the first line specially.  Use `TeX
 style' quotes instead, so this string can be included in the manpage.
 
 Also omit mention of &&, || and ! until I find time to clarify that
 they are aliases for the human-readable and, or and not.
] 
[TAG 2.2.0
Petr Rockai <[email protected]>**20090115150916] 
Patch bundle hash:
93751b34a540e02ad6cd61b198c5e332629293e3
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to