[darcs-users] Patches dependency discovery

Leif Frenzel himself at leiffrenzel.de
Fri Jul 8 12:40:15 UTC 2005


Jamie Webb wrote:
> On Fri, Jul 08, 2005 at 01:08:59PM +0200, Leif Frenzel wrote:
> 
>>>It would be nice. One problem with your interface though: dependencies
>>>are a DAG, not a tree. Patches can have multiple 'parents'.
>>
>>That should not necessarily be a problem. Patches could occur in more 
>>than one place in the tree (they must be checked/unchecked in step of 
>>course, which is something the UI has to ensure).
> 
> 
> But doesn't that destroy the point of having a tree? I'm presuming
> that the parent-child relationship is supposed to mean: if I pull the
> parent, I can the pull the children. Since it's a DAG, it would
> actually mean: if I pull the parent, I might also be able to pull the
> children, if I can find and pull all the other parents of that child.
Yes, they would have to be selected and expanded automatically here. E.g.

A > B > C

in this situation you can select A, or select B, which automatically 
selects A, and so on. If you have

A > B > C
A > D > C

the tree representation would look like

A - B - C
   |
   - D - C

suppose you select B in the UI, this would automatically select A, C and 
D go unselected. If you select C, then A, B and D would be selected with 
it (even if the entire D branch was collapsed and not visible to the 
user so far; we should automatically expand it in that case).

> Inverting the tree may help. Now we have: I can pull the parent iff I
> pull all the children. You could either have only the 'leaf' patches
> at the top level, or all of them. I prefer the latter since it makes
> it easier to find a particular patch.
A good UI would offer both a view as dependency tree and one as list 
(flat view), which would be sortable by name or date or whatever.

Still it is good to have a tree that reflects dependencies. It gives the 
user a quick overview of what he would have to select in order to get a 
particular patch. But having the leaves as root elements would mean that 
the user would have to expand all the tree to find patches that precede 
the others.

If, for instance, I know that someone has made a change to the code and 
ten others have then pushed dependent patches that add only docs, I may 
be interested in only the former one. I think it more natural to see 
that one as root of the tree.

Ciao,
Leif

> 
> -- Jamie Webb
> 
> _______________________________________________
> darcs-users mailing list
> darcs-users at darcs.net
> http://www.abridgegame.org/mailman/listinfo/darcs-users
> 
> 





More information about the darcs-users mailing list