zookog at gmail.com
Tue Apr 27 16:09:05 UTC 2010
On Tuesday, 2010-04-27, at 7:12 , Eric Kow wrote:
> So how does this deps.pl work? Is it doing something which
> works out the same as computing a minimal context? Is it
> reasonable to
> expect the idea to work (not to speak of the implementation?).
As I recall it created one repository with a set of patches to be
ignored, then it iterative attempted to "darcs pull --dry-run" from
the real repository to that "ignored" repository, interactively
answering darcs's "Shall I pull this patch?" question.
So by invoking darcs repeatedly and answering "Shall I pull this
patch?" in different ways each time it was able to build a complete
graph of the patch dependencies.
It worked fast enough even on our main development repository that I
could run it as a command-line tool and I could also script it to be
automatically run by our buildbot so that a graph of the current
patch dependencies was always visible on our web site.
The limiting factor in fact wasn't run-time, but that the resulting
graph would get too huge to view in any of the viewer tools that I
had available at the time. Hopefully modern tools (SVG?) would
overcome that limitation so that you can zoom and scan through your
entire repository history. In that case then perhaps the run-time of
deps.pl's "brute force" approach might become a limitation. :-)
More information about the darcs-users