Here's another hashed inventory patch.  I'm not so sure it's correct, but
I'm tired and sleepy.  Definitely not a regression.

David

Tue Nov  7 20:54:00 PST 2006  David Roundy <[EMAIL PROTECTED]>
  * make directory_confusion pass with hashed inventories.
  I'm not sure whether there is still a bug in the pending handling here, but
  at least it doesn't crash...

New patches:

[make directory_confusion pass with hashed inventories.
David Roundy <[EMAIL PROTECTED]>**20061108045400
 I'm not sure whether there is still a bug in the pending handling here, but
 at least it doesn't crash...
] 
<
> {
hunk ./HashedRepo.lhs 25
 
 \begin{code}
 module HashedRepo ( revert_tentative_changes, finalize_tentative_changes,
-                    add_to_tentative_inventory,
+                    add_to_tentative_inventory, remove_from_tentative_inventory,
                     read_repo, read_repo_lazily,
                     writeHashFile
                   ) where
hunk ./HashedRepo.lhs 33
 import System.IO.Unsafe ( unsafeInterleaveIO )
 import System.IO ( stderr, hPutStrLn )
 import System.Directory ( doesDirectoryExist )
+import Data.List ( delete )
+import Control.Monad ( unless )
 
 import Workaround ( renameFile )
 import DarcsFlags ( DarcsFlag )
hunk ./HashedRepo.lhs 42
 import DarcsRepo ( absolute_dir )
 import Patch ( Patch, showPatch, patch2patchinfo, readPatch, readPatchLazily,
                gzReadPatchFileLazily )
+import Depends ( commute_to_end )
 import PatchInfo ( PatchInfo, showPatchInfo, readPatchInfo )
 import FastPackedString ( PackedString, readFilePS, writeFilePS, gzReadFilePS, nullPS,
                           tailPS, lengthPS,
hunk ./HashedRepo.lhs 47
                           packString, breakOnPS, unpackPS, dropWhitePS )
-import Printer ( Doc )
+import Printer ( Doc, hPutDoc )
 import SHA1 ( sha1PS )
hunk ./HashedRepo.lhs 49
-import External ( gzFetchFilePS, fetchFilePS, Cachable( Cachable, Uncachable ) )
-import Lock ( writeBinFile, withTemp, writeDocBinFile, appendBinFile, appendDocBinFile )
+import External ( gzFetchFilePS, fetchFilePS, copyFilesOrUrls, Cachable( Cachable, Uncachable ) )
+import Lock ( writeBinFile, withTemp, writeDocBinFile, appendBinFile, appendDocBinFile,
+              writeToFile )
 import DarcsUtils ( withCurrentDirectory )
 #include "impossible.h"
 
hunk ./HashedRepo.lhs 71
        appendBinFile ("_darcs/tentative_hashed_inventory") $ "\nhash: " ++ hash ++ "\n"
        return $ "_darcs/patches/" ++ hash
 
+remove_from_tentative_inventory :: [DarcsFlag] -> [Patch] -> IO ()
+remove_from_tentative_inventory opts  to_remove =
+    do allpatches <- read_tentative_repo "."
+       let (_, skipped) = commute_to_end to_remove allpatches
+       okay <- simple_remove_from_tentative_inventory
+               (map (fromJust . patch2patchinfo) $ to_remove ++ skipped)
+       unless okay $ fail "bug in remove_from_tentative_inventory"
+       mapM_ (add_to_tentative_inventory opts) skipped
+
+simple_remove_from_tentative_inventory :: [PatchInfo] -> IO Bool
+simple_remove_from_tentative_inventory pis = do
+    inv <- read_tentative_inventory "."
+    case cut_inv pis inv of
+      Nothing -> return False
+      Just inv' -> do writeToFile "_darcs/tentative_hashed_inventory" $ print_inv inv'
+                      return True
+    where cut_inv [] x = Just x
+          cut_inv x ([]:rs) = cut_inv x rs
+          cut_inv xs (((pinf,_):r):rs) | pinf `elem` xs = cut_inv (pinf `delete` xs) (r:rs)
+          cut_inv _ _ = Nothing
+          print_inv (xs:_) h = mapM_ (print_one h) xs
+          print_inv [] _ = return ()
+          print_one h (pinf, hash) = do hPutDoc h $ showPatchInfo pinf
+                                        hPutStrLn h $ "\nhash: " ++ hash
+
 writeHashFile :: Doc -> IO String
 writeHashFile d = withTemp $ \f -> do writeDocBinFile f d
                                       hash <- sha1PS `fmap` readFilePS f
hunk ./HashedRepo.lhs 109
               (\e -> do hPutStrLn stderr ("Invalid repository:  " ++ realdir)
                         ioError e)
 
+read_tentative_repo :: String -> IO PatchSet
+read_tentative_repo d = do
+  realdir <- absolute_dir d
+  read_repo_private False realdir "tentative_hashed_inventory" `catch`
+              (\e -> do hPutStrLn stderr ("Invalid repository:  " ++ realdir)
+                        ioError e)
+
 read_repo_lazily :: String -> IO PatchSet
 read_repo_lazily d = do
   realdir <- absolute_dir d
hunk ./HashedRepo.lhs 157
               rest <- read_patches parse is
               return $ (i,mp) : rest
 
+read_inventory :: String -> IO [[(PatchInfo, String)]]
+read_inventory d = do realdir <- absolute_dir d
+                      read_inventory_private realdir "inventory"
+
+read_tentative_inventory :: String -> IO [[(PatchInfo, String)]]
+read_tentative_inventory d = do realdir <- absolute_dir d
+                                read_inventory_private realdir "tentative_hashed_inventory"
+
+read_inventory_private :: String -> String -> IO [[(PatchInfo, String)]]
+read_inventory_private d iname = do
+    i <- fetchFilePS (d++"/_darcs/"++iname) Uncachable
+    (rest,str) <- case breakOnPS '\n' i of
+                  (swt,pistr) | swt == packString "Starting with tag:" ->
+                    do r <- unsafeInterleaveIO $ read_inventory_private d $
+                            ("inventories/"++) $ snd $ head $ read_patch_ids pistr
+                       return (r,pistr)
+                  _ -> return ([],i)
+    pis <- return $ reverse $ read_patch_ids str
+    return $ pis : rest
+
 read_patch_ids :: PackedString -> [(PatchInfo, String)]
 read_patch_ids inv | nullPS inv = []
 read_patch_ids inv = case readPatchInfo inv of
hunk ./Repository.lhs 51
 import SlurpDirectory ( Slurpy, slurp_unboring, co_slurp, slurp_has )
 import DarcsRepo ( seekRepo, youNeedToBeInRepo, finalize_pristine_changes,
                    add_to_tentative_pristine )
+import HashedRepo ( writeHashFile )
 import qualified HashedRepo ( revert_tentative_changes, finalize_tentative_changes,
hunk ./Repository.lhs 53
+                              remove_from_tentative_inventory,
                               add_to_tentative_inventory, read_repo )
 import qualified DarcsRepo
 import qualified GitRepo
hunk ./Repository.lhs 62
 import Patch ( Patch, flatten, join_patches, reorder_and_coalesce,
                commute, patch2patchinfo, null_patch, readPatch,
                writePatch, flatten_to_primitives, invert, is_similar,
-               is_addfile, is_adddir,
+               is_addfile, is_adddir, showPatch,
                apply_to_slurpy, gzReadPatchFileLazily )
 import Depends ( get_common_and_uncommon )
 import Diff ( smart_diff )
hunk ./Repository.lhs 317
                       writePatch ppn $ newpend
 
 tentativelyRemovePatches :: Repository -> [DarcsFlag] -> [Patch] -> IO ()
-tentativelyRemovePatches (Repo dir _ rt@(DarcsRepository _)) opts ps =
+tentativelyRemovePatches (Repo dir rf rt@(DarcsRepository _)) opts ps =
     withCurrentDirectory dir $ do
       prepend rt $ join_patches ps
       remove_from_unrevert_context ps
hunk ./Repository.lhs 321
-      DarcsRepo.remove_from_tentative_inventory opts ps
+      if format_has_together [HashedInventory] rf
+         then do HashedRepo.remove_from_tentative_inventory opts ps
+                 hashes <- mapM (withCurrentDirectory "_darcs/patches" . writeHashFile .
+                                 showPatch . invert) ps
+                 mapM_ (add_to_tentative_pristine . ("_darcs/patches/"++)) $ reverse hashes
+         else if format_has_together [Darcs1_0,HashedInventory] rf
+              then fail "Don't support both sorts at same time (foobar)"
+              else DarcsRepo.remove_from_tentative_inventory opts ps
 tentativelyRemovePatches (Repo dir _ GitRepository) _ ps =
     withCurrentDirectory dir $ do
       prepend GitRepository $ join_patches ps
}

