[darcs-users] darcs newbie questions

Radoslav Dorcik radoslav.dorcik at gmail.com
Sat Feb 18 09:22:41 UTC 2012


Hi Michael,

I'm also only Darcs user / beginner but I think I can answer some of your
questions, see in line.

@other darcs users: please do not consider all questions from Michael
answered, there are still open questions I don't know the answers :)

On Fri, Feb 17, 2012 at 10:49 PM, Michael Hendricks <michael at ndrix.org>wrote:
>
> Is it possible to colorize diff command output?  I've set
> DARCS_ALWAYS_COLOR=1 and DARCS_DO_COLOR_LINES=1.  The output of `darcs
> whatsnew` has color but `darcs diff --unified` is black and white.
> I'd like for them both to have color.
>

I don't think current diff output support colors like darcs changes
:-( your  question can be considered as a new feature request :-)

Anyway, an external program like `vim` can be used for patches in
color, e.g. command like following (on Linux):

$ darcs diff -u | vim -



>
> Related to the previous question: `darcs diff -n 123` is quite a bit
> slower than `darcs changes -v`, even though the latter shows the patch
> inline.  Is the performance decrease because diff has to find context
> lines?  If I don't care about context lines, can I somehow invoke diff
> so it quickly shows me the same patch as `changes -v`?
>


At this time realization of `darcs diff` [1] uses external diff utility
(possibly configured user specific, e.g. graphical) which doesn't
understand Darcs patch format  - native representation in repository. For
that reason darcs prepares versions of the files and invoke external diff
on them - expensive operations.
I can not find any option for `darcs changes` to show patches in equal form
like `darcs diff`.
I guess (since I'm not expert on this) the first one dumps patches in
dpatch format which is  different in syntax but also in semantics -
specific to darcs (hunks).

Unrelated and actually upside-down what you asked `darcs annotate` [2] can
show patches with context like `darcs diff` but in `darcs changes` format.
With following command:

$ darcs annotate -u -n 123

or with internal patch hash identifier (display in `darcs changes --xml`):

$ darcs annotate -u --match='hash
20091223224749-b86b6-9a22095fd17d8c87b50bcab0b3e007ad7e1013b3'

Rado

[1] http://darcs.net/manual/Darcs_commands.html#SECTION006101000000000000000
[2] http://darcs.net/manual/Darcs_commands.html#SECTION006102000000000000000
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20120218/9e57c839/attachment.html>


More information about the darcs-users mailing list