On Thursday, 17 November 2005 at 02:42, Lele Gaifax wrote:
> >>>>> "Brendan" == Brendan Cully <[EMAIL PROTECTED]> writes:
> 
>     Brendan> * the xml output (darcs 1.0.4) produces dates of the Sun
>     Brendan> Oct 20 20:10:05 EDT 2002 variety rather than
>     Brendan> 20021020201005 as the changelog parser expects
> 
> Uh?
> 
> $ darcs --version
> 1.0.4 (stable branch)
> $ darcs cha --xml --last=1 --verbose
> <changelog>
> <patch author='Brendan Cully &lt;[EMAIL PROTECTED]&gt;' date='20051116052626' 
> local_date='Wed Nov 16 06:26:26 CET 2005' inverted='False' 
> hash='20051116052626-0ae3a-850fe3bd8a422ae4410d898d5ad2c2498207bd03.gz'>
>         <name>Don&apos;t apply duplicate tags to mercurial targets</name>
>         <comment>
> I just noticed that a CVS source will replay all of the tags that apply
> to HEAD on every run. This teaches mercurial to filter out equivalent tags
> (by checking whether they already exist in the commit history up to the last
> non-tag commit).</comment>
> </patch>
> </changelog>

My mistake here - it's not the version of darcs doing "changes" that's
the problem, it's the version that recorded the patch. From the darcs
repository (my test was converting darcs to hg):

<patch author='[EMAIL PROTECTED]' date='Wed Jul 30 08:34:20 EDT 2003' 
local_date='Wed Jul 30 05:34:20 PDT 2003' inverted='False' 
hash='20030730083420-a0a92-f5c9db217b27c1887f80cd4633ac471263919b6c.gz'>
        <name>fix bug in locking code.</name>
        <comment>I was creating the lockfile with write permission, which had 
the
result that it wasn&apos;t actually locking!</comment>
    <summary>
    <modify_file>
    Lock.lhs<removed_lines num='1'/><added_lines num='1'/>
    </modify_file>
    </summary>
</patch>


> Tailor reads the "date" attribute, not "local_date", and that should
> be UTC
> 
>     Brendan> * empty
>     Brendan> changelogs crash python (the test if last: never fails
>     Brendan> because last is a generator, but last.next() will raise
>     Brendan> StopIteration)
> 
>     Brendan> These first two I have patches for.
> 
> Ok, waiting for them, but you have to convince me about the former.
> 
>     Brendan>  But more seriously: *
>     Brendan> darcs pull --dry-run produces times in the local TZ (UTC
>     Brendan> if that's what's set, of course) but the hash of the
>     Brendan> patch uses the time in the original commiter's TZ. So
>     Brendan> unless TZ happens to be the same, the hash tailor
>     Brendan> calculates doesn't match.
> 
> Uhm, this is problematic, if it's true. Are you sure of that? A little
> experiment seems saying you are wrong, and that instead darcs uses UTC
> internally:

This is actually the same as the bug above. For recent patches things
seem fine, but for the first bunch of patches in the darcs repository
the hash is pulled straight from the EDT dates, not converted to
UTC. Not sure what to do about it, but I guess it could be considered
the repository's problem. I suppose it might be worth looking at how
pull works internally, but I don't really have time to learn haskell
right now :)

It looks like conversion of the tailor repository is fine, so it's
just an issue with patches created by older darcs.

_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to