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

update that merges to produce pristine fails to set timestamp

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: all
    • Fix Version/s: unscheduled
    • Component/s: libsvn_wc
    • Labels:
      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

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

              Dates

              • Created:
                Updated: