Hi Tommy, I was thinking that maybe these patches could go into stable (more issue319 than issue298), assuming I didn't make any mistakes in them.
Tue Aug 21 07:19:42 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * [issue319, issue440] Backup unmanged working dir files as needed. If f is to be overwritten, it will be first renamed to f-darcsbackup0 (or f-darcsbackup1, f-darcsbackup... as needed). Tue Aug 21 07:23:58 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * [issue298] Backup conflicted working dir files as needed. The difference between this and the other backup working dir patch is that the files here actually are managed by darcs. In either case, we want to avoid losing the user's work. Mon Aug 20 21:55:50 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * Update pull test to reflect backing up of working dir files. Mon Aug 20 22:43:24 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * Add tests for issue319 and issue440. Mon Aug 20 23:19:55 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * Add test for issue298. Tue Aug 21 07:41:03 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * [issue259] Documentation: files already being tracked are never boring. Tue Aug 21 07:49:32 CEST 2007 Eric Kow <[EMAIL PROTECTED]> * [issue407] Offer some minimal advice if sendmail failed.
New patches: [[issue319, issue440] Backup unmanged working dir files as needed. Eric Kow <[EMAIL PROTECTED]>**20070821051942 If f is to be overwritten, it will be first renamed to f-darcsbackup0 (or f-darcsbackup1, f-darcsbackup... as needed). ] < > { hunk ./src/Darcs/External.hs 17 -- [Putting this comment before any of the INCLUDE lines prevents them -- being acted on :-(.] module Darcs.External ( + backupByRenaming, copyFileOrUrl, copyFilesOrUrls, copyLocal, cloneFile, cloneTree, cloneTreeExcept, clonePartialsTree, clonePaths, fetchFilePS, gzFetchFilePS, hunk ./src/Darcs/External.hs 38 import System.IO.Error ( isDoesNotExistError ) import System.IO.Unsafe ( unsafePerformIO ) import System.Posix.Files ( getSymbolicLinkStatus, isRegularFile, isDirectory ) -import System.Directory ( createDirectory, getDirectoryContents, doesFileExist, copyFile ) +import System.Directory ( createDirectory, getDirectoryContents, + doesFileExist, doesDirectoryExist, + renameFile, renameDirectory, copyFile ) import Data.Char ( toUpper ) import Foreign.C ( CString, withCString, CInt ) import Foreign.Ptr ( nullPtr ) hunk ./src/Darcs/External.hs 76 text, empty, packedString, vcat, renderString ) #include "impossible.h" +backupByRenaming :: FilePath -> IO () +backupByRenaming = backupBy rename + where rename x y = do + isD <- doesDirectoryExist x + if isD then renameDirectory x y else renameFile x y + +backupBy :: (FilePath -> FilePath -> IO ()) -> FilePath -> IO () +backupBy backup f = + do hasBF <- doesFileExist f + hasBD <- doesDirectoryExist f + when (hasBF || hasBD) $ helper (0::Int) + where + helper i = do existsF <- doesFileExist next + existsD <- doesDirectoryExist next + if (existsF || existsD) + then helper (i + 1) + else do putStrLn $ "Backing up " ++ f ++ " as " ++ next + backup f next + where next = f ++ "-darcs-backup" ++ show i fetchFilePS :: [DarcsFlag] -> String -> Cachable -> IO PackedString fetchFilePS _ fou _ | is_file fou = readFilePS fou hunk ./src/Darcs/IO.lhs 57 unlinesPS, nilPS, packString, unpackPS, ) import Darcs.Utils ( withCurrentDirectory, prettyException ) +import Darcs.External ( backupByRenaming ) import Printer ( Doc, renderPS ) import FileName ( FileName, fn2fp, fp2fn ) import Darcs.Lock ( writeBinFile, readBinFile, writeAtomicFilePS ) hunk ./src/Darcs/IO.lhs 199 mSetFileExecutable f e = warning $ mSetFileExecutable f e mWriteBinFile f s = warning $ mWriteBinFile f s mWriteFilePS f s = warning $ mWriteFilePS f s - mCreateDirectory d = warning $ mCreateDirectory d + mCreateFile f = warning $ backup f >> mWriteFilePS f nilPS + mCreateDirectory d = warning $ backup d >> mCreateDirectory d mRemoveFile f = warning $ mRemoveFile f mRemoveDirectory d = warning $ catchJust ioErrors (mRemoveDirectory d) hunk ./src/Darcs/IO.lhs 208 ioError $ userError $ "Not deleting " ++ fn2fp d ++ " because it is not empty.") mRename a b = warning $ catchJust ioErrors - (mRename a b) + (backup b >> mRename a b) (\e -> case () of _ | isPermissionError e -> ioError $ userError $ couldNotRename ++ "." hunk ./src/Darcs/IO.lhs 225 mSetFileExecutable f e = warning $ mSetFileExecutable f e mWriteBinFile f s = warning $ mWriteBinFile f s mWriteFilePS f s = warning $ mWriteFilePS f s - mCreateDirectory d = warning $ mCreateDirectory d + mCreateFile f = warning $ backup f >> mWriteFilePS f nilPS + mCreateDirectory d = warning $ backup d >> mCreateDirectory d mRemoveFile f = warning $ mRemoveFile f mRemoveDirectory d = warning $ catchJust ioErrors (mRemoveDirectory d) hunk ./src/Darcs/IO.lhs 234 ioError $ userError $ "Not deleting " ++ fn2fp d ++ " because it is not empty.") mRename a b = warning $ catchJust ioErrors - (mRename a b) + (backup b >> mRename a b) (\e -> case () of _ | isPermissionError e -> ioError $ userError $ couldNotRename ++ "." hunk ./src/Darcs/IO.lhs 246 x = fn2fp a y = fn2fp b couldNotRename = "Could not rename " ++ x ++ " to " ++ y + +backup :: FileName -> IO () +backup f = backupByRenaming $ fn2fp f \end{code} \end{comment} } [[issue298] Backup conflicted working dir files as needed. Eric Kow <[EMAIL PROTECTED]>**20070821052358 The difference between this and the other backup working dir patch is that the files here actually are managed by darcs. In either case, we want to avoid losing the user's work. ] < > { hunk ./src/Darcs/Commands/Apply.lhs 26 import System.IO ( hClose, stdin, stdout, stderr ) import Control.Exception ( catch, throw, Exception( ExitException ) ) import Control.Monad ( when ) -import Darcs.Utils ( nubsort ) import Data.Maybe ( catMaybes ) import Darcs.Hopefully ( conscientiously, hopefully ) hunk ./src/Darcs/Commands/Apply.lhs 55 finalizeRepositoryChanges, applyToWorking, ) -import Darcs.Patch ( Patch, patch2patchinfo, list_touched_files, +import Darcs.Patch ( patch2patchinfo, join_patches, unjoin_patches, ) import Darcs.Patch.Info ( human_friendly ) hunk ./src/Darcs/Commands/Apply.lhs 65 lastPS, initPS, nullPS, unlinesPS ) import Darcs.External ( sendEmail, sendEmailDoc, resendEmail, - verifyPS ) + backupByCopying, verifyPS ) import Darcs.Email ( read_email ) import Darcs.Lock ( withStdoutTemp, readBinFile ) hunk ./src/Darcs/Commands/Apply.lhs 68 -import Darcs.Commands.Pull ( merge_with_us_and_pending, check_unrecorded_conflicts ) +import Darcs.Commands.Pull ( files_with_conflicts, merge_with_us_and_pending, check_unrecorded_conflicts ) import Darcs.Patch.Depends ( get_common_and_uncommon_or_missing ) import Darcs.Resolution ( standard_resolution, no_resolution, external_resolution ) import Darcs.SelectChanges ( with_selected_changes ) hunk ./src/Darcs/Commands/Apply.lhs 170 recorded_with_pending <- slurp_pending repository working <- co_slurp recorded_with_pending "." standard_resolved_pw <- standard_resolution work_patch - announce_merge_conflicts opts standard_resolved_pw + let cfs = files_with_conflicts standard_resolved_pw + announce_merge_conflicts opts cfs + mapM_ backupByCopying cfs check_unrecorded_conflicts opts us_patch pw_resolved <- if AllowConflicts `elem` opts hunk ./src/Darcs/Commands/Apply.lhs 342 conflict. \begin{code} -announce_merge_conflicts :: [DarcsFlag] -> [Patch] -> IO () -announce_merge_conflicts opts resolved_pw = - case nubsort $ list_touched_files $ join_patches $ tail resolved_pw of - [] -> return () - cfs -> if MarkConflicts `elem` opts || AllowConflicts `elem` opts +announce_merge_conflicts :: [DarcsFlag] -> [FilePath] -> IO () +announce_merge_conflicts _ [] = return () +announce_merge_conflicts opts cfs = + if MarkConflicts `elem` opts || AllowConflicts `elem` opts || want_external_merge opts /= Nothing then do putStrLn "We have conflicts in the following files:" putStrLn $ unwords cfs hunk ./src/Darcs/Commands/Pull.lhs 21 \subsection{darcs pull} \begin{code} module Darcs.Commands.Pull ( pull, merge_with_us_and_pending, - check_unrecorded_conflicts, + files_with_conflicts, check_unrecorded_conflicts, ) where import System ( ExitCode(..), exitWith ) import Control.Monad ( when ) hunk ./src/Darcs/Commands/Pull.lhs 27 import Data.Maybe ( catMaybes ) +import Darcs.External ( backupByCopying ) import Darcs.Hopefully ( hopefully ) import Darcs.SignalHandler ( withSignalsBlocked ) import Darcs.Commands ( DarcsCommand(..), loggers ) hunk ./src/Darcs/Commands/Pull.lhs 162 (pc,pw) <- merge_with_us_and_pending opts (map hopefully $ reverse $ head us', to_be_pulled) standard_resolved_pw <- standard_resolution pw - have_conflicts <- announce_merge_conflicts logMessage standard_resolved_pw + let cfs = files_with_conflicts standard_resolved_pw + have_conflicts <- announce_merge_conflicts logMessage cfs + mapM_ backupByCopying cfs have_unrecorded_conflicts <- check_unrecorded_conflicts opts pc (_, working) <- slurp_recorded_and_unrecorded repository pw_resolved <- hunk ./src/Darcs/Commands/Pull.lhs 337 \end{code} \begin{code} -announce_merge_conflicts :: (String -> IO ()) -> [Patch] -> IO Bool -announce_merge_conflicts logMessage resolved_pw = - case nubsort $ list_touched_files $ join_patches $ tail resolved_pw of - [] -> return False - cfs -> do logMessage "We have conflicts in the following files:" +files_with_conflicts :: [Patch] -> [FilePath] +files_with_conflicts = nubsort . list_touched_files . join_patches . tail + +announce_merge_conflicts :: (String -> IO ()) -> [FilePath] -> IO Bool +announce_merge_conflicts _ [] = return False +announce_merge_conflicts logMessage cfs = + do logMessage "We have conflicts in the following files:" logMessage $ unwords cfs return True hunk ./src/Darcs/External.hs 17 -- [Putting this comment before any of the INCLUDE lines prevents them -- being acted on :-(.] module Darcs.External ( - backupByRenaming, + backupByRenaming, backupByCopying, copyFileOrUrl, copyFilesOrUrls, copyLocal, cloneFile, cloneTree, cloneTreeExcept, clonePartialsTree, clonePaths, fetchFilePS, gzFetchFilePS, hunk ./src/Darcs/External.hs 70 import Curl ( copyUrl ) import Curl ( Cachable(..) ) import Exec ( exec, Redirects, Redirect(..), ) +import FileName ( fn2fp, fp2fn, norm_path ) import Darcs.URL ( is_file, is_url, is_ssh ) import Darcs.Utils ( catchall ) import Printer ( Doc, hPutDoc, hPutDocLn, ($$), (<+>), renderPS, hunk ./src/Darcs/External.hs 83 isD <- doesDirectoryExist x if isD then renameDirectory x y else renameFile x y +backupByCopying :: FilePath -> IO () +backupByCopying = backupBy copy + where + copy x y = do + isD <- doesDirectoryExist x + if isD then do createDirectory y + cloneTree (do_norm x) (do_norm y) + else copyFile x y + do_norm f = fn2fp $ norm_path $ fp2fn f + backupBy :: (FilePath -> FilePath -> IO ()) -> FilePath -> IO () backupBy backup f = do hasBF <- doesFileExist f } [Update pull test to reflect backing up of working dir files. Eric Kow <[EMAIL PROTECTED]>**20070820195550] < > { hunk ./tests/pull.pl 136 ok((chdir '../temp2'), "chdir succeeds");; mkdir 'newdir'; my $out = darcs('pull -a ../temp1'); - like($out, qr/Warning: /i, $test_name); + like($out, qr/Backing/i, $test_name); like($out, qr/Finished pulling/i, $test_name); like($out, qr/newdir/i, "...and report the name of the directory involved"); ok((chdir '../'), "chdir succeeds");; } [Add tests for issue319 and issue440. Eric Kow <[EMAIL PROTECTED]>**20070820204324] < > { hunk ./tests/workingdir.pl 26 cleanup 'wtemp0'; cleanup 'wtemp1'; cleanup 'wtemp2'; + mkdir 'wtemp0'; chdir 'wtemp0'; darcs 'init'; hunk ./tests/workingdir.pl 31 mkdir 'a'; -`touch a/x`; +`echo wtemp0 > a/x`; darcs 'add a'; darcs 'add a/x'; darcs 'record -am "a" --author me'; hunk ./tests/workingdir.pl 38 chdir '..'; darcs 'get wtemp0 wtemp1'; -darcs 'get wtemp1 wtemp2'; chdir 'wtemp1'; darcs 'mv a/x a/y'; darcs 'record -am "x to y" --author me'; hunk ./tests/workingdir.pl 41 -`touch b`; +`echo wtemp1 > b`; darcs 'add b'; darcs 'record -am "b" --author me'; hunk ./tests/workingdir.pl 44 -chdir '../wtemp2'; +mkdir 'd'; +darcs 'add d'; +darcs 'record -am "d" --author me'; +darcs 'tag 1 --author me'; +`echo 1-b2 > b`; +darcs 'record -am "b2" --author me'; +chdir '..'; + # try to move a file that we don't have the right to do hunk ./tests/workingdir.pl 53 +darcs 'get wtemp1 wtemp2 --to-patch a'; +chdir 'wtemp2'; `chmod u-w a`; darcs 'pull -a'; ok((-e 'b'), "managed to do pull b despite problems with x to y"); hunk ./tests/workingdir.pl 59 chdir '..'; +cleanup('wtemp2'); hunk ./tests/workingdir.pl 61 +{ # [issue319] try to overwrite file(s) in our working dir + darcs 'get wtemp1 wtemp2 --to-patch a'; + chdir 'wtemp2'; + `echo wtemp2 > b`; + `echo wtemp2 > d`; + darcs 'pull -a -t 1'; + open TEMP2, 'b'; my $b = (<TEMP2>); close TEMP2; + open TEMP2, 'b-darcs-backup0'; my $b0 = (<TEMP2>); close TEMP2; + open TEMP2, 'd-darcs-backup0'; my $d0 = (<TEMP2>); close TEMP2; + like ($b, qr/wtemp1/, "working dir now contains pulled file"); + like ($b0, qr/wtemp2/, "backup properly created"); + like ($d0, qr/wtemp2/, "backup properly created"); + # now make sure we didn't overdo it + darcs 'pull -a'; + open TEMP2, 'b'; my $bb = (<TEMP2>); close TEMP2; + like ($bb, qr/1-b2/, "working dir now contains pulled file"); + ok(-e 'b-darcs-backup0', "sanity check"); + ok(! -e 'b-darcs-backup1', "no gratuitous backing up"); + chdir '..'; + cleanup('wtemp2'); +} + +{ # [issue440] a) try to overwrite a file in our working dir + darcs 'get wtemp1 wtemp2 --to-patch a'; + chdir 'wtemp2'; + `echo wtemp2 > a/y`; + `echo old-bak > a/y-darcs-backup0`; + darcs 'pull -a'; + open TEMP2, 'a/y'; my $ay = (<TEMP2>); close TEMP2; + open TEMP2, 'a/y-darcs-backup0'; my $ay0 = (<TEMP2>); close TEMP2; + open TEMP2, 'a/y-darcs-backup1'; my $ay1 = (<TEMP2>); close TEMP2; + like ($ay, qr/wtemp0/, "working dir now contains pulled file"); + like ($ay0, qr/old-bak/, "old backup not clobbered"); + like ($ay1, qr/wtemp2/, "new backup properly created"); + chdir '..'; + cleanup('wtemp2'); +} + +{ # [issue440] b) try to overwrite a directory in our working dir + darcs 'get wtemp1 wtemp2 --to-patch a'; + chdir 'wtemp2'; + mkdir 'a/y'; + `echo old-bak > a/y-darcs-backup0`; + darcs 'pull -a'; + open TEMP2, 'a/y'; my $ay = (<TEMP2>); close TEMP2; + open TEMP2, 'a/y-darcs-backup0'; my $ay0 = (<TEMP2>); close TEMP2; + like ($ay, qr/wtemp0/, "working dir now contains pulled file"); + like ($ay0, qr/old-bak/, "old backup not clobbered"); + ok(-d 'a/y-darcs-backup1'); + chdir '..'; + cleanup('wtemp2'); +} reset_chmod('wtemp0'); reset_chmod('wtemp1'); hunk ./tests/workingdir.pl 118 reset_chmod('wtemp2'); cleanup('wtemp0'); -cleanup('wtemp1'); -cleanup('wtemp2'); +cleanup('wtemp1'); } [Add test for issue298. Eric Kow <[EMAIL PROTECTED]>**20070820211955] < > { hunk ./tests/workingdir.pl 82 chdir '..'; cleanup('wtemp2'); } + +{ # [issue298] backup working dir files with conflicts + darcs 'get wtemp1 wtemp2 --tag 1'; + chdir 'wtemp2'; + `echo 2-b2 > b`; + darcs 'pull -a'; + open TEMP2, 'b'; my $b = (<TEMP2>); close TEMP2; + open TEMP2, 'b-darcs-backup0'; my $b0 = (<TEMP2>); close TEMP2; + like ($b, qr/v v v/, "working dir now contains conflicts"); + like ($b0, qr/2-b2/, "backup properly created"); + unlike ($b0, qr/v v v/, "backup properly created"); + chdir '..'; + cleanup('wtemp2'); +} { # [issue440] a) try to overwrite a file in our working dir darcs 'get wtemp1 wtemp2 --to-patch a'; } [[issue259] Documentation: files already being tracked are never boring. Eric Kow <[EMAIL PROTECTED]>**20070821054103] < > { hunk ./src/Darcs/Repository/Prefs.lhs 110 file in your home directory, named \verb!~/.darcs/boring!, which will be used with all of your darcs repositories. -Any file whose repository path (such as \verb!manual/index.html!) matches any of +Any file not already managed by darcs and whose repository path (such +as \verb!manual/index.html!) matches any of the boring regular expressions is considered boring. The boring file is used to filter the files provided to darcs add, to allow you to use a simple \verb-darcs add newdir newdir/*- hunk ./src/Darcs/Repository/Prefs.lhs 118 without accidentally adding a bunch of object files. It is also used when the \verb!--look-for-adds! flag is given to whatsnew or record. +Note that once a file has been added to darcs, it is not considered +boring, even if it matches the boring file filter. \begin{code} default_boring :: IO () } [[issue407] Offer some minimal advice if sendmail failed. Eric Kow <[EMAIL PROTECTED]>**20070821054932] < > { hunk ./src/Darcs/External.hs 423 return [ ('b', renderString body) ] let ftable = [ ('t',addressOnly t),('c',cc),('f',f),('s',s) ] ++ ftable' r <- execSendmail ftable scmd fn - when (r /= ExitSuccess) $ fail ("failed to send mail to: " ++ t) + when (r /= ExitSuccess) $ fail ("failed to send mail to: " ++ t + ++ "\nPerhaps sendmail is not configured.") else if have_mapi then do r <- withCString t $ \tp -> withCString f $ \fp -> } Context: [Fix conflicts with Kevin Quick's [DarcsRepo] stuff. Eric Kow <[EMAIL PROTECTED]>**20070722193223] [Added --nolinks option to request actual copies instead of hard-links for files. Kevin Quick <[EMAIL PROTECTED]>**20070613193742] [Provide [DarcsFlag] command-line options to copyLocal Kevin Quick <[EMAIL PROTECTED]>**20070612041516] [Use System.Directory.copyFile for file copying. Kevin Quick <[EMAIL PROTECTED]>**20070723071533] [Fix conflict between unpull refactor and --no-deps. Eric Kow <[EMAIL PROTECTED]>**20070805105818] [Hide darcs unpull command. Eric Kow <[EMAIL PROTECTED]>**20070730181138] [Slightly refactor unpull (make it an alias). Eric Kow <[EMAIL PROTECTED]>**20070728095057] [mark dangerous code with a fixme. David Roundy <[EMAIL PROTECTED]>**20070727012503] [Fix typo. Eric Kow <[EMAIL PROTECTED]>**20070805084445] [resurrect --no-deps [issue353] Tommy Pettersson <[EMAIL PROTECTED]>**20070801213028] [make --no-deps work with obliterate, unrecord and unpull Tommy Pettersson <[EMAIL PROTECTED]>**20070801212519] [make --no-deps work with push and send Tommy Pettersson <[EMAIL PROTECTED]>**20070801212256] [Export the non-interactive part of get_author. Eric Kow <[EMAIL PROTECTED]>**20070731190748] [Fix conflicts between issue308 fix and amend-record metadata editing. Eric Kow <[EMAIL PROTECTED]>**20070729191434] [Do not run test suite if amending metadata only. Eric Kow <[EMAIL PROTECTED]>**20070728055505] [Add patchname to logfile when amending long comment. Eric Kow <[EMAIL PROTECTED]>**20070728054752 And simplify use of unlines (we already detect trailing newline). ] [Catch bad patch names in record --pipe. Eric Kow <[EMAIL PROTECTED]>**20070727203606 This appears to be a bug by which we have not yet been bitten. ] [[issue389] Support record -m --prompt-long-comment. Eric Kow <[EMAIL PROTECTED]>**20070727203503] [Combine get_patchname with get_log in record command. Eric Kow <[EMAIL PROTECTED]>**20070727203237 This probably makes the code longer, but more explicit and with support for 'prior patchnames' (for amend-record). ] [Add test for issue467. Eric Kow <[EMAIL PROTECTED]>**20070801184138] [[issue467] changes --context --repodir Eric Kow <[EMAIL PROTECTED]>**20070801184051] [Remove more GUI code. Eric Kow <[EMAIL PROTECTED]>**20070727202816] [Move just_dir helper function to Darcs.FilePathUtils. Eric Kow <[EMAIL PROTECTED]>**20070730193703] [Rename fix_maybe_absolute and friends to something clearer. Eric Kow <[EMAIL PROTECTED]>**20070730193603 As suggested by David. ] [Rename (again) query/list to show. Eric Kow <[EMAIL PROTECTED]>**20070730184757 Clarify the online help while we're at it. ] [improve error message when unable to access a repository. David Roundy <[EMAIL PROTECTED]>**20070726230517] [Always use cloneFile for copying files. Kevin Quick <[EMAIL PROTECTED]>**20070723065621] [Refactor amend-record test. Eric Kow <[EMAIL PROTECTED]>**20070725194320] [Makes non-repository paths in DarcsFlags absolute [issue427]. Zachary P. Landau <[EMAIL PROTECTED]>**20070724013425] [fix typo Tommy Pettersson <[EMAIL PROTECTED]>**20070729225249] [Fix issue308: don't record empty patch with --ask-deps Kevin Quick <[EMAIL PROTECTED]>**20070728190329] [move to pure record-access in Patch.Info. David Roundy <[EMAIL PROTECTED]>**20070727001358] [Expose more PatchInfo parts and switch to record syntax. Eric Kow <[EMAIL PROTECTED]>**20070725210644] [Add a 'commit' command stub. Eric Kow <[EMAIL PROTECTED]>**20070722053050] [Add test for issue308 Kevin Quick <[EMAIL PROTECTED]>**20070723062114] [fix website in darcs.cgi. David Roundy <[EMAIL PROTECTED]>**20070802220205] [resolv issue490 fix in stable (will conflict with resolv in unstable) Tommy Pettersson <[EMAIL PROTECTED]>**20070729225410] [[issue386] Fix some --dry-run messages: "Would push" not "Pushing". Eric Kow <[EMAIL PROTECTED]>**20070722211900] [[issue313] Ensure that logfile for record has trailing newline. Eric Kow <[EMAIL PROTECTED]>**20070722053200] [Update test suite to account for mark-conflicts command. Eric Kow <[EMAIL PROTECTED]>**20070722044435] [resolve conflict. David Roundy <[EMAIL PROTECTED]>**20070422213416] [make copyInventory work for all permutations of repo formats. David Roundy <[EMAIL PROTECTED]>**20070422155344] [fix bug in Internal. David Roundy <[EMAIL PROTECTED]>**20070422155324] [add support for different kinds of get. David Roundy <[EMAIL PROTECTED]>**20070422152934] [don't print "partial repository" guess. David Roundy <[EMAIL PROTECTED]>**20070422150603 This guess is all too often inaccurate, and with the new hashed inventories, it'll be even more often inaccurate. ] [remove redundant copyInventory. David Roundy <[EMAIL PROTECTED]>**20070422144910] [add tests for mixed inventories to hashed_inventory.sh. David Roundy <[EMAIL PROTECTED]>**20070418234821] [fix FIXME for handling hashed+normal inventory at the same time. David Roundy <[EMAIL PROTECTED]>**20070418215614 This fix also makes the tests pass with both inventory types enabled, so I added that to the test suite. This was easier than I expected! ] [by default test hashed inventories plus normal. David Roundy <[EMAIL PROTECTED]>**20070329010900] [fix bug in hashed-inventory get David Roundy <[EMAIL PROTECTED]>**20070530172527] [fix strict get to a hashed repo from another. David Roundy <[EMAIL PROTECTED]>**20070422151300 The trouble was that my clever idea of lazily downloading patches even during a strict get didn't work, since we didn't have the source while reading the patches the second time. One option would be to add that source while applying patches the second time, but that seems like it'd require a more tricky interface than just copying things strictly the first time. ] [remove TODO from passing repodir.pl test David Roundy <[EMAIL PROTECTED]>**20070530195104] [Do not set defaultrepo if --dry-run (issue186). Eric Kow <[EMAIL PROTECTED]>**20070717101607] [Fix handling of --repo with relative paths. Eric Kow <[EMAIL PROTECTED]>**20070714160336 We did not correctly deal with the case where the user passes in a directory path via the --repo flag (cf --repodir). The fix is to make findRepository properly aware of the --repo flag. This way, if we have been passed a --repo argument, and the argument is a directory, we avoid calling seekRepo. Note that we still have to keep the old code around too, to cover the case where --repo is a URL. ] [Modernise imports of System.IO. Eric Kow <[EMAIL PROTECTED]>**20070507192521 Note that some try/bracket/etc are now imported from Control.Exception. ] [rewrite --lazy to be more flexible. David Roundy <[EMAIL PROTECTED]>**20070416154113 This change makes it so we can handle a configured set of URLs for patch origins. See the description in the Prefs.lhs documentation for details. In addition, I've added a new --ephemeral option, which allows the user to create repositories without any patch files at all (which seems a bit scary, but potentially handy). ] [Fix issue329: typing q for record --ask-deps records anyway with no deps. Kevin Quick <[EMAIL PROTECTED]>**20070718055426] [Rename query to list; manifest to files. Eric Kow <[EMAIL PROTECTED]>**20070718204703 query => list (with query as alias) query manifest => list files (with manifest as alias) query tags => list tags Note that the list manifest and list files commands differ in that the former displays directories by default and the latter does not. ] [Refactor aliases and stubs (rm, unadd, resolve). Eric Kow <[EMAIL PROTECTED]>**20070718201453] [Add helpers command_alias and command_stub. Eric Kow <[EMAIL PROTECTED]>**20070718200940] [Make --directories the default in query manifest (issue456). Eric Kow <[EMAIL PROTECTED]>**20070716220308] [Tweak padding in usage_helper (mark-conflicts needs an extra space). Eric Kow <[EMAIL PROTECTED]>**20070716230013] [Rename resolve to mark-conflicts (issue113). Eric Kow <[EMAIL PROTECTED]>**20070716225635 Resolve is retained as a (hidden) alias. ] [Implement hidden commands. Eric Kow <[EMAIL PROTECTED]>**20070716204107 This makes it possible to have command stubs or aliases without cluttering the usage info. ] [Implement command stubs 'rm', 'unadd', 'move' (issue127). Eric Kow <[EMAIL PROTECTED]>**20070716202944 These hidden commands are either stubs (they print some text and quit) or aliases (they do the same thing as some other command). ] [Fix hscurl.c conflicts. Eric Kow <[EMAIL PROTECTED]>**20070714195126] [Add test for issue396. Eric Kow <[EMAIL PROTECTED]>**20070717054431] [Filter out empty filenames (issue396). Eric Kow <[EMAIL PROTECTED]>**20070717054319] [Always use permissive disambiguation of commands. Eric Kow <[EMAIL PROTECTED]>**20070717051631] [Allow --list-options even if command cannot be run (issue297). Eric Kow <[EMAIL PROTECTED]>**20070716210631 If the command cannot be run, just print the possible flags, not the file args. ] [Distinguish between strict and permissive disambiguation (regression). Eric Kow <[EMAIL PROTECTED]>**20070715203256 Permissive disambiguation lets you handle the case where you supply a supercommand and a flag (i.e. not a subcommand). ] [Refactor parsing of command line arguments. Eric Kow <[EMAIL PROTECTED]>**20070715200140] [Rewrite disambiguate_commands. Eric Kow <[EMAIL PROTECTED]>**20070715200119 This should make it more explicit what is going on. ] [String parameters to libcurl are kept alive to conform with the api specification [EMAIL PROTECTED] [Use prettyException in clarify_errors (issue73). Eric Kow <[EMAIL PROTECTED]>**20070717050732 This solves one of three bugs in issue73, namely that we blame the user for darcs's own errors. ] [Use Control.Exception.catch in Darcs.Utils Eric Kow <[EMAIL PROTECTED]>**20070717050613 This affects helper functions like catchall and clarify_errors. ] [Fix supercommand --help (issue282). Eric Kow <[EMAIL PROTECTED]>**20070715170843] [Fix missing newline in inventory (issue412). Eric Kow <[EMAIL PROTECTED]>**20070718210138 This simplifies third party scripts that have to parse the darcs inventory. ] [Add crossref.png (issue485). Eric Kow <[EMAIL PROTECTED]>**20070714230519] [Add all pulled repos to _darcs/prefs/repos (issue368). Eric Kow <[EMAIL PROTECTED]>**20070717180127] [Implement apply --dry-run (issue37). Eric Kow <[EMAIL PROTECTED]>**20070717103257] [Define datarootdir early enough in autoconf.mk.in (issue 493). Dave Love <[EMAIL PROTECTED]>**20070714165441] [More concise --look-for-adds description. Eric Kow <[EMAIL PROTECTED]>**20070708141727] [Harmonise capitalisation (etc) in flags help. Eric Kow <[EMAIL PROTECTED]>**20070708122719] [fix repodir test cleanup Tommy Pettersson <[EMAIL PROTECTED]>**20070715183319] [Canonize Andres Loeh and Daniel Gorin. Eric Kow <[EMAIL PROTECTED]>**20070714200521] [Sort tags file (Vim likes it that way). Eric Kow <[EMAIL PROTECTED]>**20070708213833] [Fix tags target in Makefile to account for mv to src. Eric Kow <[EMAIL PROTECTED]>**20070708212921] [Fix Makefile bug (symlink for bigpage.tex). Eric Kow <[EMAIL PROTECTED]>**20070714192500] [work around < < problem in bigpage.html [issue483] Tommy Pettersson <[EMAIL PROTECTED]>**20070712233559 latex2html seems to misunderstand the sequence "\<" in verbatim mode, so I split it into two verbatim sections. It appears to look the same, but it could probably cause an unfortunate line break. ] [Fix issue420: User Agent size limit for curl gets is removed. Kevin Quick <[EMAIL PROTECTED]>**20070711225049] [fix links to wiki on web page (again) Tommy Pettersson <[EMAIL PROTECTED]>**20070630080403 (They aren't broken, but) change the /index.html/ part to /DarcsWiki/ as David intended it. ] [move URL for darcs.cgi to new server. David Roundy <[EMAIL PROTECTED]>**20070629200757] [fix for issue 490 David Roundy <[EMAIL PROTECTED]>**20070629195741 This patch ensures that we never try to use a checkpoint for a tag that isn't in a place where the inventory is broken. It's a little ugly because it also puts more of the checkpoint handling code in Checkpoint, which required a refactor to avoid import loops. ] [In tests, don't assume grep has -q and -x flags. Dave Love <[EMAIL PROTECTED]>**20070225114022] [Add send --output-auto-name information to the documentation. Zachary P. Landau <[EMAIL PROTECTED]>**20070221014555] [Add test for send --output-auto-name. Zachary P. Landau <[EMAIL PROTECTED]>**20070221014501] [Add --output-auto-name option to Send. Zachary P. Landau <[EMAIL PROTECTED]>**20070221014327] [add test to trigger yet another buggy case. David Roundy <[EMAIL PROTECTED]>**20070422152651] [check for gzopen directly in zlib [EMAIL PROTECTED] Without this change, configure will fail on systems having curl and zlib in different locations. Because curl depends on zlib and is already detected prior to zlib by the configure file, the AC_CHECK_FUNC check to curl will succeed. Some combinations of pkgconfig/curl versions do no longer add the -lz flag in its pkgconfig file, so darcs won't record -lz as a necessary flag, and the build will fail later. A different solution to the problem would be to move the whole check for zlib to *before* the check for curl. ] [Fix Windows build breakage. Eric Kow <[EMAIL PROTECTED]>**20070520054713] [Use System.Process under Unix. Eric Kow <[EMAIL PROTECTED]>**20070426194615] [Remove conflictors unit tests. Eric Kow <[EMAIL PROTECTED]>**20070513063537] [Complete conflictors code removal. Eric Kow <[EMAIL PROTECTED]>**20070513061545 Remove submerge_in_dir function, apparantly only used by the conflictors code. ] [remove unneeded (and unsafe) export from Patch. David Roundy <[EMAIL PROTECTED]>**20070511005356] [remove (unused) conflictor code David Roundy <[EMAIL PROTECTED]>**20070511003956] [Fix makefile conflict. Eric Kow <[EMAIL PROTECTED]>**20070512194803] [fix path to completion scripts Peter Simons <[EMAIL PROTECTED]>**20070511033227] [Support makefile docdir/datarootdir variables. Dave Love <[EMAIL PROTECTED]>**20070507210129 Also avoid warnings from autoconf 2.61. The backward compatibility stuff should be tidied up once requiring 2.61 is acceptable. ] [cut unneeded pragma from SlurpDirectory.lhs David Roundy <[EMAIL PROTECTED]>**20070505140749] [Added prehooks Jason Dagit <[EMAIL PROTECTED]>**20070505202210] [Use system for calling interactive cmds in Windows instead of rawSystem. Eric Kow <[EMAIL PROTECTED]>**20070415132608 This lets us support switches, for example, in DARCS_EDITOR. ] [Fix test/ssh.sh conflicts. Eric Kow <[EMAIL PROTECTED]>**20070311205156] [fix test_scripts bug pointed out by Eric. David Roundy <[EMAIL PROTECTED]>**20070421213635] [remove unused export from RepoFormat. David Roundy <[EMAIL PROTECTED]>**20070414174933] [Modernise imports of Foreign.Ptr. Eric Kow <[EMAIL PROTECTED]>**20070407102536] [Make record_editor.pl test work under Windows. Eric Kow <[EMAIL PROTECTED]>**20070415132932 I believe setting the PATH to '' was giving me libcurl4.dll complaints under Windows. Note also that this simplifies away part of a test, in that we were initially trying to create stuff in a directory called 'temp dir2 " "', but just creating the dir itself got so tricky that I just gave up and switched to 'temp dir2', still with a space, no quotes. ] [Make mv.pl test pass on Windows. Eric Kow <[EMAIL PROTECTED]>**20070415114122 Fixed test count mismatch, and recovery of absolute path under msys. ] [Move packaging related stuff to its own directory (release). Eric Kow <[EMAIL PROTECTED]>**20070401071845] [Move extras to their own directory (tools). Eric Kow <[EMAIL PROTECTED]>**20070401071734 Shell completion scripts, cgi. ] [fix bug Eric pointed out (which has also now bitten me). David Roundy <[EMAIL PROTECTED]>**20070404233317 This was a bug in the Checkpoint repo, where we assumed we were looking at the current working directory, incorrectly. ] [Fix unit.lhs import. Eric Kow <[EMAIL PROTECTED]>**20070331194046 ...due to sloppy scripting during the hierarchical shakeup. ] [whitespace cleanups in makefile. David Roundy <[EMAIL PROTECTED]>**20070330152018] [fail on error in get_patches_beyond_tag. David Roundy <[EMAIL PROTECTED]>**20070328172408 This will expose any bugs where we use this function wrongly. (As was the case in darcs check --partial with hashed inventories.) ] [Fix conflicts. Eric Kow <[EMAIL PROTECTED]>**20070313210908] [Modernise imports of Control.Monad. Eric Kow <[EMAIL PROTECTED]>**20070313205312] [In tests, don't assume diff has -u, -x flags. Dave Love <[EMAIL PROTECTED]>**20070305202838] [Fixes for Solaris sh in tests: no $(...), test -e, or ! pipelines. Dave Love <[EMAIL PROTECTED]>**20070311170210] [Add changelog entries (file: quick) for pull --complement changes. Kevin Quick <[EMAIL PROTECTED]>**20070205185329] [Fix bash-ism `export foo=' in tests. Dave Love <[EMAIL PROTECTED]>**20070225113216] [More sed compliance on pull_compl test. Eric Kow <[EMAIL PROTECTED]>**20070217073744] [Fix pull_compl test sed compliance. Kevin Quick <[EMAIL PROTECTED]>**20070214033347] [Add pull_compl test; note interesting duplicate repo elimination in docs. Kevin Quick <[EMAIL PROTECTED]>**20070206065236] [Include src/Darcs/Patch in makefile's SRC_DIRS. Dave Love <[EMAIL PROTECTED]>**20070415215139] [Re-fix MAKEMANUAL. Dave Love <[EMAIL PROTECTED]>**20070415122733] [Fix MAKEMANUAL conflict. Eric Kow <[EMAIL PROTECTED]>**20070413231608] [Fix MAKEMANUAL make target. Dave Love <[EMAIL PROTECTED]>**20070410192153] [Move documentation to its own directory (doc). Eric Kow <[EMAIL PROTECTED]>**20070401071635] [fix bug in makefile regarding manual. David Roundy <[EMAIL PROTECTED]>**20070330154259] [Correct compilation errors in win32 due to src reorganisation. Eric Kow <[EMAIL PROTECTED]>**20070313210732] [Move osx directory to src. Eric Kow <[EMAIL PROTECTED]>**20070313200304] [Extend GHCFLAGS override mechanism to allow for subdirectories. Eric Kow <[EMAIL PROTECTED]>**20070313193917] [Fix manual compilation errors (due to source reorganisation). Eric Kow <[EMAIL PROTECTED]>**20070313214302] [Resolve Makefile conflict. Eric Kow <[EMAIL PROTECTED]>**20070413231906] [Fix conflicts; adapt QueryTag to new hierarchical structure. Eric Kow <[EMAIL PROTECTED]>**20070331191925] [Fix applyToWorking conflicts. Eric Kow <[EMAIL PROTECTED]>**20070422060319 Was recorded against darcs stable post 1.0.9rc2. ] [add support for partial and lazy downloading of hashed repos. David Roundy <[EMAIL PROTECTED]>**20070405000616] [add framework for lazily fetching hash files. David Roundy <[EMAIL PROTECTED]>**20070403232223 This patch doesn't yet actually have any effect, but prepares the way for changes to allow a variety of --partial that won't have the downside of sometimes causing darcs to fail later, since one can always download the patch files from the original server. ] [make --set-scripts-executable work with get and hashed inventories. David Roundy <[EMAIL PROTECTED]>**20070329010828] [fix checkpoint handling with hashed inventories. David Roundy <[EMAIL PROTECTED]>**20070330154325] [Modernise imports of Data.(Char|Int|List|Maybe). Eric Kow <[EMAIL PROTECTED]>**20070313210805] [Modernise imports of System.Directory. Eric Kow <[EMAIL PROTECTED]>**20070313205200] [Move Haskell sources to src directory with hierarchical structure. Eric Kow <[EMAIL PROTECTED]>**20070313200751 src general modules, possibly to be spun off as non-darcs libraries administrative stuff (e.g., modules generated by autoconf) src/Darcs darcs-specific modules, catch-all for modules I didn't know what to do with src/Darcs/Patch core patch operations src/Darcs/Repository modules specific to the maintenance of the darcs repo, especially the _darcs stuff src/Darcs/Commands the darcs commands, e.g. pull, record, whatsnew ] [Move C files to src directory. Eric Kow <[EMAIL PROTECTED]>**20070313200135] [Add subdirectories for source files. Eric Kow <[EMAIL PROTECTED]>**20070313194050] [Fix conflicts related to --ssh-cm flag. Eric Kow <[EMAIL PROTECTED]>**20070311205820] [change "current" to (or add) "pristine" in verbose message and doc Tommy Pettersson <[EMAIL PROTECTED]>**20070211191942] [Resolve conflict between complement add and get_recorded_unsorted. Kevin Quick <[EMAIL PROTECTED]>**20070206071832] [Added --complement to pull to allow "exclusion" repos Kevin Quick <[EMAIL PROTECTED]>**20070204181301] [refactor get_unrecorded. David Roundy <[EMAIL PROTECTED]>**20070128231405 I've removed the [DarcsFlag] argument, and added two new functions get_unrecorded_unsorted, and get_unrecorded_no_look_for_adds, which do what they say. I think this simplifies its use, and cleans things up a tad. It doesn't scale to many different ways to get_unrecorded, but I don't think we want to go there. ] [Correct test for quoted arguments in DARCS_EDITOR. Eric Kow <[EMAIL PROTECTED]>**20070204211312 1) On MacOS X, grep lives in /usr/bin, not /bin 2) We shouldn't escape the double quotes because they're already protected by the single quotes ] [Restore working directory if no repository is found (issue385). Zachary P. Landau <[EMAIL PROTECTED]>**20070203173440 seekRepo continues to go further up the directory tree looking for a repository. If we are not in a repository, our current working directory becomes /. This causes problems with code that falls back on creating temporary files in the current directory. This patch will restore the directory the user started in if seekRepo fails. ] [use (empty) opts to Repository in list_authors and make_changelog Tommy Pettersson <[EMAIL PROTECTED]>**20070128165840 They where left out in the opts Repository refactoring. ] [fix bug triggered in replace.sh David Roundy <[EMAIL PROTECTED]>**20070128002206 This bug was an annoying one that seemed to involve trouble caused by unsafeInterleaveIO and the order of evaluation, since we change the working directory. I've simplified the code significantly. Complicating the debug process was a race condition caused by the lack of --ignore-times in replace.sh, which was because darcs replace didn't accept that option. ] [refactor: add opts into Repository. David Roundy <[EMAIL PROTECTED]>**20070128000728] [add test for replace that messes with unrecorded hunks Tommy Pettersson <[EMAIL PROTECTED]>**20070125153803] [go back to using system for edit_file/view_file instead of exec (system 'cmd "$ARG"') Benedikt Schmidt <[EMAIL PROTECTED]>**20070131162811] [use TODO instead of pass for record_editor test Benedikt Schmidt <[EMAIL PROTECTED]>**20070131161635] [add some tests for edit_file and DARCS_EDITOR handling Benedikt Schmidt <[EMAIL PROTECTED]>**20070131011526] [Remove extraneous parentheses (RepoFormat). Eric Kow <[EMAIL PROTECTED]>**20070127231359] [make write_repo_format agree with read_repo_format (use | for separating properties) Benedikt Schmidt <[EMAIL PROTECTED]>**20070126143752] [Remove unused functions from Population. Eric Kow <[EMAIL PROTECTED]>**20070107232034 The functions are not shown to be used by any other part of darcs. Perhaps they should be restored if we ever get to work seriously on libdarcs. ] [Import IO.bracket instead of Control.Exception.bracket in Exec. Eric Kow <[EMAIL PROTECTED]>**20070107211935 This makes darcs work on *nix the same way it did before Simon Marlow's runProcess patch for Windows and my conflict-resolution tweaks. ] [Import bracketOnError from Workaound instead of Control.Exception. Eric Kow <[EMAIL PROTECTED]>**20061225212444 bracketOnError was introduced in GHC 6.6, whereas we want to support 6.4.1 and higher. ] [Fix conflicts and compile errors (Exec runProcess stuff). Eric Kow <[EMAIL PROTECTED]>**20061225212423 Side A: Simon Marlow: Use System.Process on Windows Side B: Edwin Thomson : Make Exec.lhs not import unneeded Control.Exception functions when compiling on Windows. Magnus Jonsson : Added rigorous error checking in exec Compile errors in question were just import-related issues. ] [Use System.Process on Windows Simon Marlow <[EMAIL PROTECTED]>**20061129160710 This was an attempt to address "[issue218] Patch bundle failed hash", but unfortunately it doesn't fix the problem. Still, System.Process is a better way to invoke external commands these days. For now, the new code only replaces the Windows version of exec. This means that GHC 6.4 will be required to build darcs on Windows. Better would be to add a configure test, but I ran out of time here. ] [fix [issue370], darcs ignored args contained in VISUAL variable Benedikt Schmidt <[EMAIL PROTECTED]>**20061220110807 given VISUAL="emacs -nw", darcs would run "emacs file" instead of "emacs -nw file" ] [Make annotate work on files with spaces in the name [EMAIL PROTECTED] ] [Resolve conflicts in David's hashed_inventory optimize patches. Eric Kow <[EMAIL PROTECTED]>**20061217031027 ] [Make hashed inventories support optimize and reordering. David Roundy <[EMAIL PROTECTED]>**20061216193913] [fix issue360, with darcs mv foo foo. David Roundy <[EMAIL PROTECTED]>**20061217212340] [Prettify exceptions in identifyRepository. Juliusz Chroboczek <[EMAIL PROTECTED]>**20061218025453] [QP-encode bundles when putting to a remote repo. Juliusz Chroboczek <[EMAIL PROTECTED]>**20061218003034] [fix pending bug in darcs get --tag. David Roundy <[EMAIL PROTECTED]>**20061217225256 This patch addresses the bug displayed in Tommy's test: Mon Dec 11 20:28:21 CET 2006 Tommy Pettersson <[EMAIL PROTECTED]> * add test for get --tag and pending ] [Separate comment from OPTIONS pragma for GHC 6.4 compatibility. Eric Kow <[EMAIL PROTECTED]>**20061217041212 ] [make optimize less DarcsRepo-specific. David Roundy <[EMAIL PROTECTED]>**20061209205755] [fix bug in haskell_policy check for HopefullyPrivate. David Roundy <[EMAIL PROTECTED]>**20061210234453 Perhaps with this test, we can rename it to CertainlyPrivate? :) ] [don't use HopefullyPrivate outside of Hopefully. David Roundy <[EMAIL PROTECTED]>**20061210231623 The idea is to hide the Hopefully constructors, so I can hide some more information in there, if I like, which should be handy for the hashed inventories, and may also come in handy (for similar reasons) with git repositories. ] [change Maybe Patch to Hopefully Patch. David Roundy <[EMAIL PROTECTED]>**20061210213536 This rather pervasive change move us to using a new Hopefully type, which is similar to Either String for storing patches that may or may not exist. This should improve error reporting. At a minimum it'll making easier to improve error reporting. ] [resolve conflict in white space. David Roundy <[EMAIL PROTECTED]>**20061210211846] [fix pending bug that broke several_commands.sh. David Roundy <[EMAIL PROTECTED]>**20061209223916] [eliminate DarcsRepo.am_in_repo. David Roundy <[EMAIL PROTECTED]>**20061204153128 This patch is a Good Thing, even though repair and optimize don't yet properly support anything bug old-fashioned repositories, because without it, when using such repositories, one can find those command operating on a different repository than intended (e.g. the test suite runs optimize on the darcs repository itself). Now they'll fail as they ought to, when run on a repo format they don't support. ] [fix hashed inventory bug in add and prevent it happening again. David Roundy <[EMAIL PROTECTED]>**20061204020823] [make get and put reuse initialize code. David Roundy <[EMAIL PROTECTED]>**20061203220833 This patch actually fixes put to properly accept and use any flags that init accepts, which is a Good Thing. It also ensures that get behaves consistently with init in the future. Also a Good Thing. ] [make put work with hashed inventories (and test for this). David Roundy <[EMAIL PROTECTED]>**20061203211141] [add some more hashed_inventory.sh tests. David Roundy <[EMAIL PROTECTED]>**20061203173207] [fix more incompatible uses of DarcsRepo. David Roundy <[EMAIL PROTECTED]>**20061203064355] [make replace work with hashed inventories. David Roundy <[EMAIL PROTECTED]>**20061203055452] [Make get_tag test work with hashed inventories. David Roundy <[EMAIL PROTECTED]>**20061203055019] [make directory_confusion pass with hashed inventories. David Roundy <[EMAIL PROTECTED]>**20061203035551 I'm not sure whether there is still a bug in the pending handling here, but at least it doesn't crash... ] [update annotate for hashed inventories Jason Dagit <[EMAIL PROTECTED]>**20061108033202 Fixes test suite failure for annotate on a repository with hashed inventory. ] [resolve conflicts Tommy Pettersson <[EMAIL PROTECTED]>**20061117222757 between 'clean up unrevert and pending handling' and 'ignore failure from hSetBufferin' ] [Resolve conflict in Resolution.lhs. Eric Kow <[EMAIL PROTECTED]>**20061113032236 ] [fix new get to not mess up pending (fixes latest hashed_inventory.sh tests). David Roundy <[EMAIL PROTECTED]>**20061203173722] [External resolution can resolve conflicting adds [EMAIL PROTECTED] [Only copy files needed in external_resolution [EMAIL PROTECTED] [change message in 'darcs check' from "applying" to "checking" (issue147) Tommy Pettersson <[EMAIL PROTECTED]>**20061111154259] [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. ] [fix parsing of hashed inventories. David Roundy <[EMAIL PROTECTED]>**20060927024505] [put Repository in Show class for debugging ease. David Roundy <[EMAIL PROTECTED]>**20060927021202] [add a bit of hashed inventory code. David Roundy <[EMAIL PROTECTED]>**20060918173904] [Added --store-in-memory option for diff [EMAIL PROTECTED] ] [make darcs check use Repository framework. David Roundy <[EMAIL PROTECTED]>**20060927024514] [resolve conflicts Tommy Pettersson <[EMAIL PROTECTED]>**20061102184834 Merge Unrecord fix for checkpoints inventory with Repository code refactoring. ] [Move RawMode into DarcsUtils to break cyclic imports on Win32 Josef Svenningsson <[EMAIL PROTECTED]>**20061004120024] [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] [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). ] [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] [fix ordering of operations to call pull_first_middles properly. David Roundy <[EMAIL PROTECTED]>**20060730111409] [fix bug in refactoring of get. David Roundy <[EMAIL PROTECTED]>**20060726121655] [refactor Population. David Roundy <[EMAIL PROTECTED]>**20060716034837] [add TODO for refactoring get_markedup_file. David Roundy <[EMAIL PROTECTED]>**20060716034339] [partial refactoring in annotate. David Roundy <[EMAIL PROTECTED]>**20060716034319] [don't use DarcsRepo in list_authors. David Roundy <[EMAIL PROTECTED]>**20060716033450] [I've now eliminated need to export DarcsRepo.write_patch. David Roundy <[EMAIL PROTECTED]>**20060716033109] [partially refactor Optimize. David Roundy <[EMAIL PROTECTED]>**20060716032934] [partial refactoring of Get. David Roundy <[EMAIL PROTECTED]>**20060716031605] [refactor amend-record. David Roundy <[EMAIL PROTECTED]>**20060716021003] [add TODO to refactor unrevert handling. David Roundy <[EMAIL PROTECTED]>**20060716020247] [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] [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 ] [TAG darcs-unstable-20060831 Juliusz Chroboczek <[EMAIL PROTECTED]>**20060831191554] [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. ] [add right-arrow with new name desired by new latex2html. [EMAIL PROTECTED] [change wiki links on webpage to wiki.darcs.net Tommy Pettersson <[EMAIL PROTECTED]>**20070617095655] [bump version to 1.1.0pre1 Tommy Pettersson <[EMAIL PROTECTED]>**20070616202236] [TAG 1.0.9 Tommy Pettersson <[EMAIL PROTECTED]>**20070603213706] Patch bundle hash: 43493f9800dadffefa1c0a3bd0d3cbdba4e97eb5
_______________________________________________ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel