Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-1994

'svn cp wc URL' failure.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • all
    • unscheduled
    • libsvn_fs_base
    • None

    Description

      Somebody found an interesting problem in our 'svn cp wc URL' codepath.
      
      The full recipe is below, and it reproduces for me using today's /trunk 1.1.0
      code.  Basically, the guy has a working copy all at r4.  He backdates a single
      file to r2, then tries to create a 'mixed revision tag' by running 'svn cp .
      URL', just as the book recommends.  He gets an out-of-date error on the file.
      
      Is libsvn_fs somehow being too restrictive in its out-of-date checks?
      
      Here's the recipe:
      
      1) [tmp]$ svnadmin create /tmp/svnroot
       2) [tmp]$ svn mkdir file:///tmp/svnroot/dir1 -m'Created top-level dir1'
       3) Committed revision 1.
       4) [tmp]$ svn co file:///tmp/svnroot/dir1
       5) Checked out revision 1.
       6) [tmp]$ cd dir1
       7) [dir1]$ mkdir dir2
       8) [dir1]$ echo 'first revision of file1' > dir2/file1
       9) [dir1]$ echo 'first revision of file2' > dir2/file2
      10) [dir1]$ svn add dir2
      11) A         dir2
      12) A         dir2/file1
      13) A         dir2/file2
      14) [dir1]$ svn commit -m'Added dir2, file1, file2'
      15) Adding         dir2
      16) Adding         dir2/file1
      17) Adding         dir2/file2
      18) Transmitting file data ..
      19) Committed revision 2.
      20) 
      21) [dir1]$ echo 'second revision of file1' > dir2/file1
      22) [dir1]$ svn commit -m'Modified file1'
      23) Sending        dir2/file1
      24) Transmitting file data .
      25) Committed revision 3.
      26) [dir1]$ svn copy . file:///tmp/svnroot/goodcopy -m'No problem with
      copying this WC'
      27) 
      28) Committed revision 4.
      29) [dir1]$ svn up
      30) At revision 4.
      31) [dir1]$ svn up -r2 dir2/file1
      32) U  dir2/file1
      33) Updated to revision 2.
      34) [dir1]$ svn copy . file:///tmp/svnroot/badcopy -m'SVN does not like
      this mixed-revision WC'
      35) svn: Commit failed (details follow):
      36) svn: Out of date: 'badcopy/dir2/file1' in transaction '9'
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            sussman Ben Collins-Sussman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: