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
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel