New patches: [Enable display of code in literate darcs (not for official use :-) Eric Kow **20061230210153] { hunk ./darcs.lhs 19 -%\usepackage{color} +\usepackage{color} hunk ./darcs.lhs 24 -\newenvironment{code}{\comment}{\endcomment} -% \newenvironment{code}{\color{blue}\verbatim}{\endverbatim} +% \newenvironment{code}{\comment}{\endcomment} +\newenvironment{code}{\color{blue}\verbatim}{\endverbatim} hunk ./preproc.hs 36 -preproc ("\\begin{code}":ss) = ignore ss hunk ./preproc.hs 103 -ignore :: [String] -> IO [String] -ignore ("\\end{code}":ss) = preproc ss -ignore (_:ss) = ignore ss -ignore [] = return [] - } Context: [Hard link support on Windows Simon Marlow *-20061204162040 This works only on NTFS filesystems. Also it requires Windows 2000 or later; this may or may not be acceptable, I'll leave that up to the darcs maintainers to decide. ] [eliminate DarcsRepo.am_in_repo. David Roundy **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 **20061204020823] [make get and put reuse initialize code. David Roundy **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 **20061203211141] [make it an error to "put" into a preexisting directory. David Roundy **20061203205826 This changes darcs' behavior I believe for the better. Often one could be tempted to try to put into a directory, expecting to have the repository created as a subdirectory there, and it seems confusing (confused me) to have instead the repository contents mingled with whatever was already in that directory. Put should behave like get in this regard, in that it shouldn't mix the new repo with a preexisting directory. ] [fix new get to not mess up pending (fixes latest hashed_inventory.sh tests). David Roundy **20061203173722] [add some more hashed_inventory.sh tests. David Roundy **20061203173207] [fix more incompatible uses of DarcsRepo. David Roundy **20061203064355] [make replace work with hashed inventories. David Roundy **20061203055452] [Make get_tag test work with hashed inventories. David Roundy **20061203055019] [make directory_confusion pass with hashed inventories. David Roundy **20061203035551 I'm not sure whether there is still a bug in the pending handling here, but at least it doesn't crash... ] [catch exceptions in stdout_is_a_pipe Simon Marlow **20061129160620] [hFlush after "waiting for lock" message Simon Marlow **20061129160342 On Windows, stdout isn't always in line-buffered mode, but we really want to see the message about waiting for a lock quickly. Mostly because ^C isn't always caught properly on Windows and lock files are often left behind, but that's another storey... ] [add explicit import list Simon Marlow **20061129160144] [Improve error messages in push_cmd chevalier@alum.wellesley.edu**20061207040701 I ran into this because MSYS was munging my repository directory in a horrible way. This resulted in a bad repo directory getting passed into darcs, which resulted in a fromJust error, which we all know makes the baby Jesus cry. So, I at least refactored the code to give a better error message, though there may well be a better solution. ] [Hard link support on Windows Simon Marlow **20061204162040 This works only on NTFS filesystems. Also it requires Windows 2000 or later; this may or may not be acceptable, I'll leave that up to the darcs maintainers to decide. ] [adapt test sametwice to new obliterate --all feature Tommy Pettersson **20061130132058] [Adapt test perms.sh to obliterate --all feature. Eric Kow **20061209200625] [fix for Issue111, obliterate --all David Roundy **20061129164016 This is a patch to implement the wishless item Issue111, which asks for an --all option to obliterate. The idea is that you might use the --patches flag to select a bunch of patches and not want to have to say yess to all of them. For good measure, I also added it to unpull and unrecord. ] [use impossible to document impossible case in Repair. David Roundy **20061204152854] [use variable TEST_FILTER_FILE in makefile. David Roundy **20061204151217] [configure should fail if a required module isn't present. David Roundy **20061128024557] [Remove raw_mode functions from atomic_create.h. Eric Kow **20061008202738 It seems these were once implemented in compat.c and have since been reimplemented in Haskell by Ian Lynagh on 2005-07-30. These appear to just be leftover declarations in the C header. ] [resolve conflicts Tommy Pettersson **20061117222757 between 'clean up unrevert and pending handling' and 'ignore failure from hSetBufferin' ] [ignore failure from hSetBuffering Tommy Pettersson **20061117221424 This affects: issue41 Doesn't like pasted text. issue94 Crash on bogus input issue146 hSetBuffering: invalid argument issue318 buffering error of darcs record under bash/cmd.exe It doesn't necessarily "fix" anything. It prevents darcs from quiting, instead continuing with perhaps an undesirable buffering mode, which may or may not be better ... or worse. ] [Fix curses stuff, especially on Solaris 10. Dave Love **20061120171211] [TAG 1.0.9rc2 Tommy Pettersson **20061116140351] [add some changelog entries Tommy Pettersson **20061116135447] [Define infodepspatch locally in AmendRecord instead of exporting it from Patch edwin.thomson@businesswebsoftware.com**20061121093332 ] [Make libcurl use any http authentication. Tobias Gruetzmacher **20061118230406 This let darcs use repositories protected with digest authentication. ] [Redirect stderr to Null when exiting SSH control master. Eric Kow **20061118212115 This suppresses the output * Pseudo-terminal will not be allocated because stdin is not a terminal. (result of redirecting stdin from /dev/null) * Exit request sent. (seems to be normal output. Seems also that there is no way to suppress this; -q does not do the job, for example) ] [Overhaul and improve automation of ssh_test. Eric Kow **20061121141802 * Now quits if you don't supply REMOTE; does not have any silly default values * Options now passed in through environment variables, so: NO_CONTROL_MASTER=1 REMOTE=me@192.168.2.12 ./ssh_test * Performs some automated success checks (which means that it should be possible to use this from the harness if you have ssh-agent running) * Performs darcs send test * Does not try to pass darcs-ssh flags (like --disable-ssh-cm) to non-ssh-using commands like record ] [Rename ssh_test to ssh.sh (for shell harness). Eric Kow **20061121141101 Note that you must set environment variables for it do anything useful (namely REMOTE=you@someserver); something like the following should work: REMOTE=me@192.168.2.3 make test You need to be using public key authentication to have a fully automated test. ] [Support darcs send --disable-ssh-cm. Eric Kow **20061121134158] [Canonize Edwin Thomson. Eric Kow **20061118174454] [Make Exec.lhs not import unneeded Control.Exception functions when compiling on Windows. edwin.thomson@businesswebsoftware.com**20061114182952 ] [Annotate various boring patterns. Dave Love **20061113225701] [Add make rules for tags files. Dave Love **20061113213923] [Amending a patch doesn't remove explicit dependencies edwin.thomson@gmail.com**20061110222837] [look for --disable-ssh-cm in defaults files (issue351) Tommy Pettersson **20061117180942] [refactor is_malicious_path (for easier reading) Tommy Pettersson **20061113191040] [really use new malicious file path check in pull (not in changes) Tommy Pettersson **20061113182628] [Add a semi-automated test for SSH-related things. Eric Kow **20061110110801 Testing SSH stuff is tricky in that (1) you need some place to connect to and (2) you often want to make sure that the user interactions work out right. But it can't hurt to script away the boring stuff so that you are naturally encouraged to test things out more thoroughly. ] [Pass -q flag to scp only, not ssh and scp. Eric Kow **20061108225137 Putty's SSH (plink) does not recognise the -q flag. ] [remove old malicious_filename check (issue177) Tommy Pettersson **20061110211757] [Update FSF address in DarcsCommandsAux.lhs. Eric Kow **20061113032907] [use new malicious file path check in pull and apply (issue177) Tommy Pettersson **20061110211702] [fix latex markup error Tommy Pettersson **20061110205511] [add new malicious file path check system Tommy Pettersson **20061110132338 Adds a new module DarcsCommandsAux for auxiliary functionality common to more than one darcs command. ] [add function for finding all file names in a patch Tommy Pettersson **20061109144144] [Resolve conflict in Resolution.lhs. Eric Kow **20061113032236 ] [External resolution can resolve conflicting adds edwin.thomson@businesswebsoftware.com**20061106114755] [Only copy files needed in external_resolution edwin.thomson@businesswebsoftware.com**20061106114719] [change message in 'darcs check' from "applying" to "checking" (issue147) Tommy Pettersson **20061111154259] [add missing space in print_version (issue283) Tommy Pettersson **20061111132808] [Extra boring patterns. Dave Love **20061109004620] [really dump generated darcs.ps in subdir manual/ Tommy Pettersson **20061108175122 Now with working makefile! ] [update annotate for hashed inventories Jason Dagit **20061108033202 Fixes test suite failure for annotate on a repository with hashed inventory. ] [Update FSF address in copyright headers. Dave Love **20061104180508] [Add COPYING.LIB for fpstring.c. Dave Love **20061104180121] [Pass email address only for %t in --sendmail-command. Eric Kow **20061029112604 Given an address like Bubba Dupont , pass bubba@jonescollege.edu to the %t argument. Msmtp seems to require this at least. Note that the full address (Bubba Dupont etc) is already encoded in the message body anyway. ] [Refactor sendEmail and sendEmailDoc. Eric Kow **20061029105048] [Make Send code slightly easier to understand. Eric Kow **20061029100316] [make darcs.cgi look for both pristine and current Dan **20061101222005] [Don't lock the repo during `query manifest' (issue315). Dave Love **20061105125701] [Include curses.h with term.h (issue326). Dave Love **20061105123851] [make Get work with hashed inventory. David Roundy **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. ] [make darcs check use Repository framework. David Roundy **20060927024514] [fix parsing of hashed inventories. David Roundy **20060927024505] [put Repository in Show class for debugging ease. David Roundy **20060927021202] [add test target for testing hashed inventories. David Roundy **20060927020127] [add a bit of hashed inventory code. David Roundy **20060918173904] [I fixed up a bit of bad grammars. Bill Trost **20061102033207] [bumb version to 1.0.9rc2 Tommy Pettersson **20061009204226] [dump generated darcs.ps in subdir manual/ Tommy Pettersson **20061102152516] [resolve conflicts Tommy Pettersson **20061102184834 Merge Unrecord fix for checkpoints inventory with Repository code refactoring. ] [remove unrecorded tags from the checkpoint inventory (issue281) Tommy Pettersson **20061031220157 The commands Check, Get and Repair all can make use of the checkpoint inventory. Unrecord, Unpull and Obliterate forgot to remove deleted patches from that inventory. ] [add test that unrecord of tag removes checkpoint Tommy Pettersson **20061007152648] [English and markup fixes. Dave Love **20061104153036] [add HACKING file Jason Dagit **20061104214749] [Do _not_ allow escaped quotes in `quoted'. Eric Kow **20061030064531 This undoes the patch by Dave Love: Allow escaped quotes in `quoted'. The immediate problem is that it breaks make_changelog (because one of Tommy's entries matches on a backslash). This feature might need more discussion before we include it (or not). ] [Tidy filenames before invoking tar Wim Lewis **20061026035535 Only use the last path component of --dist-name for the distribution name; the rest is still used when creating the final tar file. (issue323) ] [Add hi-boot and o-boot extensions in default boring file. Eric Kow **20061019071304 These are automatically generated from hs-boot. Suggested by Bulat Ziganshin. ] [Replace tabs with spaces (escaped quotes in PatchMatch). Eric Kow **20061023192003] [Fix some obsolete autoconf stuff. Dave Love **20061015155914] [Allow escaped quotes in `quoted'. Dave Love **20060716193940] [TAG 1.0.9rc1 Tommy Pettersson **20061008175207] [bump version to 1.0.9rc1 Tommy Pettersson **20061008175156] [Added --store-in-memory option for diff edwin.thomson@businesswebsoftware.com**20061006122802 ] [Move RawMode into DarcsUtils to break cyclic imports on Win32 Josef Svenningsson **20061004120024] [Look for Text.Regex in package regex-compat. Needed for GHC 6.6 Josef Svenningsson **20061004123158] [Added rigorous error checking in exec Magnus Jonsson **20061006222630 All lowlevel C return values are checked and turned into exceptions if they are error codes. In darcs main ExecExceptions are caught and turned into error messages to help the user. ] [Require 'permission denied' test for MacOS X again. Eric Kow **20060930121032 This removes a workaround that had demoted a pull.pl test to a mere TODO under MacOS X. For some reason, under MacOS X, we would occasionally get "Unexpected error: 0" instead of "permission denied". The error was first reported on 2005-11-06 by Erik Schnetter. We still don't know why it does this, but now test seems to systematically "unexpectedly succeed" under MacOS X 10.4.7. Perhaps something in MacOS X that was fixed since the error was reported? ] [In procmail examples, don't use a lock file era+darcs@iki.fi**20060924111522] [add some changelog entries Tommy Pettersson **20060930120140] [remove duplicate file names in fix_filepaths (fixes issue273) Tommy Pettersson **20060929145335] [add test for replace command with duplicated file name Tommy Pettersson **20060929144008] [remove some tabs from darcs source Tommy Pettersson **20060929211203] [--matches now accepts logical 'and' 'or' '!' in addition to '&&' '||' 'not'. Pekka Pessi **20060915140406] [Canonize Era Eriksson. Eric Kow **20060928223224] [Move bug reporting code to its own module. Eric Kow **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 **20060917214136] [Reword paragraph about Procmail's umask handling era+darcs@iki.fi**20060924114546 The explanation now helpfully hints that similar tricks may be necessary in other mail programs, too ] [Wrap .muttrc example so it doesn't bleed into margin in PostScript version era+darcs@iki.fi**20060924111313] ["Granting access to a repository": remove odd orphaned? sentence era+darcs@iki.fi**20060924111142] [era's trivial typo fixes era+darcs@iki.fi**20060924110945 * best_practices.tex (subsection{Conflicts}): \emph pro \verb around emphasized word "only" * DarcsArguments.lhs (intersection_or_union): uppercase "[DEFAULT]"; (disable_ssh_cm docs): remove duplicate "which" * Help.lhs: Missing full stop in description of --extended-help * Mv.lhs (mv_description): Missing apostrophe in "Apple's" * PatchShow.lhs (showHunk): Replace "that the white space must not" with "that whitespace must not" ] [show error messages when starting and stoping the ssh control master Tommy Pettersson **20060916010645] [redirect errors to null where exec output is used but failure is not fatal Tommy Pettersson **20060916010116 Error messages in the output would destroy the result, but if the command fails some other action is taken, so error messages shall not be displayed to the user. ] [redirect errors to stderr where exec output is used Tommy Pettersson **20060916005651 Error messages would destroy the result if they ended up in the output. If the external command fails, darcs should (but does not always) fail. ] [redirect errors to stderr where exec is checked and darcs fails Tommy Pettersson **20060916004407 In these situations the user will get both the error message from the failing external command and a message from darcs about what action it could not perform. ] [simplify helper function stupidexec in copyRemoteCmd Tommy Pettersson **20060915222923] [reindent some long lines Tommy Pettersson **20060915222654] [update calls to exec and exec_fancy to new interface Tommy Pettersson **20060915222226] [fix typo Tommy Pettersson **20060915164446] [rewrite Exec.lhs, new exec interface with Redirects Tommy Pettersson **20060911102933 Make the code structure a bit simpler and easier to understand. Only one (fancy) version of exec. ] [Fix Windows stderr non-redirection. Eric Kow **20060909055204 (It was consistently redirecting to stdout.) Also make the exec code more readable/transparent. ] [whatsnew --look-for-adds doesn't read unadded files (fix for issue79) Jason Dagit **20060910193803 The default mode for whatsnew --look-for-adds is summary mode. In summary mode full patches are not needed. This fix changes whatsnew --look-for-adds to stop computing the full patch for a file when the file is not managed by darcs. ] [Correct canonical email for Kirill Smelkov Kirill Smelkov **20060912080004] [Be explicit about timezone handling (issue220); assume local by default. Eric Kow **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 **20060610193049 ] [move test for tabs from makefile to haskell_policy test Tommy Pettersson **20060730122348] [add test for haskell policy Tommy Pettersson **20060730121404] [ratify some uses of readFile and hGetContents Tommy Pettersson **20060730121158] [Remove direct dependency to mapi32.dll; Improve MAPI compatibility. Esa Ilari Vuokko **20051130000915] [Canonize Kirill Smelkov and Anders Hockersten. Eric Kow **20060910052541] [Correct 'one one' in web page. Eric Kow **20060908191241] [Fix merge conflicts. Juliusz Chroboczek **20060906191317] [fix bug in pristine handling when dealing with multiple patches. David Roundy **20060731111404] [fix ordering of operations to call pull_first_middles properly. David Roundy **20060730111409] [make amend-record.pl test a bit pickier. David Roundy **20060730103854] [simplify code a tad in get. David Roundy **20060726121737] [fix bug in refactoring of get. David Roundy **20060726121655] [refactor Population. David Roundy **20060716034837] [add TODO for refactoring get_markedup_file. David Roundy **20060716034339] [partial refactoring in annotate. David Roundy **20060716034319] [don't use DarcsRepo in list_authors. David Roundy **20060716033450] [I've now eliminated need to export DarcsRepo.write_patch. David Roundy **20060716033109] [partially refactor Optimize. David Roundy **20060716032934] [partial refactoring of Get. David Roundy **20060716031605] [refactor amend-record. David Roundy **20060716021003] [add TODO to refactor unrevert handling. David Roundy **20060716020247] [refactor Unrecord, adding tentativelyRemovePatches. David Roundy **20060716015150] [refactor tag. David Roundy **20060716011853] [refactor Repository to allow truly atomic updates. David Roundy **20060716011245] [Do not redirect to or from /dev/null when calling ssh. Eric Kow **20060903214831 Redirection of stdin and stdout breaks putty, which uses these to interact with the user. Quiet mode, and redirecting stderr are good enough for making ssh silent. ] [Exec improvements : Windows redirection, and more redirection control. Eric Kow **20060707054134 - Implement ability to redirect to /dev/null under Windows (eivuokko on #darcs points out that it is NUL under Windows) - Add exec_ function, which does the same thing as exec, but allows redirection on stderr, and also allows us to NOT redirect stdin/stderr ] [Ignore .git if _darcs found. Juliusz Chroboczek **20060831231933] [overhaul the darcs.net front page. Mark Stosberg **20060820191415 The themes to this change are: - Focus on the key benefits of darcs: Distributed. Interactive. Smart. - Recognize that the wiki is the central resource, and remove some information that is duplicated here and reference the wik instead. I can post a demo of this HTML for easy comparison if you'd like. Mark ] [Reimplement --disable-ssh-cm flag (issue239). Eric Kow **20060812134856 My patch to "Only launch SSH control master on demand" accidentally removed the ability to disable use of SSH ControlMaster. Also, the way it was implemented is not compatible with launching on demand. This implementation relies on a notion of global variables using unsafe IORefs. ] [Compile Global.lhs in place of AtExit.lhs. Eric Kow **20060812121943] [Rename AtExit module to Global. Eric Kow **20060812121925 The goal is to capture some broad "global" notions like exit handlers and global variables. Note the GPL header thrown in for good measure. ] [Raise exception if unable to open logfile (issue142). Zachary P. Landau **20060810034035] [Make the pull 'permission test' work when run as root Jon Olsson **20060831193834] [TAG darcs-unstable-20060831 Juliusz Chroboczek **20060831191554] Patch bundle hash: 01d73b12d7fd251e727ce9465587498504eea8e9