[darcs-devel] [darcs #320] [wish] interactive selection should not hide dependent of declined one automagically

Junio C Hamano via RT bugs at darcs.net
Tue Apr 5 01:29:22 PDT 2005


Tue Apr 05 04:29:19 2005: New ticket: 320.
Transaction: Ticket created by junkio at cox.net
       Queue: Darcs
     Subject: [wish] interactive selection should not hide dependent of declined one automagically
       Owner: Nobody
  Requestors: junkio at cox.net
      Status: new
 Ticket <URL: http://bugs.darcs.net/.//Ticket/Display.html?id=320 >

Somebody pointed out to me that the subject of "decide later"
part of the "wait and decide later" help text is not the end
user but darcs itself.  I did not realize the significance of it
when I first read it, but I think I misunderstood the way how
the current "selection from the list" interface works.

My current understanding is that it asks one by one and if an
earlier one was declined then it does not even ask the later
ones that depend on that declined one.  If I say 'W' to one of
them, a later one that depends on it is asked and if I say 'Y'
to it then the required one is pulled as well.  Assuming that is
the way it currently works, I have to say it is counterintuitive.

I remember I was puzzled by it more than once.  A novice user
like myself did something along this line:

    $ ls
    . .. wip test
    ... I have two repositories, wip and test.  I edit and run
    ... initial tests in "wip", and pull good ones into "test" for
    ... integration testing.

    $ cd test
    $ darcs --dry pull ../wip
    ... List of things that wip has but test does not yet
    ... I make a mental note of which ones to test next

    $ darcs pull ../wip
    ... Darcs asks one by one.  I try to pick them and only
    ... them---saying 'N' to the ones that I think are not
    ... relevant.  However, Darcs did not even ask about the
    ... ones that I wanted.

Later it turned out that some of the things I wanted to pull
into the test repository were depending on older patches that I
was not really interested in pulling from the wip repository.

What this anecdote tells us is that hiding patches that depends
on required ones after required ones are declined is, until the
user realizes that is what is happening, very confusing.  It
would have been easier to understand if the conversation with
darcs went this way instead:

    $ darcs pull ../wip
    * patch 1: do something
    Do you want to pull this? [ynW..] n
    * patch 2: do something else
    Do you want to pull this? [yNw..] y
    Note: this patch depends on patch 1 which earlier you declined;
    patch 1 is also pulled as well.
    * patch 3: do yet something else
    Do you want to pull this? [ynW..] ...
    ...

The assumption above is that there are patch[123...] patches
that are missing from "test" and patch 2 depends on patch 1, but
I forgot about it.  And I am interested in testing patch 2.
My understanding is that darcs currently does not ask about
patch 2 once I decline patch 1.







More information about the darcs-devel mailing list