Hello,

I decided to go ahead and implement the --logfile and --delete-logfile
support for send, as mentioned in my previous email.  The first patch
is just a resend of the one in that same previous email.

Because these patches use a file for an email and not for a long
description, I also am attaching a patch that renames the options to a
more generic '--file' and '--delete-file'.  I am unsure of how people
feel about this, so please let me know if you would rather I did it
another way.

If the third and fourth patches aren't accepted then the second patch
needs to be changed because --logfile and --delete-logfile don't make
sense in the context of send.

Sat Jan 14 15:48:26 EST 2006  Zachary P. Landau <[EMAIL PROTECTED]>
  * Save email description file if a send fails

Sat Jan 14 16:45:10 EST 2006  Zachary P. Landau <[EMAIL PROTECTED]>
  * Add --logfile and --delete-logfile options to send command.

Sat Jan 14 17:01:39 EST 2006  Zachary P. Landau <[EMAIL PROTECTED]>
  * Rename --logfile and --delete-logfile commands to --file and --delete-file

Sat Jan 14 17:06:52 EST 2006  Zachary P. Landau <[EMAIL PROTECTED]>
  * Update tests to use --logfile instead of --file

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


New patches:

[Save email description file if a send fails
Zachary P. Landau <[EMAIL PROTECTED]>**20060114204826] 
<
> {
hunk ./Send.lhs 20
 \begin{code}
 module Send ( send ) where
 import System ( exitWith, ExitCode( ExitSuccess ) )
+import System.Directory ( removeFile )
 import Monad ( when, unless, liftM )
hunk ./Send.lhs 22
- -import Maybe ( catMaybes )
+import Maybe ( catMaybes, isJust )
 
 import DarcsCommands ( DarcsCommand(..) )
 import DarcsArguments ( DarcsFlag( EditDescription, Target,
hunk ./Send.lhs 48
 import RepoPrefs ( defaultrepo, set_defaultrepo, get_preflist )
 import External ( signString, sendEmailDoc, fetchFilePS, Cachable(..) )
 import FastPackedString ( unpackPS, mmapFilePS )
- -import Lock ( writeDocBinFile, readDocBinFile, withTemp )
+import Lock ( writeDocBinFile, readDocBinFile, world_readable_temp )
 import SelectChanges ( with_selected_changes )
 import Depends ( get_common_and_uncommon )
 import PatchBundle ( make_bundle, scan_context )
hunk ./Send.lhs 56
 import Email ( make_email )
 import Printer ( Doc, vsep, vcat, text, ($$), putDocLn, putDoc )
 import FileName ( patch_filename )
+import IO
 #include "impossible.h"
 \end{code}
 \begin{code}
hunk ./Send.lhs 171
            let thesubject = case get_subject opts of
                             Nothing -> auto_subject to_be_sent
                             Just subj -> subj
- -           mailcontents <- get_description opts to_be_sent
- -           sendEmailDoc from (lt thetargets) (thesubject) (get_cc opts)
+           (mailcontents, mailfile) <- get_description opts to_be_sent
+           (sendEmailDoc from (lt thetargets) (thesubject) (get_cc opts)
                           (get_sendmail_cmd opts) mailcontents
                           bundle $ make_email their_name mailcontents
                           bundle (patch_filename $ patch_desc $
hunk ./Send.lhs 176
- -                          head to_be_sent)
+                          head to_be_sent))
+                          `catch` \e -> let
+                              msg = "Email body left in " in do
+                              when (isJust mailfile) $
+                                  putStrLn $ msg ++ (fromJust mailfile) ++ "."
+                              fail $ ioeGetErrorString e
+           when (isJust mailfile) $
+                removeFile $ fromJust mailfile
            putInfo $ "Successfully sent patch bundle to: "++lt thetargets++"."
                where lt [t] = t
                      lt [t,""] = t
hunk ./Send.lhs 322
 \end{verbatim}
 
 \begin{code}
- -get_description :: [DarcsFlag] -> [Patch] -> IO Doc
+get_description :: [DarcsFlag] -> [Patch] -> IO (Doc, Maybe String)
 get_description opts patches =
     if EditDescription `elem` opts
hunk ./Send.lhs 325
- -    then withTemp $ \f -> do writeDocBinFile f patchdesc
- -                             edit_file f
- -                             readDocBinFile f
- -    else return patchdesc
+    then do f <- world_readable_temp "darcs-temp-mail"
+            writeDocBinFile f patchdesc
+            edit_file f
+            doc <- readDocBinFile f
+            return (doc, Just f)
+    else return (patchdesc, Nothing)
     where patchdesc = vsep $ map patch_description patches
 \end{code}
}
[Add --logfile and --delete-logfile options to send command.
Zachary P. Landau <[EMAIL PROTECTED]>**20060114214510] 
<
> {
hunk ./Send.lhs 22
 import System ( exitWith, ExitCode( ExitSuccess ) )
 import System.Directory ( removeFile )
 import Monad ( when, unless, liftM )
- -import Maybe ( catMaybes, isJust )
+import Maybe ( catMaybes, isJust, isNothing )
 
 import DarcsCommands ( DarcsCommand(..) )
hunk ./Send.lhs 25
- -import DarcsArguments ( DarcsFlag( EditDescription, Target,
- -                                   Output, Context, DryRun,
+import DarcsArguments ( DarcsFlag( EditDescription, LogFile, RmLogFile,
+                                   Target, Output, Context, DryRun,
                                    Verbose, Quiet
                                  ),
                         edit_file, get_cc, get_author, working_repo_dir,
hunk ./Send.lhs 30
- -                        edit_description, sign, get_subject,
+                        edit_description, logfile, rmlogfile,
+                        sign, get_subject,
                         match_several, set_default,
                         output, cc, subject, target, author, sendmail_cmd,
                         all_gui_interactive, get_sendmail_cmd,
hunk ./Send.lhs 97
                                              unified, dry_run, summary,
                                              send_to_context,
                                              edit_description,
+                                             logfile, rmlogfile,
                                              set_default, working_repo_dir,
                                              sendmail_cmd]}
 \end{code}
hunk ./Send.lhs 185
                                   putStrLn $ msg ++ (fromJust mailfile) ++ "."
                               fail $ ioeGetErrorString e
            when (isJust mailfile) $
- -                removeFile $ fromJust mailfile
+                case get_fileopt opts of
+                    Just _  -> when (RmLogFile `elem` opts) $
+                                    remove_log mailfile
+                    Nothing -> remove_log mailfile
            putInfo $ "Successfully sent patch bundle to: "++lt thetargets++"."
                where lt [t] = t
                      lt [t,""] = t
hunk ./Send.lhs 194
                      lt (t:ts) = t++" , "++lt ts
                      lt [] = ""
+                     where remove_log l = (removeFile $ fromJust l)
+                                              `catch` \_ -> return ()
 \end{code}
 
 \begin{options}
hunk ./Send.lhs 331
 \begin{code}
 get_description :: [DarcsFlag] -> [Patch] -> IO (Doc, Maybe String)
 get_description opts patches =
- -    if EditDescription `elem` opts
- -    then do f <- world_readable_temp "darcs-temp-mail"
- -            writeDocBinFile f patchdesc
- -            edit_file f
- -            doc <- readDocBinFile f
- -            return (doc, Just f)
- -    else return (patchdesc, Nothing)
+    case get_filename of
+        Just f -> do file <- f
+                     when (EditDescription `elem` opts) $ do
+                       when (isNothing $ get_fileopt opts) $
+                            writeDocBinFile file patchdesc
+                       edit_file file
+                       return ()
+                     doc <- readDocBinFile file
+                     return (doc, Just file)
+        Nothing -> return (patchdesc, Nothing)
     where patchdesc = vsep $ map patch_description patches
hunk ./Send.lhs 342
+          get_filename = case get_fileopt opts of
+                                Just f -> Just f
+                                Nothing -> if EditDescription `elem` opts
+                                              then Just tempfile
+                                              else Nothing
+          tempfile = world_readable_temp "darcs-temp-mail"
+
+get_fileopt :: [DarcsFlag] -> Maybe (IO String)
+get_fileopt (LogFile f:_) = Just $ return f
+get_fileopt (_:flags) = get_fileopt flags
+get_fileopt [] = Nothing
 \end{code}
}
[Rename --logfile and --delete-logfile commands to --file and --delete-file
Zachary P. Landau <[EMAIL PROTECTED]>**20060114220139] 
<
> {
hunk ./DarcsArguments.lhs 28
                         list_registered_files, list_unregistered_files,
                         author, get_author, get_sendmail_cmd,
                         patchname_option, distname_option,
- -                        logfile, rmlogfile, from_opt, subject, get_subject,
+                        file, rmfile, from_opt, subject, get_subject,
                         target, cc, get_cc, output, recursive,
                         edit_file, askdeps, ignoretimes, lookforadds,
                         ask_long_comment, sendmail_cmd, view_file,
hunk ./DarcsArguments.lhs 131
 fix_flag :: FilePath -> DarcsFlag -> DarcsFlag
 fix_flag fix (Output s) = Output $ fix_maybe_absolute fix s
 fix_flag fix (Verify s) = Verify $ fix_maybe_absolute fix s
- -fix_flag fix (LogFile s) = LogFile $ fix_maybe_absolute fix s
+fix_flag fix (File s) = File $ fix_maybe_absolute fix s
 fix_flag fix (VerifySSL s) = VerifySSL $ fix_maybe_absolute fix s
 fix_flag _ (Context "") = Context ""
 fix_flag fix (Context s) = Context $ fix_maybe_absolute fix s
hunk ./DarcsArguments.lhs 182
 #ifdef HAVEWX
   gui,
 #endif
- -  logfile, rmlogfile, leave_test_dir, from_opt, set_default, pristine_tree
+  file, rmfile, leave_test_dir, from_opt, set_default, pristine_tree
 
       :: DarcsOption
 
hunk ./DarcsArguments.lhs 481
 file overrides the global author file.
 
 \begin{code}
- -logfile = DarcsArgOption [] ["logfile"] LogFile "FILE"
- -          "give patch name and comment in file"
+file = DarcsArgOption [] ["file"] File "FILE"
+          "give description in file"
 
hunk ./DarcsArguments.lhs 484
- -rmlogfile = DarcsNoArgOption [] ["delete-logfile"] RmLogFile
- -            "delete the logfile when done"
+rmfile = DarcsNoArgOption [] ["delete-file"] RmFile
+            "delete the description file when done"
 
 author = DarcsArgOption ['A'] ["author"] Author "EMAIL" "specify author id"
 from_opt = DarcsArgOption [] ["from"] Author "EMAIL" "specify email address"
hunk ./DarcsFlags.lhs 32
                | TagName String | LastN Int
                | OneTag String | AfterTag String | UpToTag String
                | Context String | ModernizePatches
- -               | LogFile String | RmLogFile
+               | File String | RmFile
                | DistName String | All
                | Recursive | NoRecursive | Reorder
                | AskDeps | NoAskDeps | IgnoreTimes | LookForAdds | NoLookForAdds
hunk ./Record.lhs 96
                        command_get_arg_possibilities = list_registered_files,
                        command_argdefaults = nodefaults,
                        command_darcsoptions = [patchname_option, author,
- -                                               logfile, rmlogfile,
+                                               file, rmfile,
                                                verbose, notest,
                                                leave_test_dir,
                                                nocompress,
hunk ./Record.lhs 109
 \end{code}
 \begin{code}
 file_exists :: Slurpy -> String -> IO Bool
- -file_exists s fn = do file <- doesFileExist (fn)
+file_exists s fn = do f <- doesFileExist (fn)
                       dir <- doesDirectoryExist (fn)
hunk ./Record.lhs 111
- -                      return (file || dir ||
+                      return (f || dir ||
                               slurp_hasfile (fp2fn fn) s ||
                               slurp_hasdir (fp2fn fn) s)
 
hunk ./Record.lhs 292
                               | otherwise = return n
 get_patchname [Gui] = return ""
 get_patchname (Gui:fs) = get_patchname $ nub $ fs ++ [Gui]
- -get_patchname (LogFile f:fs) =
+get_patchname (File f:fs) =
     do t <- (lines `liftM` readBinFile f) `catch` \_ -> return []
        case t of [] -> get_patchname fs
                  (n:_) -> return n
hunk ./Record.lhs 324
 ``emacs~-nw'' and ``nano'' are tried in that order.
 
 \begin{options}
- ---logfile
+--file
 \end{options}
 
 If you wish, you may specify the patch name and log using the
hunk ./Record.lhs 328
- -\verb!--logfile! flag.  If you do so, the first line of the specified file
+\verb!--file! flag.  If you do so, the first line of the specified file
 will be taken to be the patch name, and the remainder will be the ``long
 comment''.  This feature can be especially handy if you have a test that
 fails several times on the record (thus aborting the record), so you don't
hunk ./Record.lhs 345
           gl (Pipe:_) = do putStrLn "What is the log?"
                            thelog <- lines `liftM` hGetContents stdin
                            return (oldname, thelog, Nothing)
- -          gl (LogFile f:fs) =
+          gl (File f:fs) =
               do append_info f
                  when (EditLongComment `elem` fs) $ do edit_file f
                                                        return ()
hunk ./Record.lhs 350
                  (name, thelog, _) <- read_long_comment f
- -                 when (RmLogFile `elem` opts) $
+                 when (RmFile `elem` opts) $
                       removeFile f `catch` \_ -> return ()
                  return (name, thelog, Nothing)
           gl (EditLongComment:_) = actually_get_log
hunk ./Send.lhs 25
 import Maybe ( catMaybes, isJust, isNothing )
 
 import DarcsCommands ( DarcsCommand(..) )
- -import DarcsArguments ( DarcsFlag( EditDescription, LogFile, RmLogFile,
+import DarcsArguments ( DarcsFlag( EditDescription, File, RmFile,
                                    Target, Output, Context, DryRun,
                                    Verbose, Quiet
                                  ),
hunk ./Send.lhs 30
                         edit_file, get_cc, get_author, working_repo_dir,
- -                        edit_description, logfile, rmlogfile,
+                        edit_description, file, rmfile,
                         sign, get_subject,
                         match_several, set_default,
                         output, cc, subject, target, author, sendmail_cmd,
hunk ./Send.lhs 97
                                              unified, dry_run, summary,
                                              send_to_context,
                                              edit_description,
- -                                             logfile, rmlogfile,
+                                             file, rmfile,
                                              set_default, working_repo_dir,
                                              sendmail_cmd]}
 \end{code}
hunk ./Send.lhs 186
                               fail $ ioeGetErrorString e
            when (isJust mailfile) $
                 case get_fileopt opts of
- -                    Just _  -> when (RmLogFile `elem` opts) $
+                    Just _  -> when (RmFile `elem` opts) $
                                     remove_log mailfile
                     Nothing -> remove_log mailfile
            putInfo $ "Successfully sent patch bundle to: "++lt thetargets++"."
hunk ./Send.lhs 332
 get_description :: [DarcsFlag] -> [Patch] -> IO (Doc, Maybe String)
 get_description opts patches =
     case get_filename of
- -        Just f -> do file <- f
+        Just f -> do dfile <- f
                      when (EditDescription `elem` opts) $ do
                        when (isNothing $ get_fileopt opts) $
hunk ./Send.lhs 335
- -                            writeDocBinFile file patchdesc
- -                       edit_file file
+                            writeDocBinFile dfile patchdesc
+                       edit_file dfile
                        return ()
hunk ./Send.lhs 338
- -                     doc <- readDocBinFile file
- -                     return (doc, Just file)
+                     doc <- readDocBinFile dfile
+                     return (doc, Just dfile)
         Nothing -> return (patchdesc, Nothing)
     where patchdesc = vsep $ map patch_description patches
           get_filename = case get_fileopt opts of
hunk ./Send.lhs 350
           tempfile = world_readable_temp "darcs-temp-mail"
 
 get_fileopt :: [DarcsFlag] -> Maybe (IO String)
- -get_fileopt (LogFile f:_) = Just $ return f
+get_fileopt (File f:_) = Just $ return f
 get_fileopt (_:flags) = get_fileopt flags
 get_fileopt [] = Nothing
 \end{code}
}
[Update tests to use --logfile instead of --file
Zachary P. Landau <[EMAIL PROTECTED]>**20060114220652] 
<
> {
hunk ./tests/record.pl 70
 }
 
 LOGFILE: {
- -    my $test_name = 'testing --logfile';
+    my $test_name = 'testing --file';
     `date >> date.t`;
     `echo 'second record'>>log.txt`;
hunk ./tests/record.pl 73
- -    like( darcs(qw/record -A x -a -m 'second record' --logfile=log.txt  date.t/), qr/finished recording/i, $test_name);
+    like( darcs(qw/record -A x -a -m 'second record' --file=log.txt  date.t/), qr/finished recording/i, $test_name);
 
 }
 
}

Context:

[call unnamed patches "changes" in interactive patch selection dialogue
Tommy Pettersson <[EMAIL PROTECTED]>**20060113203829
 It currently affects record, revert and amend, but will generally do
 "the right thing".
] 
[fix pathname in comment in darcs.cgi.in
[EMAIL PROTECTED] 
[fix win32 build breaks
Will <[EMAIL PROTECTED]>**20060112054853] 
[fix content-type in rss output of cgi
Will <[EMAIL PROTECTED]>**20060110052938] 
[resolve conflict
Tommy Pettersson <[EMAIL PROTECTED]>**20060108173148] 
[Obey normal autoconf conventions.
Dave Love <[EMAIL PROTECTED]>**20051117190231
 Allows you to `make install prefix=...', for instance, and doesn't change
 default for sysconfdir.
] 
[add link to darcs-unstable repo on darcs home page
Tommy Pettersson <[EMAIL PROTECTED]>**20060107212721] 
[Don't say "yes" in an infinite loop.
Bill Trost <[EMAIL PROTECTED]>**20060108162605
 I ended up with this test hanging forever because the while loop wasn't getting
 a SIGPIPE because of the way my editor environment (no controlling tty?) was
 set up. We have a pretty good idea of how many "y"s are needed anyhow.
] 
[fix crash caused by tests failing on amend-record
Zachary P. Landau <[EMAIL PROTECTED]>**20060108174722] 
[More canonization
Eric Kow <[EMAIL PROTECTED]>**20060108235935
 
 canonized : Mark Stosberg, Erik Schnetter, Joeri van Ruth 
 identified: Richard Smith, Victor Hugo Borja Rodriguez
 
] 
[Improved single-character prompt (RT #261)
Eric Kow <[EMAIL PROTECTED]>**20060108225741
 
 In the dialogue prompting for a single character as a response, if the
 user just presses enter, we behave is if we got an invalid response.
 This way, the user gets a little bit of feedback that he should respond
 differently.
   
 Also: refactors the case where there is a default answer and where the
 user may press '?' for help.
 
] 
[Corrections to bugfix for (RT #466)
Eric Kow <[EMAIL PROTECTED]>**20060108225411
 
 The bug fix for case insensitive filesystems was incorrect because
  1. canonicalizePath does not canonicalise the same filename with
     different cases into the same entry
  2. RT #466 affects case sensitive and case insensitive file 
     systems alike (i.e. the bug description was wrong)
  3. canonicalizePath is not available in ghc 6.2.2
 
 This correction also has the advantage of being much simpler and closer
 to what David Roundy suggested on the bug tracker.  We remove the old
 file from the slurpy so that it doesn't get mistaken for the new file.  
 
] 
[use _darcs/pristine in regression tests
Eric Kow <[EMAIL PROTECTED]>**20060108222000] 
[Make the "record --pipe" docs match the program behavior.
Bill Trost <[EMAIL PROTECTED]>**20060107050910] 
[Make --exact-version also work if darcs is built from "make dist" tar ball
Marnix Klooster <[EMAIL PROTECTED]>**20060106205857
 
 This is to prevent "darcs --exact-version" outputting something like
 
   darcs compiled on Mar  2 2005, at 10:56:16
   unknown
 
 as it does when building from the output of "make dist", e.g., from the
 official tarballs at darcs.net.  (This is what a lot of people and distros do.
 Gentoo does this, and I'm using Gentoo, and I want to be able to do "darcs
 --exact-version" and have it output something sensible.)
 
 The reason that this problem occurs is that while doing 'make predist' (in the
 'predist' preference), Context.hs was nicely preserved by predist_copy, but
 then thrown away by distclean which calls clean.  So the resulting tarball has
 no Context.hs, which results in the "unknown" exact version.
 
 The solution consists of the following:
 
  * Only remove Context.hs in "clean" if it can be rebuilt using its rule
    in automake.mk (i.e., if _darcs/inventory exists, so if we are in a
    repository).
 
  * Target realclean is renamed to the newer maintainer-clean and extended a
    little, according to the GNU make manual (not strictly necessary).
 
 As a result of this, we now follow GNU makefile conventions more closely.  See
 the rules in the "Standard Targets for Users" section of the GNU make manual
 (currently at http://www.gnu.org/software/make/manual/html_node/make_127.html),
 and an interpretation of these rules in the "What Gets Cleaned" section of the
 GNU automake manual (currently at
 http://www.gnu.org/software/automake/manual/html_node/Clean.html).
 
 Thanks to Taral <[EMAIL PROTECTED]> for the above info.
] 
[Coalesce setpref (issue70 and RT #349)
Eric Kow <[EMAIL PROTECTED]>**20051230230842] 
[only create log file when a long comment was requested
Zachary P. Landau <[EMAIL PROTECTED]>**20060108181034] 
[Use temporary file when editing send description.
Zachary P. Landau <[EMAIL PROTECTED]>**20051217212051] 
[Extended date matching functionality. 
Eric Kow <[EMAIL PROTECTED]>**20051228210942
 (issue31 and RT #34)
 
 Now accepts ISO 8601 intervals (mostly) as well as a larger subset of
 English (including times like "yesterday at noon").
 
 Note: also includes corrections to ISO 8601 date/time parsing, using
 a more elegant technique of building dates up. 
 
] 
[Partial implementation of iso 8601 dates
Eric Kow <[EMAIL PROTECTED]>**20051228123040
 (issue31) - first step 
 
 reluctant to implement (ambiguous!): 
   * years > 9999  
   * truncated representations with implied century (89 for 1989) 
 unimplemented: 
   * time intervals -- this might be good to have in darcs
   * negative dates (BC)                    
 
] 
[Allow rename to different case (RT #466, case-insensitive file systems)
Eric Kow <[EMAIL PROTECTED]>**20060106000141
 
 Creates an exception in the check that the new name does not already exists;
 it's ok if both names reduce to the same canonical path
 
] 
[Update "darcs init" documentation to match its behavior.
Bill Trost <[EMAIL PROTECTED]>**20060105040737] 
[Invert 'file exists already' error message in mv
Eric Kow <[EMAIL PROTECTED]>**20051230220431
 
 mv used the wrong error message for --case-ok and opposite 
 
] 
[bug fixes for darcs help
Eric Kow <[EMAIL PROTECTED]>**20051230011003] 
[Canonize myself and almost all other contributers.
Eric Kow <[EMAIL PROTECTED]>**20051229140428
 Add function to append name to email address 
 
 Merged: Marnix Klooster, Eric Kow, Andres Loeh, Esa Ilari Vuokko 
 
 Looked up name on Google for most orphaned email addresses.
 Hope nobody actually objects to this.
 
] 
[add a --without-docs option to configure
[EMAIL PROTECTED] 
[only print 'making executable' in verbose mode
Eric Kow <[EMAIL PROTECTED]>**20051226182817] 
[fix for Issue14 remove darcs-createrepo
Jason Dagit <[EMAIL PROTECTED]>**20051224002230] 
[Support --interactive option in changes command (issue #59).
Zachary P. Landau <[EMAIL PROTECTED]>**20051221052049] 
[Fix type incompatibility between C code and Haskell foreign declaration.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060106154108] 
[Move patchSetToPatches to Repository.lhs
Zachary P. Landau <[EMAIL PROTECTED]>**20051219043719] 
[Use _darcs/pristine instead of _darcs/current.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051215180814
 All versions of Darcs since 1.0.2rc1 are able to handle either name.  This
 will break compatibility of new repositories with older versions.
] 
[Do not document "darcs query manifest" twice.
Erik Schnetter <[EMAIL PROTECTED]>**20051222125103] 
[Rename git.c to gitlib.c
Erik Schnetter <[EMAIL PROTECTED]>**20051222115318
 
 On case-insensitive file systems, the source files Git.lhs and git.c
 lead to the same object file git.o.  Renaming git.c to gitlib.c solves
 this problem.
] 
[Remove periods from the AC_MSG_CHECKING call for the release state.
Matt Kraai <[EMAIL PROTECTED]>**20051220174536] 
[Implementation of help command
Eric Kow <[EMAIL PROTECTED]>**20051218172558
 (RT #307)
 
 Provides a command to display usage information on the screen.
  darcs help           = darcs --help
  darcs help --verbose = darcs --extended-help
  darcs help command   = darcs command --help
 
 This implementation understands abbreviated commands and subcommands.
 Slightly refactors darcs.lhs.
 
] 
[reorganize comments (and add a comment) in Depends.lhs.
David Roundy <[EMAIL PROTECTED]>**20051218122029] 
[fix bug in doesDirectoryReallyExist.
David Roundy <[EMAIL PROTECTED]>**20051020121710
 We were failing with an exception if there was no such object.  The error
 message was:
 
 Fail: getSymbolicLinkStatus: does not exist
] 
[fix type of foreign calls in FastPackedString.
David Roundy <[EMAIL PROTECTED]>**20050920125800] 
[rename RepoTypes to PatchSet.
David Roundy <[EMAIL PROTECTED]>**20050917133920] 
[remove PatchSequence, which has long been obsolete.
David Roundy <[EMAIL PROTECTED]>**20050917133313
 The patch removes remaining vestiges of PatchSequence, which was obsoleted
 long ago by PatchSet (which stores patches in the opposite order (better
 for lazy use) and which has additional information about tags that allows
 us to avoid looking at old history.
] 
[correction for send.sh test
Eric Kow <[EMAIL PROTECTED]>**20051218095652
 previously failed on (at least) MacOS X 10.3.9
 
] 
[RemoteApply no longer depends on cd, use --repodir instead.
[EMAIL PROTECTED]
 
 This is a minor change to make darcs no longer use cd
 before applying patches to a remote repository. 
 Now the --repodir option for the apply command is used.
 
 This patch came from a hack to rssh[http://sf.net/projects/rssh]
 to allow using darcs as a restricted command without depending
 on the cd binary.
 http://sf.net/tracker/index.php?func=detail&aid=1351939&group_id=65349&atid=510643
] 
[print out the patch name when a test fails.
Zachary P. Landau <[EMAIL PROTECTED]>**20051205055109] 
[Support signed push
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129082159] 
[Fix typo in multirepo pull.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051217201918] 
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051217201903] 
[add changelog entry for multirepo pull.
David Roundy <[EMAIL PROTECTED]>**20051215122808] 
[add support for pulling from multiple repositories simultaneously.
David Roundy <[EMAIL PROTECTED]>**20050919125012] 
[Use POSIX-style option for 'head', instead of obsolescent syntax
Marnix Klooster <[EMAIL PROTECTED]>**20051216111731] 
[Clarify wording for changes that can't be unreverted
[EMAIL PROTECTED] 
[Set attachment filename when sending a patch bundle by e-mail.
Zachary P. Landau <[EMAIL PROTECTED]>**20051217195009] 
[save long comment file if a test fails during record
Zachary P. Landau <[EMAIL PROTECTED]>**20051216023948] 
[properly quote paths so that paths with spaces in them are okay
[EMAIL PROTECTED] 
[fix up debug printouts in cygwin-wrapper.bash
[EMAIL PROTECTED] 
[smoother invocation of cygwin-wrapper.bash -- it detects fully-qualified path to itself by leading /
[EMAIL PROTECTED] 
[modernize amend-record.pl to be more portable.
Mark Stosberg <[EMAIL PROTECTED]>**20050402133417
 
 This depends on the new "echo_to_darcs()" function in Test::Darcs
] 
[implementation of --set-scripts-executable on local darcs get
[EMAIL PROTECTED]
 proposed fix for issue38
 
 The --set-scripts-executable flag is normally evaluated when you apply
 patches.  But when you do a local darcs get, no patches are applied.
 So as a solution, we traverse the directory on local darcs get , and set
 any script files to be executable. 
 
 Note: one flaw in this patch is that it duplicates the definition of
 what a script is -- a file that starts with #! -- in PatchApply.lhs and
 Get.lhs.  It might be good to refactor these somehow.
 
] 
[extended set-scripts-executable test
[EMAIL PROTECTED]
 added check for local darcs get (issue 38) as well as initial sanity check
  
] 
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051214223217] 
[Add --subject flag to 'darcs send'
Joeri van Ruth <[EMAIL PROTECTED]>**20051205120301] 
[Fix mistyped /dev/null, fixes --sendmail-command in Windows
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129160120] 
[Use \ as path separator for GnuPG in Windows -- makes apply --verify work
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129164533] 
[make dangers and recommended use of "Amend" clearer in the docs.
Mark Stosberg <[EMAIL PROTECTED]>**20051213140523
 
 I think it's important to be clearer about when it's appropriate to use 'amend',
 so I moved some notes into the short and mid-length help texts.
] 
[update web page to reflect 1.0.5 as latest stable source.
Tommy Pettersson <[EMAIL PROTECTED]>**20051213111137] 
[fix handling of absolute paths containing drive letters
Will <[EMAIL PROTECTED]>**20051208054737
 This fixes issue 47 where paths containing drive letters (i.e. on windows)
 are not treated as absolute paths.
] 
[bump version to 1.0.6pre1
Tommy Pettersson <[EMAIL PROTECTED]>**20051208092839] 
[revert maybe_relink and atomic_create to original C code.
David Roundy <[EMAIL PROTECTED]>**20051208131213] 
[resolve conflicts between stable and unstable.
David Roundy <[EMAIL PROTECTED]>**20051206134818] 
[Merge changes
Ian Lynagh <[EMAIL PROTECTED]>**20051008225210] 
[fix mkstemp implementation for win32
Peter Strand <[EMAIL PROTECTED]>**20050810211303] 
[Implement parts of System.Posix.(IO|Files) for win32
[EMAIL PROTECTED] 
[implement RawMode with library functions instead of ffi
[EMAIL PROTECTED] 
[call hsc2hs without output filename argument
[EMAIL PROTECTED] 
[Rename compat.c to c_compat.c to avoid object filename conflict with Compat.hs
[EMAIL PROTECTED] 
[Move atomic_create/sloppy_atomic_create to Compat
Ian Lynagh <[EMAIL PROTECTED]>**20050730141703] 
[Split the raw mode stuff out into its own .hsc file. Windows needs some TLC
Ian Lynagh <[EMAIL PROTECTED]>**20050730134030] 
[Move maybe_relink out of compat.c
Ian Lynagh <[EMAIL PROTECTED]>**20050730131205] 
[Remove is_symlink
Ian Lynagh <[EMAIL PROTECTED]>**20050730122255] 
[Move mkstemp to Compat.hs
Ian Lynagh <[EMAIL PROTECTED]>**20050730020918] 
[Start Compat.hs, and move stdout_is_a_pipe from compat.c
Ian Lynagh <[EMAIL PROTECTED]>**20050730004829] 
[TAG 1.0.5
Tommy Pettersson <[EMAIL PROTECTED]>**20051207112730] 
Patch bundle hash:
37f787fedda8d1e40a4eaa83a6cd9bd6b5e55868
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDyXaZMi+gvMn4IFIRAkVWAKCsxUEK9KZAb/t3dmQloeS1WVadmgCgqRX2
5ZLhae8Up0Bor+UAhCg39JY=
=gMUC
-----END PGP SIGNATURE-----
_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to