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

update that merges to produce pristine fails to set timestamp

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • all
    • unscheduled
    • libsvn_wc
    • None

    Description

      When update (or move-update during resolve with --accept mine-conflict) merges
      incoming changes into a locally modified file the function
      libsvn_wc/merge.c:merge_file_trivial detects when the result is equal to the
      pristine and bypasses the full text merge. When this happens the last_mod_time
      could be updated to show that the file is unmodified but this does not happen.
      
      svnadmin create repo
      svn co file://`pwd`/repo wc
      echo x > wc/f
      svn add wc/f
      svn ci -mm wc
      echo y > wc/f
      svn ci -mm wc
      echo x > wc/f
      svn up -r1 wc
      
      sqlite3 wc/.svn/wc.db "select local_relpath, last_mod_time from nodes"
      f|
      |
      
      svn cleanup wc
      
      sqlite3 wc/.svn/wc.db "select local_relpath, last_mod_time from nodes"
      f|1363177152668585
      |
      
      Cleanup detects that the file is unmodified and sets the timestamp. Update has
      the same information and could do the same. This is a performance rather than a
      correctness issue.
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            philipm Philip Martin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: