-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Some links were broken due to a contributor's name change. Change-Id: Ibb766de3aa9c9f89cca81d3d6e26dddc4d7893cf Reviewed-on: https://go-review.googlesource.com/c/wiki/+/638298 Reviewed-by: Ian Lance Taylor <[email protected]> Commit-Queue: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]>
- Loading branch information
Showing
3 changed files
with
7 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,7 +75,7 @@ This is all well and good, and should satisfy most user's problems. | |
|
||
However, there is one situation that ends up being quite a bit more involved: when there are cycles in the module dependency graph. Consider this module dependency graph: | ||
|
||
 | ||
 | ||
|
||
And, let's imagine that `some/lib` used to depend on `github.com/golang/lint`. | ||
|
||
|
@@ -99,7 +99,7 @@ some/[email protected] github.com/golang/[email protected] | |
|
||
Visualized with [golang.org/x/exp/cmd/modgraphviz](https://pkg.go.dev/golang.org/x/exp/cmd/modgraphviz): | ||
|
||
 | ||
 | ||
|
||
Here we see that even though the last several versions of `some/lib` correctly depend on `golang.org/x/lint`, the fact that `some/lib` and `some-other/lib` share a cycle mean that there's very likely to be a path far back in time. | ||
|
||
|
@@ -118,7 +118,7 @@ some/[email protected] golang.org/x/[email protected] | |
some-other/[email protected] some/[email protected] | ||
``` | ||
|
||
 | ||
 | ||
|
||
Since `some/lib` and `some-other/lib` depend on each other at the same version, there's no path backwards in time to a point where `github.com/golang/lint` is provided. | ||
|
||
|
@@ -161,9 +161,9 @@ Note that between steps 5.b and 5.d, users are broken: a version of `some/lib` h | |
|
||
This example explained the process for removing historical trails when there exists a cycle involving two packages in a graph, but what about if there are cycles involving more packages? For example, consider the following graphs: | ||
|
||
 | ||
 | ||
|
||
 | ||
 | ||
|
||
Each of these graphs involve cycles (the latter example) or interconnected modules (the former example) involving four modules, instead of the simple two module example we saw earlier. The process is largely the same, though, but this time in step 3 and 5 we're going to bump all four modules to non-existent future versions of each other, and similarly in steps 4 and 6 we're going to test all four modules, and in step 7 fix the go.sum of all four modules. | ||
|
||
|