Hi, I've been trying to dig into shelving and bug 4827. I've been debugging the regression test from Julian. Please excuse me if I'm making up terms for things called something else, I'm still new at this.
As I understand it, Subversion is: 1. Checking a new WC for the shelf (.svn/experimental/shelves/v3/<encoded name>-version.wc) 2. Applying the changes from the "normal" WC to the shelf-WC using the delta editor The file to be shelved is: $Rev: 1$\n New line\n (where the actual change is the new line - I like Julian's self-explanatory test code!) The base file is : $Rev$\n In step 1 keyword expansion occurs so the file in the "shelf-WC": $Rev: 1$\n The problem seems to be that the patching in step 2 is putting the changes in the position relative to the base file and not considering the keyword expansion. So the file in the "shelf-WC" after patching is $Rev: New line\n This file matches the "actual" checksum. The "expected" checksum is based on this file: $Rev$\n New line\n (which doesn't exist except in my mail). I guess there are two ways forward: * To prevent keyword expansion in the "shelf-WC" * To make sure the delta editor applies the patch relative to the expanded keyword (in this case three bytes later in the file). Before I try to make a patch out of this I would like to ask which way would be prefered. It the "shelf-WC" supposed to be just like any other WC (in that case keyword expanded), or should it receive special treatment to work better with the delta editor? Kind regards, Daniel Sahlberg