golang/dep

Add logic to disallow import cycles

fabulous-gopher opened this issue · 0 comments

From @sdboyer on July 19, 2016 19:21

There's a spot just waiting to do it in the checkProject() and checkPackage() methods.

For now, it's probably fine to use an offline algorithm (e.g., Tarjan SCC) to find cycles. That gives us linear time in the number of packages and dependencies. Brief searches suggest that there's probably a sublinear incremental cycle discovery algorithm out there that we can swap in later.

Copied from original issue: sdboyer/gps#66