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

log -g and --limit interact

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • ---
    • unscheduled
    • libsvn_repos
    • None

    Description

      The duplicate removal filter for -g can suppress revisions that are expected to
      be sent later, but if those revisions are also suppressed by --limit then they
      do not appear in the output.
      
      The script below creates a repository, makes a branch and merges it back in r8.
      
      This command doesn't show any of the merged revisions:
      
      $ svn log -qg --limit 1 file://`pwd`/repo
      ------------------------------------------------------------------------
      r8 | pm | 2011-07-20 12:19:11 +0100 (Wed, 20 Jul 2011)
      ------------------------------------------------------------------------
      
      But running it on a path deeper inside the repository does:
      
      $ svn log -qg --limit 1 file://`pwd`/repo/A
      ------------------------------------------------------------------------
      r8 | pm | 2011-07-20 12:19:11 +0100 (Wed, 20 Jul 2011)
      ------------------------------------------------------------------------
      r7 | pm | 2011-07-20 12:19:08 +0100 (Wed, 20 Jul 2011)
      Merged via: r8
      ------------------------------------------------------------------------
      r5 | pm | 2011-07-20 12:19:05 +0100 (Wed, 20 Jul 2011)
      Merged via: r8
      ------------------------------------------------------------------------
      r4 | pm | 2011-07-20 12:19:05 +0100 (Wed, 20 Jul 2011)
      Merged via: r8
      ------------------------------------------------------------------------
      
      #!/bin/sh -e
      svn=svn ; svnadmin=svnadmin ; svnlook=svnlook ; svnmucc=svnmucc
      repo=repo ; wc=wc ; url=file:///`pwd`/$repo
      rm -rf $repo $wc
      $svnadmin create $repo
      # create 'A' as trunk
      $svn mkdir -mm $url/A
      $svn mkdir -mm $url/A/B
      $svnmucc -mm -- put - $url/A/B/f <<EOD
      111
      222
      333
      EOD
      # create 'X' as branch
      $svn cp -mm $url/A $url/X
      # modifications on trunk and branch
      $svnmucc -mm -- put - $url/X/B/f <<EOD
      111
      222x
      333
      EOD
      $svnmucc -mm -- put - $url/A/B/f <<EOD
      111a
      222
      333
      EOD
      # merge branch to trunk
      $svn co $url/X $wc
      $svn merge ^/A $wc
      $svn ci -mm $wc
      $svn sw $url/A $wc
      $svn merge --reintegrate ^/X $wc
      $svn ci -mm $wc
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: