You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Andreas J. Koenig" <an...@anima.de> on 2002/12/28 16:06:41 UTC

Is this 'status -u' behaviour correct?

As I understood the documentation, the 'svn st -u' command always
shows which files would need updating. So how can this happen:

% svn st -u
Head revision:     67
% svn st -u -v
               56       54          k   .
               56        6          k   cron-daily.pl
       *       56       44          k   crontab.root
               56        6          k   gmls-lR.pl
               56        6          k   mirror_wget_rsync.sh
               56       26          k   mldistwatch
               65       65          k   mysql-dump.pl
               56        6          k   publish-crontab.sh
               56       36          k   restart-httpd
               56        6          k   rm_stale_links
               56        6          k   run_mirrors.sh
               59       59          k   svn-dump.pl
               56        6          k   sync-04pause.sh
               56       37          k   update-checksums.pl
Head revision:     67


This seems to be illegal behaviour: the first command should show
crontab.root as being out of date.

I see this behaviour with an svn client at rev. 4196 and a server at
rev. 3987.

If I now run the update command...

% svn up
U  crontab.root
Updated to revision 67.

I get crontab.root updated indeed and status shows me:

% svn st -u -v
               67       65          k   .
               67        6          k   cron-daily.pl
               67       63          k   crontab.root
               67        6          k   gmls-lR.pl
               67        6          k   mirror_wget_rsync.sh
               67       26          k   mldistwatch
               67       65          k   mysql-dump.pl
               67        6          k   publish-crontab.sh
               67       36          k   restart-httpd
               67        6          k   rm_stale_links
               67        6          k   run_mirrors.sh
               67       59          k   svn-dump.pl
               67        6          k   sync-04pause.sh
               67       37          k   update-checksums.pl
Head revision:     67


I think, this is either a bug or I'm missing something. You decide:-)

-- 
andreas

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

Re: Is this 'status -u' behaviour correct?

Posted by "Andreas J. Koenig" <an...@anima.de>.
>>>>> On 28 Dec 2002 13:50:09 -0600, Karl Fogel <kf...@newton.ch.collab.net> said:

  > Branko Čibej <br...@xbc.nu> writes:
 >> Er, Karl, look at his post again. That's the output of the second
 >> command, not the first one.

  > Whups -- thanks, Brane, I missed the first command and saw only the
  > second (with "-v").  Sorry, Andreas :-).

I forgive you;)

  > Yup, this is a bug.  However, I'm not able to reproduce it with a
  > relatively recent client, operating against the (recently upgraded)
  > server at svn.collab.net:

  >    $ svn st -u
  >           *     4195   doc/book/book/ch06.xml
  >    Head revision:   4196
  >    $ 

  > (If I run 'svn st -uv', it agrees that ch06.xml is the only file
  > needing an update.)

It's not broken all the time. So far I have only seen it with this
single file. As if "crontab.root" would be a reserved filename.

  > Andreas, can you reproduce this with your same working copy and
  > repository, but using HEAD for both server and client?

Yes.

Here is a small testcase. Starting with an empty repository I run the
following commands:

  mkdir ws1 ws2
  cd ws1
  svn co http://k75/svn/test ./
  svn mkdir cron
  date > cron/crontab.root
  svn add cron/crontab.root
  svn ci -m '' 
  cd ../ws2
  svn co http://k75/svn/test ./
  cd -
  date > cron/crontab.root
  svn ci -m '' 
  cd -
  svn st -u
  svn st -u -v

The last two commands as seen on my terminal:

10:29:17 k@k242:~/tmp/svn-crontab-bug/ws2% svn st -u
Head revision:      2
10:29:20 k@k242:~/tmp/svn-crontab-bug/ws2% svn st -u -v
                1        1          k   .
                1        1          k   cron
       *        1        1          k   cron/crontab.root
Head revision:      2



-- 
andreas

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

Re: Is this 'status -u' behaviour correct?

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
andreas.koenig@anima.de (Andreas J. Koenig) writes:
> I've determined the relevant patch: 4181.

