We have a very large team and use a lot of kbfiles. We have discovered that when using kbfiles, in a certain situation a rebase will incorrectly overwrite a kbfile with an older version. The repro is as follows:
- Create a new repository and add some files in your initial clone (we'll call this Clone 1). Add the first version of a kbfile. Push the changes.
- At this point, make a new clone of the remote repository (we'll call this Clone 2).
- Go back to Clone 1 and add a second version of the same kbfile (and edit one or two other files for good measure). Push the changes.
- Go back to Clone 2, and make some local changes (but do not push them!).
- From inside Clone 2, execute
hg pull --rebase. Make one more file edit and commit (the commit at this point is very important). Push.
You will see when you look at the history in Kiln, that the kbfile has been overwritten with the one that was in Clone 2's working copy (rather than Clone 2's working copy being correctly updated by the rebase with the new kbfile that came from Clone 1). I suspect this is a bug in the kbfiles extension.
This is with the On-Your-Server version of Kiln: 2.3.29.0. However, we have a custom build of the kiln extensions because we needed it to fix a huge problem with merging repositories with kbfiles, so our extensions are newer than the version that shipped with the 2.3.29.0 version of Kiln.