[darcs-users] Getting a full diff for pulled patches

David Roundy droundy at darcs.net
Wed Jul 25 18:04:27 UTC 2007


On Tue, Jul 24, 2007 at 09:02:04PM +0200, Alexander Staubo wrote:
> On 7/24/07, Eric Y. Kow <eric.kow at gmail.com> wrote:
> >> To do this, I need to find the contents of each side so that I can
> >> display them. The problem is that running "darcs pull --dry-run
> >> --verbose", for instance, does not yield sufficient information.
> >
> >First: an apology; I have not read your message thoroughly.
> >
> >Second: would a sequence like this help?
> > darcs get local localClone
> > cd localClone
> > darcs pull --all remote
> > # darcs diff at your leisure?
> > cd ..
> > cd local
> > darcs pull # the selected patches
> 
> This will work, but is not feasible in practice -- it will be much too
> slow even on trivially-sized repos.

Locally cloning is pretty fast (should be blinding, and would be more
blinding if we , and the final pull could be done from the
local clone, so there wouldn't any needless bandwidth overhead.  If we had
the (occasionally discussed) option to leave out the local working
directory, we'd do even better.

> >You might also want to watch out for darcs's handling of dependencies.
> >If you, for example, elect not to pull a patch, darcs will not allow
> >you to pull any patch that depends on it.
> 
> Absolutely. Darcs does not supply this dependency information,
> unfortunately. Some trickery with "pull --no-deps" might be used to
> detect dependencies.
> 
> Alexander.

You can do simple things by using 'w' (or 'j') instead of 'n' if you want
to pull a patch only if it's required by another that you say 'y' to later.
In fact, if you choose, you can extract (almost?) all the patch
dependencies from a single call to pull, by judicious use of 'y', 'n', 'w',
'j' and 'k'.  The only catch is that the dependencies of the last patch are
tricky to get, since if you say 'y' to that patch, darcs immediately starts
the actual pull.
-- 
David Roundy
Department of Physics
Oregon State University



More information about the darcs-users mailing list