27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
27
28
29
30
31
32
33
34
|
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
|
...
```
Wha?
# Crosslinking...
A workaround was added in [](a9332967a75a2a1b), but why that workaround is necessary is unclear. What follows is pre-workaround, for potential investigation later...
Running `f-parseparty -t c --crosslink` generates the expected number of mlink/plink entries but *sometimes* leaves (as it were) some commit other than the tip marked as a leaf, which causes `fossil update` to warn about having multiple leaves. We "could" get around this by running `fsl_repo_leaves_rebuild()` after it crosslinks everything, but that would simply hide the bug, which would presumably appear again at some point after a single checkin gets processed.
Crosslinking apparently does not properly rebuild file relationships, leading to (among other things) `blame` not working. Try this:
```
$ f-query -e "delete from plink; delete from mlink;
$ f-parseparty --types c --crosslink
$ fossil blame Makefile.in
no history for file: Makefile.in
```
(Use `fossil rebuild` to get it back into shape.)
The plink table is not being fully populated by the crosslink.
|