Re: Darcs dependencies - how are they stored and discovered?
Matt Lamari <matt.lamari <at> gmail.com>
2012-07-12 21:02:02 GMT
I'm looking at the feasibility of certain visualization tools/assists
for Darcs, including the rate at which relevant information can be
pulled from a repo.
While some incremental tool may be of use long term, ultimately having
the ability to make "plural" requests that leverage common operations
would be useful. Functions such as "give me the immediate dependencies
Honestly, I should just pull a set of data from a big repo (am using the
darcs darcs repo as an example, point out a better candidate if you know
one) and test the viability of the visualization side first (so I can
answer the more important: "Is there any point/value to this" question).
For those of us who may want to leverage tools outside of haskell, a
high bang for the buck would be a command line option for bulk-querying
either all dependencies, or (better yet) the immediate dependencies of a
plural subset ("dependencies for these hashes") of the repository.
On 7/12/2012 3:09 PM, Ganesh Sittampalam wrote:
> If you just want to know what patches transitively depend on a single
> given patch X, obliterate --dry-run is probably good enough.
> If you want just the direct dependencies, or you want to do it for lots
> of patches at once, doing it in code with the library would be a better
> choice. There isn't a single function that will do it, but it shouldn't
> be particularly complicated. I'd be hapy to outline or prototype what to
> do if you can give details of exactly what info you're looking for.
> On 12/07/2012 20:58, Matt Lamari wrote:
>> Are obliterate and pull (dry run) the 2 cardinal tools for examining
>> dependencies? Are their costs equivalent views on the same core
>> calculation (from different sides)? Is there anything else I should
>> investigate if interested in dependencies?
>> On 7/12/2012 10:16 AM, Michael Hendricks wrote:
>>> Hi Matt. Darcs normally doesn't store dependencies directly. They're
>>> calculated based on whether patches can commute with on another. If
>>> they freely commute, there's no dependency; otherwise there is one.
>>> One exception is dependencies recorded by `darcs record --ask-deps`
>>> which lets the user manually add explicit dependencies. These are
>>> store on disk as part of the newly recorded patch.
>>> To answer your question, I don't think using the library directly will
>>> make patch dependency calculations much faster.
>> darcs-users mailing list
>> darcs-users <at> darcs.net