Igor Pechtchanski wrote: > > You first get the depth-first order: D, C, B, A. > > <PEDANTIC> > Properly speaking, the depth-first order will be B, D, C, A... > </PEDANTIC>
D'oh' > Unfortunately, this won't work when you have circular dependencies (e.g., > cygwin <-> fileutils). Oh, did I forget to say the graph must be a DAG before starting? :) Anyway, there are heuristics that could be used to find the best "feedback set" of edges for which removal would result in an acyclic graph. e.g. the one described at <http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK4/NODE182.HTM> > I think Max's solution is probably the least complex short-term one (i.e., > run all preremove scripts in batch *before* removing any files, and hope > for the best). Yeah, probably true... I realize that people have probably already suggested these solutions involving graph theory in the past. And as you point out, a working patch is one thing, a bunch of conjecture is another. Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/