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
2. Applying the changes from the "normal" WC to the shelf-WC using the
The file to be shelved is:
(where the actual change is the new line - I like Julian's self-explanatory
The base file is :
In step 1 keyword expansion occurs so the file in the "shelf-WC":
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:
(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?
Received on 2020-08-17 22:47:42 CEST