You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Chia-liang Kao <cl...@clkao.org> on 2004/07/27 22:29:47 UTC

Keywords not being translated after switch

So when a file has identical content on two branches (or it's the same
node - not modified after the copy), switching between the branches
won't update the keywords since the ra->do_switch or dir_delta don't
bother call open_file at all.

How do we cope with this?

Cheers,
CLK

Re: Keywords not being translated after switch

Posted by "Øyvind A. Holm" <su...@sunbase.org>.
On 2004-07-27 18:55:32 jjp <jj...@pobox.com> wrote:
> Greg Hudson wrote:
> > On Tue, 2004-07-27 at 18:29, Chia-liang Kao wrote:
> > > So when a file has identical content on two branches (or it's the
> > > same node - not modified after the copy), switching between the
> > > branches won't update the keywords since the ra->do_switch or
> > > dir_delta don't bother call open_file at all.
> >
> > I've seen someone bring this up on IRC a while back, although it
> > doesn't seem to have resulted in an issue.  I'll file one.
> >
> > The solution to this problem is probably a pass over the entries
> > files looking for svn:keywords properties which are affected by the
> > switch. Note that a very similar process would allow us to support a
> > global revision number substitution, which would make a bunch of
> > users happy.
>
> This also is a problem when 'svn merge' adds a file.  Keywords are not
> translated then either.  It makes svn:special behave a little
> weirdly...

...for example if a symlink was added as a result of merge, then it is
added as a regular file instead of as a symlink. This is from my test
repository:

======== CUT {{{ ========
2004-07-28 09:53:36 sunny@ba0614:~/src/svn/test/trunk/symlink$ svn up
At revision 90.
2004-07-28 09:53:41 sunny@ba0614:~/src/svn/test/trunk/symlink$ l
totalt 16
drwxr-xr-x    3 sunny    sunny        4096 2004-07-28 09:53 .
drwxr-xr-x   16 sunny    sunny        4096 2004-07-28 09:47 ..
drwxr-xr-x    7 sunny    sunny        4096 2004-07-28 09:53 .svn
lrwxrwxrwx    1 sunny    sunny          11 2004-07-28 09:53 erstattes.txt -> regular.txt
-rw-r--r--    1 sunny    sunny          71 2004-07-12 13:12 regular.txt
lrwxrwxrwx    1 sunny    sunny          11 2004-07-28 09:53 symlink.txt -> regular.txt
2004-07-28 09:53:42 sunny@ba0614:~/src/svn/test/trunk/symlink$ svn up -r68
D  regular.txt
D  symlink.txt
D  erstattes.txt
Updated to revision 68.
2004-07-28 09:53:50 sunny@ba0614:~/src/svn/test/trunk/symlink$ l
totalt 12
drwxr-xr-x    3 sunny    sunny        4096 2004-07-28 09:53 .
drwxr-xr-x   16 sunny    sunny        4096 2004-07-28 09:47 ..
drwxr-xr-x    7 sunny    sunny        4096 2004-07-28 09:53 .svn
2004-07-28 09:53:50 sunny@ba0614:~/src/svn/test/trunk/symlink$ svn merge -r68:69 .
A  regular.txt
A  symlink.txt
2004-07-28 09:54:05 sunny@ba0614:~/src/svn/test/trunk/symlink$ l
totalt 20
drwxr-xr-x    3 sunny    sunny        4096 2004-07-28 09:54 .
drwxr-xr-x   16 sunny    sunny        4096 2004-07-28 09:47 ..
drwxr-xr-x    7 sunny    sunny        4096 2004-07-28 09:54 .svn
-rw-r--r--    1 sunny    sunny          27 2004-07-28 09:54 regular.txt
-rw-r--r--    1 sunny    sunny          16 2004-07-28 09:54 symlink.txt
2004-07-28 09:54:08 sunny@ba0614:~/src/svn/test/trunk/symlink$ cat symlink.txt
link regular.txt2004-07-28 09:54:17 sunny@ba0614:~/src/svn/test/trunk/symlink$
2004-07-28 09:54:20 sunny@ba0614:~/src/svn/test/trunk/symlink$ svn st -v
               68       68 sunny        .
A  +            -       ?   ?           regular.txt
~  +            -       ?   ?           symlink.txt
2004-07-28 09:54:23 sunny@ba0614:~/src/svn/test/trunk/symlink$
======== CUT }}} ========

Happens both with 1.1.x (r10378) and trunk (r10424).

-- 

Regards,
Øyvind A. Holm
---------------------
cat /dev/urandom >SCO

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Keywords not being translated after switch

Posted by Josh Pieper <jj...@pobox.com>.
Greg Hudson wrote:
> On Tue, 2004-07-27 at 18:29, Chia-liang Kao wrote:
> > So when a file has identical content on two branches (or it's the same
> > node - not modified after the copy), switching between the branches
> > won't update the keywords since the ra->do_switch or dir_delta don't
> > bother call open_file at all.
> 
> I've seen someone bring this up on IRC a while back, although it doesn't
> seem to have resulted in an issue.  I'll file one.
> 
> The solution to this problem is probably a pass over the entries files
> looking for svn:keywords properties which are affected by the switch. 
> Note that a very similar process would allow us to support a global
> revision number substitution, which would make a bunch of users happy.

This also is a problem when 'svn merge' adds a file.  Keywords are not
translated then either.  It makes svn:special behave a little
weirdly...

-Josh

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Keywords not being translated after switch

Posted by Greg Hudson <gh...@MIT.EDU>.
On Tue, 2004-07-27 at 18:29, Chia-liang Kao wrote:
> So when a file has identical content on two branches (or it's the same
> node - not modified after the copy), switching between the branches
> won't update the keywords since the ra->do_switch or dir_delta don't
> bother call open_file at all.

I've seen someone bring this up on IRC a while back, although it doesn't
seem to have resulted in an issue.  I'll file one.

The solution to this problem is probably a pass over the entries files
looking for svn:keywords properties which are affected by the switch. 
Note that a very similar process would allow us to support a global
revision number substitution, which would make a bunch of users happy.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org