Thanks for tracking it down!

(Looks like that was my bad, then.)

> I hope that my test case finds its way into the test suite.

Yes, I will do this when I fix the bug.

-Karl

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

Re: Is this 'status -u' behaviour correct?

Posted by "Andreas J. Koenig" <an...@anima.de>.
>>>>> On 29 Dec 2002 10:22:29 -0600, Karl Fogel <kf...@newton.ch.collab.net> said:

  > Yup.  Wonder if it's related to Andreas' bug...

I've determined the relevant patch: 4181.

As it's a client bug, it was easy to binary-search through svn clients.

I hope that my test case finds its way into the test suite.

-- 
andreas

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

Re: Is this 'status -u' behaviour correct?

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Ben Collins-Sussman <su...@collab.net> writes:
> For the last three days now, every morning I run 'svn st -u', followed
> immediately by 'svn up', and I always get *different* results!  Here
> are my transcripts:
> 
> -----------------------------------------------
> DAY 1
> 
> $ svn st -u
> M            4192   notes/autoversioning-strategy.txt
>     S        4193   subversion/mod_dav_svn
> M            4193   subversion/mod_dav_svn/deadprops.c
> Head revision:   4194
> 
> $ svn up
> U  subversion/include/svn_props.h
> Updated to revision 4194.

Ooooh.  Yeah, why didn't it show svn_props.h as needing updating?

> DAY 2
> 
> $ svn st -u
> M            4195   doc/book/outline.txt
> M            4195   notes/autoversioning-strategy.txt
>     S        4195   subversion/mod_dav_svn
> Head revision:   4196

There must have been one other update, too, since you went from 4194
to 4195.

> $ svn up
> U  doc/book/book/ch06.xml
> Updated to revision 4196.

Same with ch06.xml...

> DAY 3
> 
> $ svn st -u
> M            4196   doc/book/outline.txt
> M            4196   notes/autoversioning-strategy.txt
>        *            notes/webdav-proxy
>     S        4196   subversion/mod_dav_svn
> Head revision:   4204
> 
> $ svn up
> A  notes/webdav-proxy
> U  subversion/svnadmin/main.c
> U  subversion/svnlook/main.c
> U  packages/rpm/redhat-7.x/subversion.spec
> U  packages/rpm/redhat-8.x/subversion.spec
> Updated to revision 4204.

