Philip Martin wrote on Thu, Nov 26, 2015 at 13:46:39 +0000: > I suppose one way to fix this would be to ensure that every BDB revision > generates a new node-revision-id.
I wouldn't call this a fix; I think it is a workaround. A "fix" would be to figure out why bdb reports the wrong revision number, not to make the place it wrongly looks the value up in contain the right value. To be clear, I'm not opposed to applying your patches — I do think they are an improvement. I just want it to be clear: re-using the noderev wasn't wrong; some other code is wrong, and we don't know which code exactly that is. Can the problem happen on nodes other than the root? I haven't tried it, but I wonder if a open_root/open_directory/close_directory/close_edit editor drive might lead to an instance of this problem on the directory that was opened and closed without modification.