Commit 87d1035
committed
Fix nondeterministic input ordering of duplicate basenames
inputNameLinkedMap is a LinkedMap containing list of file definitions
indexed by their basenames. The first time we encounter a basename, we
create a new list and store the path to that file in fullName, and
fullName is not updated again. The problem is this path depends on
filesystem ordering (we use the path we happen to hit first).
Later on we sort the inputs list using fullName but since fullName
itself is nondeterministic this doesn't always produce the same
result.
Fix this by sorting each basename list first, then sorting using the
path of the first file in each list. Afterwards, remove
FileName::fullName and FileName::path which are no longer used
anywhere.1 parent 25d4737 commit 87d1035
3 files changed
Lines changed: 10 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11140 | 11140 | | |
11141 | 11141 | | |
11142 | 11142 | | |
11143 | | - | |
| 11143 | + | |
11144 | 11144 | | |
11145 | 11145 | | |
11146 | 11146 | | |
| |||
11228 | 11228 | | |
11229 | 11229 | | |
11230 | 11230 | | |
11231 | | - | |
| 11231 | + | |
11232 | 11232 | | |
11233 | 11233 | | |
11234 | 11234 | | |
| |||
12424 | 12424 | | |
12425 | 12425 | | |
12426 | 12426 | | |
12427 | | - | |
12428 | | - | |
12429 | | - | |
12430 | | - | |
12431 | | - | |
12432 | | - | |
12433 | 12427 | | |
12434 | 12428 | | |
12435 | 12429 | | |
| |||
12440 | 12434 | | |
12441 | 12435 | | |
12442 | 12436 | | |
| 12437 | + | |
| 12438 | + | |
| 12439 | + | |
| 12440 | + | |
| 12441 | + | |
| 12442 | + | |
12443 | 12443 | | |
12444 | 12444 | | |
12445 | 12445 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | | - | |
35 | | - | |
36 | 34 | | |
37 | 35 | | |
38 | 36 | | |
39 | | - | |
40 | | - | |
41 | 37 | | |
42 | 38 | | |
43 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1676 | 1676 | | |
1677 | 1677 | | |
1678 | 1678 | | |
1679 | | - | |
| 1679 | + | |
1680 | 1680 | | |
1681 | 1681 | | |
1682 | 1682 | | |
| |||
0 commit comments