Context:

[Don't lock the repo during `query manifest' (issue315).
Dave Love <[EMAIL PROTECTED]>**20061105125701] 
[Include curses.h with term.h (issue326).
Dave Love <[EMAIL PROTECTED]>**20061105123851] 
[I fixed up a bit of bad grammars.
Bill Trost <[EMAIL PROTECTED]>**20061102033207] 
[bumb version to 1.0.9rc2
Tommy Pettersson <[EMAIL PROTECTED]>**20061009204226] 
[dump generated darcs.ps in subdir manual/
Tommy Pettersson <[EMAIL PROTECTED]>**20061102152516] 
[resolve conflicts
Tommy Pettersson <[EMAIL PROTECTED]>**20061102184834
 Merge Unrecord fix for checkpoints inventory with Repository code refactoring.
] 
[remove unrecorded tags from the checkpoint inventory (issue281)
Tommy Pettersson <[EMAIL PROTECTED]>**20061031220157
 The commands Check, Get and Repair all can make use of the checkpoint
 inventory. Unrecord, Unpull and Obliterate forgot to remove deleted patches
 from that inventory.
] 
[add test that unrecord of tag removes checkpoint
Tommy Pettersson <[EMAIL PROTECTED]>**20061007152648] 
[English and markup fixes.
Dave Love <[EMAIL PROTECTED]>**20061104153036] 
[add HACKING file
Jason Dagit <[EMAIL PROTECTED]>**20061104214749] 
[Do _not_ allow escaped quotes in `quoted'.
Eric Kow <[EMAIL PROTECTED]>**20061030064531
 
 This undoes the patch by Dave Love: Allow escaped quotes in `quoted'.
 The immediate problem is that it breaks make_changelog (because one of
 Tommy's entries matches on a backslash).  This feature might need more
 discussion before we include it (or not).
 
] 
[Tidy filenames before invoking tar 
Wim Lewis <[EMAIL PROTECTED]>**20061026035535
 Only use the last path component of --dist-name for the distribution
 name; the rest is still used when creating the final tar file. (issue323)
] 
[Add hi-boot and o-boot extensions in default boring file.
Eric Kow <[EMAIL PROTECTED]>**20061019071304
 
 These are automatically generated from hs-boot.
 Suggested by Bulat Ziganshin.
 
] 
[Replace tabs with spaces (escaped quotes in PatchMatch).
Eric Kow <[EMAIL PROTECTED]>**20061023192003] 
[Fix some obsolete autoconf stuff.
Dave Love <[EMAIL PROTECTED]>**20061015155914] 
[Allow escaped quotes in `quoted'.
Dave Love <[EMAIL PROTECTED]>**20060716193940] 
[TAG 1.0.9rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20061008175207] 
[bump version to 1.0.9rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20061008175156] 
[make Get work with hashed inventory.
David Roundy <[EMAIL PROTECTED]>**20061101150901
 This is inefficient, but it uses only the pre-existing refactored
 functions, so it's the easiest approach.  Later we can write an efficient
 bit of code to do the same thing.
] 
[Added --store-in-memory option for diff
[EMAIL PROTECTED]
 
] 
[Move RawMode into DarcsUtils to break cyclic imports on Win32
Josef Svenningsson <[EMAIL PROTECTED]>**20061004120024] 
[Look for Text.Regex in package regex-compat. Needed for GHC 6.6
Josef Svenningsson <[EMAIL PROTECTED]>**20061004123158] 
[Added rigorous error checking in exec
Magnus Jonsson <[EMAIL PROTECTED]>**20061006222630
 All lowlevel C return values are checked and turned into
 exceptions if they are error codes. In darcs main
 ExecExceptions are caught and turned into error messages
 to help the user.
] 
[Require 'permission denied' test for MacOS X again.
Eric Kow <[EMAIL PROTECTED]>**20060930121032
 
 This removes a workaround that had demoted a pull.pl test to a mere TODO under
 MacOS X. For some reason, under MacOS X, we would occasionally get "Unexpected
 error: 0" instead of "permission denied".  The error was first reported on
 2005-11-06 by Erik Schnetter.  We still don't know why it does this, but now
 test seems to systematically "unexpectedly succeed" under MacOS X 10.4.7.
 Perhaps something in MacOS X that was fixed since the error was reported?
 
] 
[In procmail examples, don't use a lock file
[EMAIL PROTECTED] 
[add some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20060930120140] 
[remove duplicate file names in fix_filepaths (fixes issue273)
Tommy Pettersson <[EMAIL PROTECTED]>**20060929145335] 
[add test for replace command with duplicated file name
Tommy Pettersson <[EMAIL PROTECTED]>**20060929144008] 
[remove some tabs from darcs source
Tommy Pettersson <[EMAIL PROTECTED]>**20060929211203] 
[--matches now accepts logical 'and' 'or' '!' in addition to '&&' '||' 'not'.
Pekka Pessi <[EMAIL PROTECTED]>**20060915140406] 
[Canonize Era Eriksson.
Eric Kow <[EMAIL PROTECTED]>**20060928223224] 
[Move bug reporting code to its own module.
Eric Kow <[EMAIL PROTECTED]>**20060928222826
 
 Fixes circular dependency caused by David's unrevert cleanup (which moves
 edit_file to DarcsUtil, thus causing it to depend on Exec) and Tommy's
 exec patches (which add impossible.h to Exec, thus causing it to depend
 on DarcsUtil).
 
] 
[Reword paragraph about Procmail's umask handling
[EMAIL PROTECTED]
 
 The explanation now helpfully hints that similar tricks may be necessary
 in other mail programs, too
] 
[Wrap .muttrc example so it doesn't bleed into margin in PostScript version
[EMAIL PROTECTED] 
["Granting access to a repository": remove odd orphaned? sentence
[EMAIL PROTECTED] 
[era's trivial typo fixes
[EMAIL PROTECTED]
 	* best_practices.tex (subsection{Conflicts}): \emph pro \verb
 	  around emphasized word "only"
 
 	* DarcsArguments.lhs (intersection_or_union): uppercase "[DEFAULT]";
 	  (disable_ssh_cm docs): remove duplicate "which"
 
 	* Help.lhs: Missing full stop in description of --extended-help
 
 	* Mv.lhs (mv_description): Missing apostrophe in "Apple's"
 
 	* PatchShow.lhs (showHunk): Replace "that the white space must not"
 	  with "that whitespace must not"
] 
[show error messages when starting and stoping the ssh control master
Tommy Pettersson <[EMAIL PROTECTED]>**20060916010645] 
[redirect errors to null where exec output is used but failure is not fatal
Tommy Pettersson <[EMAIL PROTECTED]>**20060916010116
 Error messages in the output would destroy the result, but if the command
 fails some other action is taken, so error messages shall not be displayed
 to the user.
] 
[redirect errors to stderr where exec output is used
Tommy Pettersson <[EMAIL PROTECTED]>**20060916005651
 Error messages would destroy the result if they ended up in the output.
 If the external command fails, darcs should (but does not always) fail.
] 
[redirect errors to stderr where exec is checked and darcs fails
Tommy Pettersson <[EMAIL PROTECTED]>**20060916004407
 In these situations the user will get both the error message from the
 failing external command and a message from darcs about what action it
 could not perform.
] 
[simplify helper function stupidexec in copyRemoteCmd
Tommy Pettersson <[EMAIL PROTECTED]>**20060915222923] 
[reindent some long lines
Tommy Pettersson <[EMAIL PROTECTED]>**20060915222654] 
[update calls to exec and exec_fancy to new interface
Tommy Pettersson <[EMAIL PROTECTED]>**20060915222226] 
[fix typo
Tommy Pettersson <[EMAIL PROTECTED]>**20060915164446] 
[rewrite Exec.lhs, new exec interface with Redirects
Tommy Pettersson <[EMAIL PROTECTED]>**20060911102933
 Make the code structure a bit simpler and easier to understand.
 Only one (fancy) version of exec.
] 
[Fix Windows stderr non-redirection.
Eric Kow <[EMAIL PROTECTED]>**20060909055204
 
 (It was consistently redirecting to stdout.)
 
 Also make the exec code more readable/transparent.
 
] 
[make darcs check use Repository framework.
David Roundy <[EMAIL PROTECTED]>**20060927024514] 
[fix parsing of hashed inventories.
David Roundy <[EMAIL PROTECTED]>**20060927024505] 
[put Repository in Show class for debugging ease.
David Roundy <[EMAIL PROTECTED]>**20060927021202] 
[add test target for testing hashed inventories.
David Roundy <[EMAIL PROTECTED]>**20060927020127] 
[whatsnew --look-for-adds doesn't read unadded files (fix for issue79)
Jason Dagit <[EMAIL PROTECTED]>**20060910193803
 The default mode for whatsnew --look-for-adds is summary mode.  In summary
 mode full patches are not needed.  This fix changes whatsnew
 --look-for-adds to stop computing the full patch for a file when the
 file is not managed by darcs.
] 
[Correct canonical email for Kirill Smelkov
Kirill Smelkov <[EMAIL PROTECTED]>**20060912080004] 
[Be explicit about timezone handling (issue220); assume local by default.
Eric Kow <[EMAIL PROTECTED]>**20060812102034
 
 Except for the local timezone in the user interface, this patch is not
 expected to change darcs's behaviour.  It merely makes current practice
 explicit:
 
 - Assume local timezone when parsing date strings from the user
   interface (previous behaviour was assuming UTC).
 
 - Assume UTC timezone when parsing date strings from PatchInfo.
   Newer patch date strings do *not* specify the timezone, so it
   would be prudent to treat these as UTC.
  
 - Disregard timezone information altogether when reading patch
   dates (issue220).  Note that this bug was not caused by assuming local
   timezone, because legacy patch date strings explicitly tell you what
   the timezone to use.  The bug was caused by a patch that fixed
   issue173 by using timezone information correctly.  To preserve
   backwards-compatability, we deliberatly replicate the incorrect
   behaviour of overriding the timezone with UTC.
   (PatchInfo.make_filename)
  
] 
[Account for timezone offset in cleanDate  (Fixes issue173).
Eric Kow <[EMAIL PROTECTED]>**20060610193049
 
] 
[add a bit of hashed inventory code.
David Roundy <[EMAIL PROTECTED]>**20060918173904] 
[clean up unrevert and pending handling.
David Roundy <[EMAIL PROTECTED]>**20060917214136] 
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060906191317] 
[fix bug in pristine handling when dealing with multiple patches.
David Roundy <[EMAIL PROTECTED]>**20060731111404] 
[don't use DarcsRepo in list_authors.
David Roundy <[EMAIL PROTECTED]>**20060716033450] 
[partially refactor Optimize.
David Roundy <[EMAIL PROTECTED]>**20060716032934] 
[refactor Unrecord, adding tentativelyRemovePatches.
David Roundy <[EMAIL PROTECTED]>**20060716015150] 
[refactor tag.
David Roundy <[EMAIL PROTECTED]>**20060716011853] 
[refactor Repository to allow truly atomic updates.
David Roundy <[EMAIL PROTECTED]>**20060716011245] 
[move test for tabs from makefile to haskell_policy test
Tommy Pettersson <[EMAIL PROTECTED]>**20060730122348] 
[add test for haskell policy
Tommy Pettersson <[EMAIL PROTECTED]>**20060730121404] 
[ratify some uses of readFile and hGetContents
Tommy Pettersson <[EMAIL PROTECTED]>**20060730121158] 
[Remove direct dependency to mapi32.dll; Improve MAPI compatibility.
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051130000915] 
[Canonize Kirill Smelkov and Anders Hockersten.
Eric Kow <[EMAIL PROTECTED]>**20060910052541] 
[Correct 'one one' in web page.
Eric Kow <[EMAIL PROTECTED]>**20060908191241] 
[Do not redirect to or from /dev/null when calling ssh.
Eric Kow <[EMAIL PROTECTED]>**20060903214831
 
 Redirection of stdin and stdout breaks putty, which uses these to
 interact with the user.  Quiet mode, and redirecting stderr are good
 enough for making ssh silent.
 
] 
[Exec improvements : Windows redirection, and more redirection control.
Eric Kow <[EMAIL PROTECTED]>**20060707054134
 
 - Implement ability to redirect to /dev/null under Windows
   (eivuokko on #darcs points out that it is NUL under Windows)
 
 - Add exec_ function, which does the same thing as exec,
   but allows redirection on stderr, and also allows us
   to NOT redirect stdin/stderr
 
] 
[Ignore .git if _darcs found.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060831231933] 
[overhaul the darcs.net front page.
Mark Stosberg <[EMAIL PROTECTED]>**20060820191415
 
 The themes to this change are:
 
 - Focus on the key benefits of darcs:
     Distributed. Interactive. Smart.
 
 - Recognize that the wiki is the central resource,
    and remove some information that is duplicated here
    and reference the wik instead. 
 
 I can post a demo of this HTML for easy comparison if you'd like.
 
     Mark
] 
[Reimplement --disable-ssh-cm flag (issue239).
Eric Kow <[EMAIL PROTECTED]>**20060812134856
 
 My patch to "Only launch SSH control master on demand" accidentally
 removed the ability to disable use of SSH ControlMaster.  Also, the
 way it was implemented is not compatible with launching on demand.
 This implementation relies on a notion of global variables using
 unsafe IORefs.
 
] 
[Compile Global.lhs in place of AtExit.lhs.
Eric Kow <[EMAIL PROTECTED]>**20060812121943] 
[Rename AtExit module to Global.
Eric Kow <[EMAIL PROTECTED]>**20060812121925
 
 The goal is to capture some broad "global" notions like exit handlers
 and global variables.  Note the GPL header thrown in for good measure.
 
] 
[Raise exception if unable to open logfile (issue142).
Zachary P. Landau <[EMAIL PROTECTED]>**20060810034035] 
[Make the pull 'permission test' work when run as root
Jon Olsson <[EMAIL PROTECTED]>**20060831193834] 
[TAG darcs-unstable-20060831
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060831191554] 
[rename test 0_test to better name harness
Tommy Pettersson <[EMAIL PROTECTED]>**20060819214246] 
[Fix issue 185: don't combine AddFile and RmFile in the same patch
[EMAIL PROTECTED]
 For unknown reason (a possibly previous version of) darcs allows a
 single patch to Add and Remove the same file in a single patch.  The
 "changes" command used to combine them, showing just a Remove.  This
 prevents combining those two events and shows two distinct actions.
] 
[Check for module Text.Html in package html
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20060815235739] 
[Link to relevant symbol when checking for Control.Monad.Error
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20060815235714] 
[Workaround for HasBounds that was removed in base-2.0 (GHC 6.6)
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20060815234127] 
[Read sftp batch file in from stdin (part of issue237).
Eric Kow <[EMAIL PROTECTED]>**20060812143113
 
 Passing the batch file in from stdin allows for sftp to be used with
 password-based authentication.  According to the sftp user manual regarding
 the -b switch:
   Since it lacks user interaction it should be
   used in conjunction with non-interactive authentication
 
 Credit for this idea goes to Ori Avtalion.
 
] 
[Extend runSSH function to accept argument for stdin.
Eric Kow <[EMAIL PROTECTED]>**20060812142932] 
[fail if replace token pattern contains spaces (issue231)
Tommy Pettersson <[EMAIL PROTECTED]>**20060806110807
 It would otherwise create a badly formated patch in pending with unexpected
 results for subsequent commands.
] 
[fix negation of result in test
Tommy Pettersson <[EMAIL PROTECTED]>**20060806104215
 Negation with ! "uses" the result and thus there is no "failure", so the
 script wouldn't have exit with failure.
] 
[add test that replace with spaces fail
Tommy Pettersson <[EMAIL PROTECTED]>**20060806103033] 
[unset default author environment variables in test suite harness
Tommy Pettersson <[EMAIL PROTECTED]>**20060805151210
 This makes it harder to accidently write tests that fail because no author
 is set.
] 
[set author in pull_two test so it doesn't hang
Tommy Pettersson <[EMAIL PROTECTED]>**20060804181518] 
[make test external stay in its temp1 dir
Tommy Pettersson <[EMAIL PROTECTED]>**20060804134139] 
[Do not run sftp with the -q flag (issue240).
Eric Kow <[EMAIL PROTECTED]>**20060811212030
 
 sftp does not recognise it, and so any command which uses it fails.
 
] 
[remove some tabs from haskell source
Tommy Pettersson <[EMAIL PROTECTED]>**20060730122505] 
[use FastPackeString when examining executable scripts in Get
Tommy Pettersson <[EMAIL PROTECTED]>**20060729130645] 
[Fixed typo in documentation.
Michal Sojka <[EMAIL PROTECTED]>**20060514095212] 
[TAG 1.0.8
Tommy Pettersson <[EMAIL PROTECTED]>**20060616160213] 
[make 1.0.8 latest stable on home page
Tommy Pettersson <[EMAIL PROTECTED]>**20060616150806] 
[bump version to 1.0.8
Tommy Pettersson <[EMAIL PROTECTED]>**20060616150755] 
[canonize Lele Gaifax
Tommy Pettersson <[EMAIL PROTECTED]>**20060616150524] 
[clean up docs on DarcsRepo format.
David Roundy <[EMAIL PROTECTED]>**20060808104321] 
[add new obliterate test.
David Roundy <[EMAIL PROTECTED]>**20060806122536] 
[fixes in pull.pl.
David Roundy <[EMAIL PROTECTED]>**20060805221055
 The first fix avoids a false error that shows up because of identical
 timestamps.  The second verifies that revert -a doesn't prompt user.
] 
[remove TODO from pull.pl.
David Roundy <[EMAIL PROTECTED]>**20060805192700] 
[add new test that triggers bug in refactoring.
David Roundy <[EMAIL PROTECTED]>**20060804103830] 
[I've now eliminated need to export DarcsRepo.write_patch.
David Roundy <[EMAIL PROTECTED]>**20060716033109] 
[partial refactoring in annotate.
David Roundy <[EMAIL PROTECTED]>**20060716034319] 
[add TODO for refactoring get_markedup_file.
David Roundy <[EMAIL PROTECTED]>**20060716034339] 
[add TODO to refactor unrevert handling.
David Roundy <[EMAIL PROTECTED]>**20060716020247] 
[refactor Population.
David Roundy <[EMAIL PROTECTED]>**20060716034837] 
[fix bug in refactoring of get.
David Roundy <[EMAIL PROTECTED]>**20060726121655] 
[partial refactoring of Get.
David Roundy <[EMAIL PROTECTED]>**20060716031605] 
[simplify code a tad in get.
David Roundy <[EMAIL PROTECTED]>**20060726121737] 
[make amend-record.pl test a bit pickier.
David Roundy <[EMAIL PROTECTED]>**20060730103854] 
[fix ordering of operations to call pull_first_middles properly.
David Roundy <[EMAIL PROTECTED]>**20060730111409] 
[refactor amend-record.
David Roundy <[EMAIL PROTECTED]>**20060716021003] 
[Minor tweaks to list_authors.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060720180602] 
[add some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20060718152611] 
[add some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20060616150558] 
[Added elc and pyc to binaries.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060713184214] 
[Run ssh/scp/sftp quietly.
Eric Kow <[EMAIL PROTECTED]>**20060707025245
 
 This is useful for silencing Putty, and could also be for OpenSSH should
 we decide to stop redirecting to /dev/null.
 
] 
[Refactor calls to ssh/scp/sftp.
Eric Kow <[EMAIL PROTECTED]>**20060706202509
 
] 
[Added up links in web interface.
Peter Stuifzand <[EMAIL PROTECTED]>**20060610082238
 Added a link to the 'projects' part of the cgi repository interface, so that
 you go back to the project list.
] 
[Merge makefile targets test_perl and test_shell into test_scripts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060607223134
 This should keep parallel make from breaking.
] 
[bump version to 1.0.8pre1
Tommy Pettersson <[EMAIL PROTECTED]>**20060522122655] 
[Add a test suite for calling external programs.
Eric Kow <[EMAIL PROTECTED]>**20060521045407
 
 For now this only includes a test for ssh (issue171).
 
] 
[Add warning to Eric's SSHControlMaster rework.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060528194136] 
[Only launch SSH control master on demand (fixes issue171)
Eric Kow <[EMAIL PROTECTED]>**20060528093000
 
 A secondary benefit is that this encapsulates the use of the control
 master functionality and consequently simplifies calling ssh.  There is
 no need to deal with the details of launching or exiting the control
 master.
 
] 
[Fail with a sensible message when there is no default repository to pull from.
[EMAIL PROTECTED] 
[Extend test suite for patch matching.
Eric Kow <[EMAIL PROTECTED]>**20060513192501
 
] 
[Implement help --match (issue91).
Eric Kow <[EMAIL PROTECTED]>**20060513185610
 
 Also, refactor matching code in a way that encourages developers
 to document for help --match any new matchers they create.
 
] 
[Replace dateparser.sh with more general match.pl for testing --match.
Eric Kow <[EMAIL PROTECTED]>**20060513104942
 
] 
[Add tests for pristine error and quiet mode when removing a directory.
Eric Kow <[EMAIL PROTECTED]>**20060513100021] 
[Suppress non-empty dir warning if Quiet.
Eric Kow <[EMAIL PROTECTED]>**20060513053456] 
[Replace test rmdir.sh with rmdir.pl.
Eric Kow <[EMAIL PROTECTED]>**20060513043823] 
[TAG 1.0.7
Tommy Pettersson <[EMAIL PROTECTED]>**20060513171438] 
[make 1.0.7 latest stable source on web page
Tommy Pettersson <[EMAIL PROTECTED]>**20060513000703] 
[add some entries to the change log
Tommy Pettersson <[EMAIL PROTECTED]>**20060512235752] 
[bump version to 1.0.7
Tommy Pettersson <[EMAIL PROTECTED]>**20060512235738] 
[TAG 1.0.7rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20060508101408] 
[bump version to 1.0.7rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20060508101349] 
[fix error is is_pipe test in error reporting. (fixes Issue160)
David Roundy <[EMAIL PROTECTED]>**20060501142114
 The trouble was that Ian (quite naturally) assumed that my C function
 stdout_is_a_pipe returned nonzero for true, whereas for some very, very
 backwards reason it returned zero for true, and its result was properly
 interpreted.  So I caused this bug by my (unexplained) backwards
 programming, but it was introduced when Ian refactored the C code.  :(
] 
[Add forgotten file umask.h.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060423174844] 
[Add --umask to all commands that write to the current repository.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060407195655] 
[Add option --umask.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060407194552] 
[Actually switch umasks in withRepoLock.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060407194202] 
[Implement withUMask.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060407193312] 
[Add umask.c.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060407193255] 
[Propagate opts to withRepoLock.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060325190622] 
[Test pull.pl, CREATE_DIR_ERROR: removed TODO now that directory name is printed in error message
Marnix Klooster <[EMAIL PROTECTED]>**20060304164033
 Also removes a superfluous (and erroneous) chdir statement, which tried to
 change to non-existing directory templ (last character was ell instead of one).
 
 Also improves the description of this test.
] 
[TAG 1.0.7pre1
Tommy Pettersson <[EMAIL PROTECTED]>**20060427095905] 
Patch bundle hash:
457c7da97ee66a956844cf196fa620f2d0d7f4af
_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to