Well, I'm glad to see it noticed at least *one* of the outdated files
when you ran status :-(.

> Needless to say, I find this more than a little bit disturbing.  :-(
> 
> Can anyone else reproduce this?  I wonder if it has something to do
> with having a switched subdir.  My guess is that to reproduce, you
> simply need to 1. backdate your working copy a few revisions, so it's
> out of date ('svn up -r'), and 2. switch a subdir to a branch.
> 
> This looks like a big, big bug to me.

Yup.  Wonder if it's related to Andreas' bug...

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

Re: Is this 'status -u' behaviour correct?

Posted by Ben Collins-Sussman <su...@collab.net>.
Karl Fogel <kf...@newton.ch.collab.net> writes:

> Yup, this is a bug.  However, I'm not able to reproduce it with a
> relatively recent client, operating against the (recently upgraded)
> server at svn.collab.net:

I have another status bug.  I don't know if this is related to
Andreas' bug or not.

For the last week, my working copy has contained one switched
subdirectory;  my mod_dav_svn subdir has been switched to the
autoversioning branch.

For the last three days now, every morning I run 'svn st -u', followed
immediately by 'svn up', and I always get *different* results!  Here
are my transcripts:

-----------------------------------------------
DAY 1

$ svn st -u
M            4192   notes/autoversioning-strategy.txt
    S        4193   subversion/mod_dav_svn
M            4193   subversion/mod_dav_svn/deadprops.c
Head revision:   4194

$ svn up
U  subversion/include/svn_props.h
Updated to revision 4194.

DAY 2

$ svn st -u
M            4195   doc/book/outline.txt
M            4195   notes/autoversioning-strategy.txt
    S        4195   subversion/mod_dav_svn
Head revision:   4196

$ svn up
U  doc/book/book/ch06.xml
Updated to revision 4196.

DAY 3

$ svn st -u
M            4196   doc/book/outline.txt
M            4196   notes/autoversioning-strategy.txt
       *            notes/webdav-proxy
    S        4196   subversion/mod_dav_svn
Head revision:   4204

$ svn up
A  notes/webdav-proxy
U  subversion/svnadmin/main.c
U  subversion/svnlook/main.c
U  packages/rpm/redhat-7.x/subversion.spec
U  packages/rpm/redhat-8.x/subversion.spec
Updated to revision 4204.

-----------------------------------------------

Needless to say, I find this more than a little bit disturbing.  :-(

Can anyone else reproduce this?  I wonder if it has something to do
with having a switched subdir.  My guess is that to reproduce, you
simply need to 1. backdate your working copy a few revisions, so it's
out of date ('svn up -r'), and 2. switch a subdir to a branch.

This looks like a big, big bug to me.



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

Re: Is this 'status -u' behaviour correct?

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Branko Čibej <br...@xbc.nu> writes:
> Er, Karl, look at his post again. That's the output of the second
> command, not the first one.

Whups -- thanks, Brane, I missed the first command and saw only the
second (with "-v").  Sorry, Andreas :-).

Yup, this is a bug.  However, I'm not able to reproduce it with a
relatively recent client, operating against the (recently upgraded)
server at svn.collab.net:

   $ svn st -u
          *     4195   doc/book/book/ch06.xml
   Head revision:   4196
   $ 

(If I run 'svn st -uv', it agrees that ch06.xml is the only file
needing an update.)

Andreas, can you reproduce this with your same working copy and
repository, but using HEAD for both server and client?

-Karl

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

Re: Is this 'status -u' behaviour correct?

Posted by Branko Čibej <br...@xbc.nu>.
Karl Fogel wrote:

>andreas.koenig@anima.de (Andreas J. Koenig) writes:
>  
>
>>Head revision:     67
>>% svn st -u -v
>>               56       54          k   .
>>               56        6          k   cron-daily.pl
>>       *       56       44          k   crontab.root
>>               56        6          k   gmls-lR.pl
>>               56        6          k   mirror_wget_rsync.sh
>>               56       26          k   mldistwatch
>>               65       65          k   mysql-dump.pl
>>               56        6          k   publish-crontab.sh
>>               56       36          k   restart-httpd
>>               56        6          k   rm_stale_links
>>               56        6          k   run_mirrors.sh
>>               59       59          k   svn-dump.pl
>>               56        6          k   sync-04pause.sh
>>               56       37          k   update-checksums.pl
>>Head revision:     67
>>
>>
>>This seems to be illegal behaviour: the first command should show
>>crontab.root as being out of date.
>>    
>>
>
>It does -- that's what the "*" means.
>  
>

Er, Karl, look at his post again. That's the output of the second
command, not the first one.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


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

Re: Is this 'status -u' behaviour correct?

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
andreas.koenig@anima.de (Andreas J. Koenig) writes:
> Head revision:     67
> % svn st -u -v
>                56       54          k   .
>                56        6          k   cron-daily.pl
>        *       56       44          k   crontab.root
>                56        6          k   gmls-lR.pl
>                56        6          k   mirror_wget_rsync.sh
>                56       26          k   mldistwatch
>                65       65          k   mysql-dump.pl
>                56        6          k   publish-crontab.sh
>                56       36          k   restart-httpd
>                56        6          k   rm_stale_links
>                56        6          k   run_mirrors.sh
>                59       59          k   svn-dump.pl
>                56        6          k   sync-04pause.sh
>                56       37          k   update-checksums.pl
> Head revision:     67
> 
> 
> This seems to be illegal behaviour: the first command should show
> crontab.root as being out of date.

It does -- that's what the "*" means.

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