Commit 684ec28
fix: handle directories in dep-info source file hashing
When proc_macro::tracked::path() registers a directory as a dependency,
rustc's dep-info output includes the directory path. sccache previously
crashed with "Is a directory" when trying to hash these paths.
Now recursively hashes all files within the directory (sorted for
determinism), using relative paths as delimiters. This correctly
captures directory dependencies so cache invalidation works when
any file in the tracked directory changes.
Fixes: mozilla#2653
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 226e9df commit 684ec28
1 file changed
+45
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
103 | | - | |
104 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
105 | 131 | | |
106 | 132 | | |
107 | 133 | | |
108 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
109 | 151 | | |
110 | 152 | | |
111 | 153 | | |
| |||
0 commit comments