Here it is as a clean patch. Sorry for the noise.
Sun Jan 15 00:00:20 CET 2006 Eric Kow <[EMAIL PROTECTED]>
* remove spurious '.' in doc
Sat Mar 18 01:15:22 CET 2006 Eric Kow <[EMAIL PROTECTED]>
* Add a --diff-command flag.
Tue Mar 21 00:59:32 CET 2006 Eric Kow <[EMAIL PROTECTED]>
* Refactor external-merge feature to use CommandLine.parseCmd.
New patches:
[remove spurious '.' in doc
Eric Kow <[EMAIL PROTECTED]>**20060114230020]
<
> {
hunk ./Resolution.lhs 70
To resolve conflicts using an external tool, you need to specify a command
to use, e.g.
\begin{verbatim}
---external-merge 'opendiff %1 %2 -ancestor %a -merge %o'.
+--external-merge 'opendiff %1 %2 -ancestor %a -merge %o'
\end{verbatim}
The \verb!%1! and \verb!%2! are replaced with the two versions to be
merged, \verb!%a! is replaced with the common ancestor of the two versions.
}
[Add a --diff-command flag.
Eric Kow <[EMAIL PROTECTED]>**20060318001522]
<
> {
hunk ./DarcsArguments.lhs 50
all_gui_pipe_interactive, all_gui_interactive,
summary, unified, tokens,
checkpoint, partial, partial_check,
- diffflags, unidiff, xmloutput,
+ diff_cmd_flag, diffflags, unidiff, xmloutput,
force_replace, dry_run,
print_dry_run_message_and_exit,
match_one, match_several, match_range,
hunk ./DarcsArguments.lhs 197
human_readable, diffflags, allow_caseonly, noskip_boring,
ask_long_comment, match_one_nontag, changes_reverse, creatorhash,
changes_format, match_one_context, happy_forwarding, send_to_context,
+ diff_cmd_flag,
use_external_merge, target, cc, apply_conflict_options, reply, xmloutput,
distname_option, patchname_option, edit_description, output, unidiff,
intersection_or_union,
hunk ./DarcsArguments.lhs 606
"output patch in a darcs-specific format similar to diff -u"
unidiff = DarcsNoArgOption ['u'] ["unified"] Unified
"pass -u option to diff"
+diff_cmd_flag = DarcsArgOption [] ["diff-command"]
+ DiffCmd "COMMAND" "specify diff command (ignores --diff-opts)"
\end{code}
\begin{code}
hunk ./DarcsFlags.lhs 51
| Reply String | ApplyAs String
| MachineReadable | HumanReadable
| Pipe | Gui | SubGui | Interactive
+ | DiffCmd String
| ExternalMerge String | Summary | NoSummary
| Unified | Reverse
| CheckPoint | Partial | Complete
hunk ./DiffCommand.lhs 21
module DiffCommand ( diff_command ) where
import Directory ( setCurrentDirectory )
import Workaround ( getCurrentDirectory )
-import DarcsUtils ( withCurrentDirectory )
-import Monad ( liftM )
+import DarcsUtils ( askUser, bug, withCurrentDirectory )
+import Monad ( liftM, when )
import List ( (\\) )
import Autoconf ( diff_program )
hunk ./DiffCommand.lhs 26
+import CommandLine ( parseCmd )
import DarcsCommands ( DarcsCommand(..), nodefaults )
hunk ./DiffCommand.lhs 28
-import DarcsArguments ( DarcsFlag(DiffFlags, Unified),
+import DarcsArguments ( DarcsFlag(DiffFlags, Unified, DiffCmd),
match_range,
hunk ./DiffCommand.lhs 30
- diffflags, unidiff,
+ diff_cmd_flag, diffflags, unidiff,
working_repo_dir, fix_filepath,
)
import Match ( get_first_match, get_second_match,
hunk ./DiffCommand.lhs 77
command_get_arg_possibilities = return [],
command_argdefaults = nodefaults,
command_darcsoptions = [match_range,
+ diff_cmd_flag,
diffflags, unidiff,
working_repo_dir]}
\end{code}
hunk ./DiffCommand.lhs 111
get_diff_opts (Unified:fs) = "-u" : get_diff_opts fs
get_diff_opts (DiffFlags f:fs) = f : get_diff_opts fs
get_diff_opts (_:fs) = get_diff_opts fs
+
+has_diff_cmd_flag :: [DarcsFlag] -> Bool
+has_diff_cmd_flag (DiffCmd _:_) = True
+has_diff_cmd_flag (_:t) = has_diff_cmd_flag t
+has_diff_cmd_flag [] = False
+
+-- | Returns the command we should use for diff as a tuple (command, arguments).
+-- This will either be whatever the user specified via --diff-command or the
+-- default 'diff_program'. Note that this potentially involves parsing the
+-- user's diff-command, hence the possibility for failure with an exception.
+get_diff_cmd_and_args :: [DarcsFlag] -> String -> String
+ -> Either String (String, [String])
+get_diff_cmd_and_args opts f1 f2 = helper opts where
+ helper (DiffCmd c:_) =
+ case parseCmd [ ('1', f1) , ('2', f2) ] c of
+ Left err -> Left $ show err
+ Right ([],_) -> bug $ "parseCmd should never return empty list"
+ Right ((h:t),_) -> Right (h,t)
+ helper [] = -- if no command specified, use 'diff'
+ Right (diff_program, ("-rN":get_diff_opts opts++[f1,f2]))
+ helper (_:t) = helper t
\end{code}
If you want to view only the differences to one or more files, you can do
hunk ./DiffCommand.lhs 140
% darcs diff foo.c bar.c baz/
\end{verbatim}
-FIXME: I should allow the user to specify the external diff command.
-Currently it is hardwired to ``diff''.
+\begin{options}
+--diff-command
+\end{options}
+
+You can use a different program to view differences by including
+the flag \verb!--diff-command!, e.g.
+\begin{verbatim}
+--diff-command 'opendiff %1 %2'.
+\end{verbatim}
+The \verb!%1! and \verb!%2! are replaced with the two versions to be
+merged. The above example works with the FileMerge.app tool that comes with
+Apple's developer tools. To use xxdiff, you would use
+\begin{verbatim}
+--diff-command 'xxdiff %1 %2'
+\end{verbatim}
+To use \verb!kdiff3!, you can use
+\begin{verbatim}
+--diff-command 'kdiff3 %1 %2'
+\end{verbatim}
+
+Note that the command is split into space-separated words and the first one is
+\verb!exec!ed with the rest as arguments---it is not a shell command. Also
+the substitution of the \verb!%! escapes is only done on complete words.
+See \ref{resolution} for how you might work around this fact, for example,
+with Emacs' Ediff package.
+
+Note also that the \verb!--diff-opts! flag is ignored if you use this option.
\begin{code}
diff_cmd :: [DarcsFlag] -> [String] -> IO ()
hunk ./DiffCommand.lhs 197
$$ thediff
where just_dir d = reverse $ takeWhile (/='/') $ reverse d
rundiff :: String -> String -> IO Doc
- rundiff f1 f2 = execPipeIgnoreError diff_program
- ("-rN": get_diff_opts opts++[f1, f2]) empty
+ rundiff f1 f2 =
+ case get_diff_cmd_and_args opts f1 f2 of
+ Left err -> fail err
+ Right (d_cmd, d_args) ->
+ let other_diff = has_diff_cmd_flag opts in
+ do when other_diff $ putStrLn $
+ "Running command '" ++ unwords (d_cmd:d_args) ++ "'"
+ output <- execPipeIgnoreError d_cmd d_args empty
+ when other_diff $ do
+ askUser "Hit return to move on..."
+ return ()
+ return output
path_list = if null args then [""] else map (fix_filepath "" opts) args
\end{code}
}
[Refactor external-merge feature to use CommandLine.parseCmd.
Eric Kow <[EMAIL PROTECTED]>**20060320235932
]
<
> {
hunk ./Resolution.lhs 29
import Patch
+import CommandLine ( parseCmd )
import DarcsUtils ( askUser )
import SlurpDirectory ( Slurpy, slurp, list_slurpy )
import Repository ( PatchSet )
hunk ./Resolution.lhs 192
-> IO ()
externally_resolve_file c da d1 d2 dm (fa, f1, f2, fm) = do
putStrLn $ "Merging file "++fm++" by hand."
- ec <- runWithSubst c [("%1", d1///f1), ("%2", d2///f2), ("%a", da///fa),("%o", dm///fm),("%%", "%")]
+ ec <- run c [('1', d1///f1), ('2', d2///f2), ('a', da///fa), ('o', dm///fm), ('%', "%")]
when (ec /= ExitSuccess) $
putStrLn $ "External merge command exited with " ++ show ec
askUser "Hit return to move on..."
hunk ./Resolution.lhs 198
return ()
--- | Run a command string with a list of replacement patterns.
-runWithSubst :: String -> [(String,String)] -> IO ExitCode
-runWithSubst cmd replacements
- = runCommand (words (substitute replacements cmd))
- where
- runCommand (command:args) | not (null command)
- = do putStrLn $ "Running command '" ++
- unwords (command:args) ++ "'"
- exec command args "/dev/null" "/dev/null"
- runCommand _ = return ExitSuccess
-
--- | Substitute (non-recursively) a list of (pattern,replacement) tuples in a string.
-substitute :: [(String,String)] -> String -> String
-substitute reps s
- = case s of
- "" -> ""
- c:cs -> head ([(rep ++ substitute reps rest) | (pat,rep) <- reps
- , let (matches,rest) = matchPattern pat s
- , matches ]
- ++
- [c:substitute reps cs] -- default case if no pattern matches
- )
-
--- | Match a pattern against a string. Return a tuple where the first component is 'True' if
--- the pattern matched, and the second component the part of the string after the pattern.
-matchPattern :: String -> String -> (Bool,String)
-matchPattern [] s
- = (True,s)
-matchPattern (p:ps) s
- = case s of
- (c:cs) | c == p -> matchPattern ps cs
- _ -> (False,s)
-
+run :: String -> [(Char,String)] -> IO ExitCode
+run c replacements =
+ case parseCmd replacements c of
+ Left err -> fail $ show err
+ Right (c2,_) -> rr c2
+ where rr (command:args) = do putStrLn $ "Running command '" ++
+ unwords (command:args) ++ "'"
+ exec command args "/dev/null" "/dev/null"
+ rr [] = return ExitSuccess
(///) :: FilePath -> FilePath -> FilePath
d /// f = d ++ "/" ++ f
}
Context:
[Minor tweaks to manual.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060307143305]
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060307135524]
[make "-f" a synonym for "--force"
[EMAIL PROTECTED]
[Correct gui patch selection for commands like obliterate.
Eric Kow <[EMAIL PROTECTED]>**20060307032303
The gui patch selection system did not reverse/invert patches in
commands that need this behaviour (obliterate, unrecord). We solve
the problem by relying on code which factorises common behaviour
between the text and graphical patch selection systems.
]
[Refactor output end of SelectChanges.
Eric Kow <[EMAIL PROTECTED]>**20060307032052]
[Fix layout bug in OS X Tiger (wxDarcs).
Eric Kow <[EMAIL PROTECTED]>**20060302142517
Seems the solution to all gui ills is to add another panel.
]
[Resolve darcs gui conflict.
Eric Kow <[EMAIL PROTECTED]>**20060302010257
Pull.lhs was conflicting with Edwin Thomson's 2005-12-08 patch
"Don't make merge folders when we don't need them". This
patch merges the changes.
]
[Correct copyFrameworks script (gui, osx).
[EMAIL PROTECTED]
All binaries and libraries have some entry which tells what libraries
they are linked against. Any libraries which are not on the vanilla OS
X need to be copied into the application bundle so that it will work
anywhere. Whilst copying the libraries, you also need to change the
entries refering to these libraries so that they point to the
application bundle, and not their original path (e.g. /usr/local/lib).
I had done this for the binary, but not for the libraries being copied.
Also, make the copying of libraries recursive.
]
[Correct compilation of gui code in console mode.
Eric Kow <[EMAIL PROTECTED]>**20060131013107]
[Scripts and makefile target to distribute wxDarcs on OS X.
Eric Kow <[EMAIL PROTECTED]>**20060131012439
Creates an application bundle and a .dmg file.
]
[Add a standalone graphical interface.
Eric Kow <[EMAIL PROTECTED]>**20060131012036
The gui code prior to this patch allows graphical darcs forms to be run from
the command line. This builds off that functionality by adding a graphical
front-end, allowing users to access these forms with a click of a button.
In other words, this allows users to run darcs without the command line.
Much more work will have to be done on this front end before it is as usable as
the command-line darcs, but hopefully patch shall kick things off.
]
[Send darcs commands' output to log (gui only).
Eric Kow <[EMAIL PROTECTED]>**20060130232608
If running in SubGui mode, darcs commands send their output to wxWidgets log
instead of stdout, because under the standalone gui, this output would
otherwise be hidden.
]
[Add a lock mechanism for graphical interfaces.
Eric Kow <[EMAIL PROTECTED]>**20060130215323
Add a distinct lock for the GUI. What makes this lock different is
that taking and setting the lock are done seperately, instead of
using an atomic operation like withRepoLock. This allows us to
assign the releasing of the lock to GUI events like closing a window.
This would be useful for a standalone interface to prevent weird
race conditions, for example, from mulitple Record windows being open.
Note that withLock is not enough for this purpose; the lock would
already be released before the user even touches the window.
]
[Make unpull, unrecord, obliterate accept --gui.
Eric Kow <[EMAIL PROTECTED]>**20060130201041
This also has the side effect of them accepting --interactive.
]
[Abstract the patch-viewer widget.
Eric Kow <[EMAIL PROTECTED]>**20060130153753
We shouldn't care how the patch-viewer is implemented.
]
[Add a SubGui flag.
Eric Kow <[EMAIL PROTECTED]>**20060130153530
The SubGui flag enables commands to be run under a main GUI.
The idea is that wxhaskell's start function really does not
like to be called more than once, so we avoid calling it
a second time if a main gui already has done so.
]
[Remove tabs in graphical output.
Eric Kow <[EMAIL PROTECTED]>**20060130134403
Wxhaskell has trouble when tabs are included in the text to be
displayed. We quietly convert these tabs into spaces.
]
[(GUI) Create GuiUtils.lhs, move tree widget code to it.
Eric Kow <[EMAIL PROTECTED]>**20060129004445
Also, simplify the tree widget code. This file will provide a
central place for various graphical odds and ends.
]
[Refactor calls to Rez in makefile (OS X).
Eric Kow <[EMAIL PROTECTED]>**20060125235731]
[Fix layout bugs in GUI (buttons were being hidden).
Eric Kow <[EMAIL PROTECTED]>**20060122215729
For some reason, scrolled windows seem to need to be inside of panels
for them to behave correctly when their parent windows are resized.
Otherwise they hide the button bars used in Record and SelectChanges.
Also, slightly simplify GUI code to avoid proliferation of widgets.
]
[Fix conflict between Zachary P. Landau's and my patch.
Eric Kow <[EMAIL PROTECTED]>**20060306010743
]
[Refactor SelectChanges.lhs.
Eric Kow <[EMAIL PROTECTED]>**20060306004421
1. Rearrange parameters of with_any_selected_changes to favour eta reduction.
2. Refactor type definitions for with_selected...changes functions to
indicate that it's all the same thing.
3. Separate patch counting with decisions about which patches we should
consider.
]
[Perl tests: get rid of 'darcs: <stdin>: hGetLine: end of file' messages
Marnix Klooster <[EMAIL PROTECTED]>**20060304180420
These were printed because 'n' was not answered to 'Really unpull' and 'Really
obliterate' questions.
Also, do not send superfluous '\n' to darcs in echo_to_darcs().
]
[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.
]
[Make darcs exit after last patch in changes --interactive.
Zachary P. Landau <[EMAIL PROTECTED]>**20060303014534
Currently, hitting 'j' on the last patch in changes --interactive has
no effect. This patch will cause darcs to exit, making the command
more consistent with an interactive pull.
]
[Fix crash when using changes --interactive with --patch or --match
Zachary P. Landau <[EMAIL PROTECTED]>**20060303013820]
[Chdir systematically in Repository.lhs.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060303181824
Unlike the other functions in Repository.lhs, applyToPristine, get_unrecorded
and sync_repo used to require that the caller chdir to the right place.
This fixes that inconsistency.
]
[Improved support for absolute paths (issue39)
Eric Kow <[EMAIL PROTECTED]>**20060304111532
This modifies fix_maybe_absolute so that if you specify a repository
directory, any absolute paths prefixed by this directory are converted
to be ones relative to the repodir.
The following commands now account for arguments which are absolute
paths but refer to files in the repository:
add, amend-record, annotate, changes, diff,
mv, record, remove, replace, revert, whatsnew
The following commands are not actually affected, though the code
is changed:
apply, push, pull, put.
This patch also slightly refactors FilePathUtils.lhs
]
[Enable tests for absolute paths.
Eric Kow <[EMAIL PROTECTED]>**20060304104355]
[Extend argument substitution for --external-merge
Daan Leijen <[EMAIL PROTECTED]>**20060214062042
Argument substitution used to work on words at the time which made
it difficult to use Windows merge tools like the supernice tortoiseMerge.
Now, substitution of "%a" etc. takes place everywhere and we can write:
--external-merge 'tortoiseMerge /base:"%a" /mine:"%1" /theirs:"%2" /merged:"%o"
To make it complete, we substitute "%%" to "%".
]
[boring += autom4te.cache/
Kirill Smelkov <[EMAIL PROTECTED]>**20060130071416]
[omit the "Finished getting." message when --quiet
Simon Marlow <[EMAIL PROTECTED]>**20060120074731]
[Enable GUI on MacOS X with /Developer/Tools/Rez.
Eric Kow <[EMAIL PROTECTED]>**20060121004325
Without this command, the darcs GUI does not take focus under MacOS X.
]
[Reimplement flexible GUI widget for whatsnew.
Eric Kow <[EMAIL PROTECTED]>**20060121001049
The current implementation was not working, maybe as a result of
a wxhaskell or WxWidgets bug in which resized widgets lose their
new sizes when the parent window is resized.
The new implementation works around this by displaying patches in
tree form. Each node is a patch summary, and expanding that node
reveals the full patch.
]
[Freshen GUI code so that it compiles.
Eric Kow <[EMAIL PROTECTED]>**20060121000818]
[Don't make merge folders when we don't need them
[EMAIL PROTECTED]
]
[Add "y" and "n" commands to changes --interactive.
Zachary P. Landau <[EMAIL PROTECTED]>**20060115054548]
[Save email description file if a send fails
Zachary P. Landau <[EMAIL PROTECTED]>**20060114204826]
[posthook success/failure messages with --verbose only
Jason Dagit <[EMAIL PROTECTED]>**20060113204930
Changes behavior of posthook status messages. Use --verbose to have
posthook status messages. Error reporting can be turned off with
--quiet. Note: The command run by the posthook might still generate
output, this patch does not address this output.
]
[bump version to 1.0.7pre1
Tommy Pettersson <[EMAIL PROTECTED]>**20060301000323]
[show 1.0.6 as latest stable source on web page
Tommy Pettersson <[EMAIL PROTECTED]>**20060301000158
Forgot this, again :-/
]
[removed last bits of create-repo from makefile (issue14)
Jason Dagit <[EMAIL PROTECTED]>**20060113212432]
[TAG 1.0.6
Tommy Pettersson <[EMAIL PROTECTED]>**20060228111841]
[bump version to 1.0.6
Tommy Pettersson <[EMAIL PROTECTED]>**20060228111833]
[fix bug in release state version extraction
Tommy Pettersson <[EMAIL PROTECTED]>**20060226182419
Save result of old regexp match before matching new regexps.
]
[remove dependency on unit from normal tests in makefile
Tommy Pettersson <[EMAIL PROTECTED]>**20060226181751]
[bump version to 1.0.6rc2
Tommy Pettersson <[EMAIL PROTECTED]>**20060226164451]
[TAG 1.0.6rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20060219231919]
[bump version to 1.0.6rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20060219231900]
[add some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20060219231847]
[change suggestion in bestpractices on reverting addfile to use remove
Tommy Pettersson <[EMAIL PROTECTED]>**20051115101928]
[resolve conflicts
Tommy Pettersson <[EMAIL PROTECTED]>**20060219213218]
[Minor documentation editing.
Bill Trost <[EMAIL PROTECTED]>**20060108193245
Change details:
* Replace "repo" with "repository" where practical.
* Replace "an email" with something less grating. (-:
* Try to consistify formatting, punctuation, & capitalization.
* etc.
]
[check for malicious path before applying patch (issue48)
Tommy Pettersson <[EMAIL PROTECTED]>**20060219192328]
[new test for unpull
Tommy Pettersson <[EMAIL PROTECTED]>**20060212172344]
[reimplement --set-script-executable after apply_list unoptimization
Tommy Pettersson <[EMAIL PROTECTED]>**20060123004900]
[revert optimization for apply_list
Tommy Pettersson <[EMAIL PROTECTED]>**20060119231523
The optimization made unrecord and unpull sometimes fail.
It, unnecessarily, removes the --set-script-executable functionality.
]
[Commute patches when getting a specific version of a repo
[EMAIL PROTECTED]
Fix for issue 67
]
[add test for get --tag with commuted patches (Issue67)
Tommy Pettersson <[EMAIL PROTECTED]>**20060211194736
Supplied by Grant Husbands.
]
[Add newline between long comment and changed files list in dry-run summary
[EMAIL PROTECTED]
[remove TODO from three passing tests in pull.pl
Tommy Pettersson <[EMAIL PROTECTED]>**20060211183857]
[new TODO test for better message on directory conflict when pulling
Mark Stosberg <[EMAIL PROTECTED]>**20051124003621]
[test suite: fix some glitches in directory creation/removal
Tommy Pettersson <[EMAIL PROTECTED]>**20060130012803]
[dateparser.sh only tries to delete tmp if it exists
Jason Dagit <[EMAIL PROTECTED]>**20060114021327]
[All perl tests use cleanup at beginning instead of rm_rf
Jason Dagit <[EMAIL PROTECTED]>**20060114021114
rm_rf will give an error (causing test to fail) when the directory is
missing. Use cleanup instead as it will not give an error.
]
[Added author to darcs record commandline in dateparser.sh
Jason Dagit <[EMAIL PROTECTED]>**20060114021017]
[Fixed minor typo in home page.
Marnix Klooster <[EMAIL PROTECTED]>**20060113054649]
[use exact matching in some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20060129124023]
[add some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20060129123955]
[Detect dates which overflow. Throw a more helpful error message.
Eric Kow <[EMAIL PROTECTED]>**20060211194521
An example of a date which overflows is "105 years ago" on my system.
For reference: The "problem" is not so much Haskell's System.Time, but
in the underlying C library. System.Time uses Integer to represent
ClockTime, so theoretically this number can be as big as we want.
However, the function addToClockTime makes a call to 'mktime' (time.h)
to get a value for the number of seconds elapsed since 1970. And this
value is of a fixed-size type (time_h). If the number of seconds
overflows, mktime returns -1 to indicate an error. This is detected by
System.Time and propagated up as a user error "Time.toClockTime: invalid
input".
]
[Correct dateparser test's self-cleanup.
Eric Kow <[EMAIL PROTECTED]>**20060129210701
The dateparser test was not properly removing its own tmp directory,
causing it to be a pain when using the tests/tests_to_run mechanism.
]
[Remove '4 score, 7 years ago' from dateparser test.
Eric Kow <[EMAIL PROTECTED]>**20060129210635]
[Update dateparser test with CVS style dates.
Eric Kow <[EMAIL PROTECTED]>**20060120233434]
[Add time zone support for CVS date parsing. (issue104)
Eric Kow <[EMAIL PROTECTED]>**20060120233327
]
[call unnamed patches "changes" in interactive patch selection dialogue
Tommy Pettersson <[EMAIL PROTECTED]>**20060113203829
It currently affects record, revert and amend, but will generally do
"the right thing".
]
[fix pathname in comment in darcs.cgi.in
[EMAIL PROTECTED]
[fix win32 build breaks
Will <[EMAIL PROTECTED]>**20060112054853]
[fix content-type in rss output of cgi
Will <[EMAIL PROTECTED]>**20060110052938]
[resolve conflict
Tommy Pettersson <[EMAIL PROTECTED]>**20060108173148]
[Obey normal autoconf conventions.
Dave Love <[EMAIL PROTECTED]>**20051117190231
Allows you to `make install prefix=...', for instance, and doesn't change
default for sysconfdir.
]
[add link to darcs-unstable repo on darcs home page
Tommy Pettersson <[EMAIL PROTECTED]>**20060107212721]
[Don't say "yes" in an infinite loop.
Bill Trost <[EMAIL PROTECTED]>**20060108162605
I ended up with this test hanging forever because the while loop wasn't getting
a SIGPIPE because of the way my editor environment (no controlling tty?) was
set up. We have a pretty good idea of how many "y"s are needed anyhow.
]
[fix crash caused by tests failing on amend-record
Zachary P. Landau <[EMAIL PROTECTED]>**20060108174722]
[Make the "record --pipe" docs match the program behavior.
Bill Trost <[EMAIL PROTECTED]>**20060107050910]
[Make --exact-version also work if darcs is built from "make dist" tar ball
Marnix Klooster <[EMAIL PROTECTED]>**20060106205857
This is to prevent "darcs --exact-version" outputting something like
darcs compiled on Mar 2 2005, at 10:56:16
unknown
as it does when building from the output of "make dist", e.g., from the
official tarballs at darcs.net. (This is what a lot of people and distros do.
Gentoo does this, and I'm using Gentoo, and I want to be able to do "darcs
--exact-version" and have it output something sensible.)
The reason that this problem occurs is that while doing 'make predist' (in the
'predist' preference), Context.hs was nicely preserved by predist_copy, but
then thrown away by distclean which calls clean. So the resulting tarball has
no Context.hs, which results in the "unknown" exact version.
The solution consists of the following:
* Only remove Context.hs in "clean" if it can be rebuilt using its rule
in automake.mk (i.e., if _darcs/inventory exists, so if we are in a
repository).
* Target realclean is renamed to the newer maintainer-clean and extended a
little, according to the GNU make manual (not strictly necessary).
As a result of this, we now follow GNU makefile conventions more closely. See
the rules in the "Standard Targets for Users" section of the GNU make manual
(currently at http://www.gnu.org/software/make/manual/html_node/make_127.html),
and an interpretation of these rules in the "What Gets Cleaned" section of the
GNU automake manual (currently at
http://www.gnu.org/software/automake/manual/html_node/Clean.html).
Thanks to Taral <[EMAIL PROTECTED]> for the above info.
]
[only create log file when a long comment was requested
Zachary P. Landau <[EMAIL PROTECTED]>**20060108181034]
[Use temporary file when editing send description.
Zachary P. Landau <[EMAIL PROTECTED]>**20051217212051]
[--repodir for changes (RT #196 and #567)
Eric Kow <[EMAIL PROTECTED]>**20060109001224
Changes already accepts a --repo flag for possibly remote repo dirs, but there
is no reason not to also accept --repodir. The gain in consistency outweighs
the cost in redundancy.
Also, do not attempt to get_repodir unless --repo is in the arguments. This
is so that --repodir can work with relative paths. (Otherwise, darcs tries to
change directory twice, which is bad).
]
[More canonization
Eric Kow <[EMAIL PROTECTED]>**20060108235935
canonized : Mark Stosberg, Erik Schnetter, Joeri van Ruth
identified: Richard Smith, Victor Hugo Borja Rodriguez
]
[Improved single-character prompt (RT #261)
Eric Kow <[EMAIL PROTECTED]>**20060108225741
In the dialogue prompting for a single character as a response, if the
user just presses enter, we behave is if we got an invalid response.
This way, the user gets a little bit of feedback that he should respond
differently.
Also: refactors the case where there is a default answer and where the
user may press '?' for help.
]
[Corrections to bugfix for (RT #466)
Eric Kow <[EMAIL PROTECTED]>**20060108225411
The bug fix for case insensitive filesystems was incorrect because
1. canonicalizePath does not canonicalise the same filename with
different cases into the same entry
2. RT #466 affects case sensitive and case insensitive file
systems alike (i.e. the bug description was wrong)
3. canonicalizePath is not available in ghc 6.2.2
This correction also has the advantage of being much simpler and closer
to what David Roundy suggested on the bug tracker. We remove the old
file from the slurpy so that it doesn't get mistaken for the new file.
]
[use _darcs/pristine in regression tests
Eric Kow <[EMAIL PROTECTED]>**20060108222000]
[Update "darcs init" documentation to match its behavior.
Bill Trost <[EMAIL PROTECTED]>**20060105040737]
[add a --without-docs option to configure
[EMAIL PROTECTED]
[fix for Issue14 remove darcs-createrepo
Jason Dagit <[EMAIL PROTECTED]>**20051224002230]
[Support --interactive option in changes command (issue #59).
Zachary P. Landau <[EMAIL PROTECTED]>**20051221052049]
[Fix type incompatibility between C code and Haskell foreign declaration.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060106154108]
[Move patchSetToPatches to Repository.lhs
Zachary P. Landau <[EMAIL PROTECTED]>**20051219043719]
[Use _darcs/pristine instead of _darcs/current.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051215180814
All versions of Darcs since 1.0.2rc1 are able to handle either name. This
will break compatibility of new repositories with older versions.
]
[Allow rename to different case (RT #466, case-insensitive file systems)
Eric Kow <[EMAIL PROTECTED]>**20060106000141
Creates an exception in the check that the new name does not already exists;
it's ok if both names reduce to the same canonical path
]
[Coalesce setpref (issue70 and RT #349)
Eric Kow <[EMAIL PROTECTED]>**20051230230842]
[Added test selection mechanism to makefile
Eric Kow <[EMAIL PROTECTED]>**20051230230008
If the developer creates a file test/tests_to_run with the filenames
of the tests to run, only those tests will be run.
]
[Invert 'file exists already' error message in mv
Eric Kow <[EMAIL PROTECTED]>**20051230220431
mv used the wrong error message for --case-ok and opposite
]
[--repodir argument for get (RT #196 - controversial?)
Eric Kow <[EMAIL PROTECTED]>**20051230133605
get already accepts a --repo-name flag, but I see no reason to keep this
distinction, especially if we accept that init should accept --repodir
In this implementation, we also keep the old --repo-name around for backwards
compatability (of dubious value here), but the internal representation is
changed to that of repodir
]
[--repodir argument for several commands (RT #196 and RT #559)
Eric Kow <[EMAIL PROTECTED]>**20051230021652
Commands affected: dist, optimize, repair, replace, setpref, tag, trackdown
Includes a small repodir test script.
Note that wrt RT #196
* replace and setpref (marked "no need" in the bug report -- but I don't see why not)
* changes (--repo) untouched [ I'd suggest having both flags available ]
* get (--repo-name) [ no reccomendations ]
]
[bug fixes for darcs help
Eric Kow <[EMAIL PROTECTED]>**20051230011003]
[Added --repodir argument to init (RT #104 and part of RT #196)
Eric Kow <[EMAIL PROTECTED]>**20051230005424
This implementation also tries to create the repodir if it does not exist.
]
[Canonize myself and almost all other contributers.
Eric Kow <[EMAIL PROTECTED]>**20051229140428
Add function to append name to email address
Merged: Marnix Klooster, Eric Kow, Andres Loeh, Esa Ilari Vuokko
Looked up name on Google for most orphaned email addresses.
Hope nobody actually objects to this.
]
[Do not document "darcs query manifest" twice.
Erik Schnetter <[EMAIL PROTECTED]>**20051222125103]
[Rename git.c to gitlib.c
Erik Schnetter <[EMAIL PROTECTED]>**20051222115318
On case-insensitive file systems, the source files Git.lhs and git.c
lead to the same object file git.o. Renaming git.c to gitlib.c solves
this problem.
]
[Remove periods from the AC_MSG_CHECKING call for the release state.
Matt Kraai <[EMAIL PROTECTED]>**20051220174536]
[Implementation of help command
Eric Kow <[EMAIL PROTECTED]>**20051218172558
(RT #307)
Provides a command to display usage information on the screen.
darcs help = darcs --help
darcs help --verbose = darcs --extended-help
darcs help command = darcs command --help
This implementation understands abbreviated commands and subcommands.
Slightly refactors darcs.lhs.
]
[Extended date matching functionality.
Eric Kow <[EMAIL PROTECTED]>**20051228210942
(issue31 and RT #34)
Now accepts ISO 8601 intervals (mostly) as well as a larger subset of
English (including times like "yesterday at noon").
Note: also includes corrections to ISO 8601 date/time parsing, using
a more elegant technique of building dates up.
]
[Partial implementation of iso 8601 dates
Eric Kow <[EMAIL PROTECTED]>**20051228123040
(issue31) - first step
reluctant to implement (ambiguous!):
* years > 9999
* truncated representations with implied century (89 for 1989)
unimplemented:
* time intervals -- this might be good to have in darcs
* negative dates (BC)
]
[only print 'making executable' in verbose mode
Eric Kow <[EMAIL PROTECTED]>**20051226182817]
[reorganize comments (and add a comment) in Depends.lhs.
David Roundy <[EMAIL PROTECTED]>**20051218122029]
[fix bug in doesDirectoryReallyExist.
David Roundy <[EMAIL PROTECTED]>**20051020121710
We were failing with an exception if there was no such object. The error
message was:
Fail: getSymbolicLinkStatus: does not exist
]
[fix type of foreign calls in FastPackedString.
David Roundy <[EMAIL PROTECTED]>**20050920125800]
[rename RepoTypes to PatchSet.
David Roundy <[EMAIL PROTECTED]>**20050917133920]
[remove PatchSequence, which has long been obsolete.
David Roundy <[EMAIL PROTECTED]>**20050917133313
The patch removes remaining vestiges of PatchSequence, which was obsoleted
long ago by PatchSet (which stores patches in the opposite order (better
for lazy use) and which has additional information about tags that allows
us to avoid looking at old history.
]
[RemoteApply no longer depends on cd, use --repodir instead.
[EMAIL PROTECTED]
This is a minor change to make darcs no longer use cd
before applying patches to a remote repository.
Now the --repodir option for the apply command is used.
This patch came from a hack to rssh[http://sf.net/projects/rssh]
to allow using darcs as a restricted command without depending
on the cd binary.
http://sf.net/tracker/index.php?func=detail&aid=1351939&group_id=65349&atid=510643
]
[Support signed push
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129082159]
[Fix typo in multirepo pull.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051217201918]
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051217201903]
[add changelog entry for multirepo pull.
David Roundy <[EMAIL PROTECTED]>**20051215122808]
[add support for pulling from multiple repositories simultaneously.
David Roundy <[EMAIL PROTECTED]>**20050919125012]
[Use POSIX-style option for 'head', instead of obsolescent syntax
Marnix Klooster <[EMAIL PROTECTED]>**20051216111731]
[Clarify wording for changes that can't be unreverted
[EMAIL PROTECTED]
[Set attachment filename when sending a patch bundle by e-mail.
Zachary P. Landau <[EMAIL PROTECTED]>**20051217195009]
[save long comment file if a test fails during record
Zachary P. Landau <[EMAIL PROTECTED]>**20051216023948]
[correction for send.sh test
Eric Kow <[EMAIL PROTECTED]>**20051218095652
previously failed on (at least) MacOS X 10.3.9
]
[properly quote paths so that paths with spaces in them are okay
[EMAIL PROTECTED]
[fix up debug printouts in cygwin-wrapper.bash
[EMAIL PROTECTED]
[smoother invocation of cygwin-wrapper.bash -- it detects fully-qualified path to itself by leading /
[EMAIL PROTECTED]
[modernize amend-record.pl to be more portable.
Mark Stosberg <[EMAIL PROTECTED]>**20050402133417
This depends on the new "echo_to_darcs()" function in Test::Darcs
]
[implementation of --set-scripts-executable on local darcs get
[EMAIL PROTECTED]
proposed fix for issue38
The --set-scripts-executable flag is normally evaluated when you apply
patches. But when you do a local darcs get, no patches are applied.
So as a solution, we traverse the directory on local darcs get , and set
any script files to be executable.
Note: one flaw in this patch is that it duplicates the definition of
what a script is -- a file that starts with #! -- in PatchApply.lhs and
Get.lhs. It might be good to refactor these somehow.
]
[extended set-scripts-executable test
[EMAIL PROTECTED]
added check for local darcs get (issue 38) as well as initial sanity check
]
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051214223217]
[Add --subject flag to 'darcs send'
Joeri van Ruth <[EMAIL PROTECTED]>**20051205120301]
[print out the patch name when a test fails.
Zachary P. Landau <[EMAIL PROTECTED]>**20051205055109]
[revert maybe_relink and atomic_create to original C code.
David Roundy <[EMAIL PROTECTED]>**20051208131213]
[resolve conflicts between stable and unstable.
David Roundy <[EMAIL PROTECTED]>**20051206134818]
[Merge changes
Ian Lynagh <[EMAIL PROTECTED]>**20051008225210]
[fix mkstemp implementation for win32
Peter Strand <[EMAIL PROTECTED]>**20050810211303]
[Implement parts of System.Posix.(IO|Files) for win32
[EMAIL PROTECTED]
[implement RawMode with library functions instead of ffi
[EMAIL PROTECTED]
[call hsc2hs without output filename argument
[EMAIL PROTECTED]
[Rename compat.c to c_compat.c to avoid object filename conflict with Compat.hs
[EMAIL PROTECTED]
[Move atomic_create/sloppy_atomic_create to Compat
Ian Lynagh <[EMAIL PROTECTED]>**20050730141703]
[Split the raw mode stuff out into its own .hsc file. Windows needs some TLC
Ian Lynagh <[EMAIL PROTECTED]>**20050730134030]
[Move maybe_relink out of compat.c
Ian Lynagh <[EMAIL PROTECTED]>**20050730131205]
[Remove is_symlink
Ian Lynagh <[EMAIL PROTECTED]>**20050730122255]
[Move mkstemp to Compat.hs
Ian Lynagh <[EMAIL PROTECTED]>**20050730020918]
[Start Compat.hs, and move stdout_is_a_pipe from compat.c
Ian Lynagh <[EMAIL PROTECTED]>**20050730004829]
[Fix mistyped /dev/null, fixes --sendmail-command in Windows
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129160120]
[Use \ as path separator for GnuPG in Windows -- makes apply --verify work
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129164533]
[make dangers and recommended use of "Amend" clearer in the docs.
Mark Stosberg <[EMAIL PROTECTED]>**20051213140523
I think it's important to be clearer about when it's appropriate to use 'amend',
so I moved some notes into the short and mid-length help texts.
]
[update web page to reflect 1.0.5 as latest stable source.
Tommy Pettersson <[EMAIL PROTECTED]>**20051213111137]
[fix handling of absolute paths containing drive letters
Will <[EMAIL PROTECTED]>**20051208054737
This fixes issue 47 where paths containing drive letters (i.e. on windows)
are not treated as absolute paths.
]
[bump version to 1.0.6pre1
Tommy Pettersson <[EMAIL PROTECTED]>**20051208092839]
[TAG 1.0.5
Tommy Pettersson <[EMAIL PROTECTED]>**20051207112730]
Patch bundle hash:
c0f9c23b9851d288e69aab635c3b51b1b6b332d3
_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel