You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Bert Huijben <be...@qqmail.nl> on 2010/08/24 15:06:53 UTC

RE: svn commit: r988550 - in /subversion/trunk/subversion: libsvn_wc/entries.c tests/cmdline/upgrade_tests.py


> -----Original Message-----
> From: philip@apache.org [mailto:philip@apache.org]
> Sent: dinsdag 24 augustus 2010 16:13
> To: commits@subversion.apache.org
> Subject: svn commit: r988550 - in /subversion/trunk/subversion:
> libsvn_wc/entries.c tests/cmdline/upgrade_tests.py
> 
> Author: philip
> Date: Tue Aug 24 14:13:26 2010
> New Revision: 988550
> 
> URL: http://svn.apache.org/viewvc?rev=988550&view=rev
> Log:
> Fix upgrade_tests.py 7 in single-db.
> 
> * subversion/libsvn_wc/entries.c
>   (insert_working_node): Don't force kind to subdir.
>   (write_entry): Make working_node subdirs incomplete initially.

How are you going to handle not present but added subdirectories in this way?

You only have one status field for BASE_NODE and not present is only recorded in the parent directories (in the entries world recorded as entry->deleted in the parent dir). But if you set the directory to incomplete the 'not-present' status gets lost.
And this can't be fixed from the directory itself, as it doesn't know that it originally existed as not-present, because we only started propagating this information into the subdir in the WC-NG work.

	Bert 


Re: svn commit: r988550 - in /subversion/trunk/subversion: libsvn_wc/entries.c tests/cmdline/upgrade_tests.py

Posted by Philip Martin <ph...@wandisco.com>.
"Bert Huijben" <be...@qqmail.nl> writes:

>> -----Original Message-----
>> From: philip@apache.org [mailto:philip@apache.org]
>> Sent: dinsdag 24 augustus 2010 16:13
>> To: commits@subversion.apache.org
>> Subject: svn commit: r988550 - in /subversion/trunk/subversion:
>> libsvn_wc/entries.c tests/cmdline/upgrade_tests.py
>> 
>> Author: philip
>> Date: Tue Aug 24 14:13:26 2010
>> New Revision: 988550
>> 
>> URL: http://svn.apache.org/viewvc?rev=988550&view=rev
>> Log:
>> Fix upgrade_tests.py 7 in single-db.
>> 
>> * subversion/libsvn_wc/entries.c
>>   (insert_working_node): Don't force kind to subdir.
>>   (write_entry): Make working_node subdirs incomplete initially.
>
> How are you going to handle not present but added subdirectories in this way?

Do you mean

$ svn rm wc/A
$ svn ci -mm wc     # wc/A is not-present
$ svn mkdir wc/A
$ svn upgrade wc

I get

$ sqlite3 wc/.svn/wc.db "select * from base_node"
1||1|||normal|dir|1|||1|1282662995630871|pm|infinity||0||||
1|A|1|A||not-present|dir|-1||||||infinity||0||||
$ sqlite3 wc/.svn/wc.db "select * from working_node"
1|A||normal|dir||||||infinity|||||||0||0

which I think is correct. Or do you mean

$ svn mkdir wc/A
$ rm -rf wc/A
$ svn upgrade wc

I get

$ sqlite3 wc/.svn/wc.db "select * from base_node"
1||1|||normal|dir|0|||0|1282663366673755||infinity||0||||
$ sqlite3 wc/.svn/wc.db "select * from working_node"
1|A||incomplete|dir||||||infinity|||||||0||0

I don't think there is any Subversion command to fix the
working=incomplete at present.  I suppose the user could revert and do
another mkdir.

> You only have one status field for BASE_NODE and not present is only
> recorded in the parent directories (in the entries world recorded as
> entry->deleted in the parent dir). But if you set the directory to
> incomplete the 'not-present' status gets lost.  And this can't be
> fixed from the directory itself, as it doesn't know that it
> originally existed as not-present, because we only started
> propagating this information into the subdir in the WC-NG work.

-- 
Philip

Re: svn commit: r988550 - in /subversion/trunk/subversion: libsvn_wc/entries.c tests/cmdline/upgrade_tests.py

Posted by Philip Martin <ph...@wandisco.com>.
"Bert Huijben" <be...@qqmail.nl> writes:

>> -----Original Message-----
>> From: philip@apache.org [mailto:philip@apache.org]
>> Sent: dinsdag 24 augustus 2010 16:13
>> To: commits@subversion.apache.org
>> Subject: svn commit: r988550 - in /subversion/trunk/subversion:
>> libsvn_wc/entries.c tests/cmdline/upgrade_tests.py
>> 
>> Author: philip
>> Date: Tue Aug 24 14:13:26 2010
>> New Revision: 988550
>> 
>> URL: http://svn.apache.org/viewvc?rev=988550&view=rev
>> Log:
>> Fix upgrade_tests.py 7 in single-db.
>> 
>> * subversion/libsvn_wc/entries.c
>>   (insert_working_node): Don't force kind to subdir.
>>   (write_entry): Make working_node subdirs incomplete initially.
>
> How are you going to handle not present but added subdirectories in this way?

Do you mean

$ svn rm wc/A
$ svn ci -mm wc     # wc/A is not-present
$ svn mkdir wc/A
$ svn upgrade wc

I get

$ sqlite3 wc/.svn/wc.db "select * from base_node"
1||1|||normal|dir|1|||1|1282662995630871|pm|infinity||0||||
1|A|1|A||not-present|dir|-1||||||infinity||0||||
$ sqlite3 wc/.svn/wc.db "select * from working_node"
1|A||normal|dir||||||infinity|||||||0||0

which I think is correct. Or do you mean

$ svn mkdir wc/A
$ rm -rf wc/A
$ svn upgrade wc

I get

$ sqlite3 wc/.svn/wc.db "select * from base_node"
1||1|||normal|dir|0|||0|1282663366673755||infinity||0||||
$ sqlite3 wc/.svn/wc.db "select * from working_node"
1|A||incomplete|dir||||||infinity|||||||0||0

I don't think there is any Subversion command to fix the
working=incomplete at present.  I suppose the user could revert and do
another mkdir.

> You only have one status field for BASE_NODE and not present is only
> recorded in the parent directories (in the entries world recorded as
> entry->deleted in the parent dir). But if you set the directory to
> incomplete the 'not-present' status gets lost.  And this can't be
> fixed from the directory itself, as it doesn't know that it
> originally existed as not-present, because we only started
> propagating this information into the subdir in the WC-NG work.

-- 
Philip