[darcs-devel] [issue1942] "darcs pull" regression with darcs-1 repos: all patches are being pulled each time

Dmitry Astapov bugs at darcs.net
Thu Sep 2 18:24:21 UTC 2010


Dmitry Astapov <dastapov at gmail.com> added the comment:

On Thu, Sep 2, 2010 at 12:23 PM, Eric Kow <bugs at darcs.net> wrote:
>
> Eric Kow <kowey at darcs.net> added the comment:
>
> Hi Petr, Dmitry seems to suggest there may be some sort of performance
> regression related to NewSet, so I'm adding you to this ticket for
> interest.
>
> Dmitry: could you help us to narrow down the parameters a bit?  In
> particular: could you help us determine if this is specifically related
> to old-fashioned repositories, or if a hashed clone of the repo also
> behaves the same way.

I've made tests and observed regression on two repositories:

One:
$ darcs show repo
          Type: darcs
        Format: hashed
(this was made via "darcs get" from darcs-1.0 repo)

Other:
$ darcs show repo
          Type: darcs
        Format: darcs-1.0

So I am confident that both types are affected.

> BTS training: if Dmitry were working in a private repository, then this
> bug would be set waiting-for because there is nothing we can do to
> advance the ticket further.  In this case, however, because Dmitry
> provided so much information, and because it's all public, in principle,
> *any* person interested can do the requested action, so we set it to
> need-action.  It's that we request that Dmitry be that person, but only
> as a question of convenience.  [Lately, I've been trying to make my
> thought process explicit on my BTS activity, so that we can either
> refine the process, or at least codify it]

:)

I've also tried made some progress with "darcs trackdown".

First, I made a script that tests for the attempt to re-download the
patches (by grepping for "get patch" in --debug-verbose output) and
did "darcs trackdown" with it. It took several hours and undid 470
patches, which I though might be a bit more than was actually needed
(list of them is already attached to this ticket).

So next I took a fresh copy of bleeding-edge darcs repo and unpulled
the most-suspicious patch ("A new implementation of PatchSet and its
operations") by hand (along with 138 dependent patches). Result was
not immediately compilable, so I did "darcs trackdown" with "cabal
install" as test command in order to find the closest possible
configuration that will compile. This attempt ended up undoing the
same 470 patches in total (counting 138 that I undid by hand).

I admit that I haven't used trackdown in the past, so I was not aware
that patches are selected in a simple and predictable manner that
would ensure that my second attempt would end with exactly the same
result as the first :)

I've tried to pull/unpull patches manually to get a workable
configuration that omits less patches, but failed.

Do you need more info about the state that I reached with trackdown?
How I could provide it? Should I, perhaps, tag it, and "darcs send"
you the tag?


--
Dmitry Astapov

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue1942>
__________________________________


More information about the darcs-devel mailing list