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

svn import syntax is confusing; merge 1st and 3rd arguments

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • all
    • 0.25
    • libsvn_client
    • None

    Description

      Right now, we use "svn import" as:  
        
      $ svn import REPOS_URL [PATH] [NEW_ENTRY_IN_REPOS]  
        
      I propose:  
        
      $ svn import REPOS_URL[/NEW_ENTRY] [PATH]  
        
      My problems with the current scheme:  
        
      (1) AFAIK, import is the only command where REPOS_URL and ENTRY_IN_REPOS  
      are   
      separate.  This is inconsistant.  
        
      (2) Not only are they separate, but there is another argument between them.    
      Many times have I been burned by accidentally switching PATH and   
      NEW_ENTRY_IN_REPOS.  This is confusing.  
        
        
      All of the current use cases could be accounted for by the change.  If you   
      have a working copy with a single file "foo" in the directory "working-copy":  
        
      (1) $ svn import url://repos/new-entry working-copy  
      Create directory new-entry/ in repository and copy contents of working-copy   
      into that directory.  You end up with "url://repos/new-entry/foo".  
        
      (2) $ svn import url://repos/ working-copy  
      Same thing, but without creating "new-entry/".  You end up with   
      "url://repos/foo".  
        
      (3) $ svn import url://repos/  
      Copy contents of current directory into repository root.  If the current   
      directory contains the working-copy directory, you end up with   
      "url://repos/working-copy/foo", along with all the other contents of the   
      current directory.  
        
      (4) $ svn import url://repos/new-entry  
      Create directory new-entry/ in repository and copy contents of current   
      directory there.  You end up with "url://repos/new-entry/working-copy/foo".  
        
        
      Much like removing the "-d" option from checkout, this change would probably   
      confuse existing users.  But in the end, it would make a lot more sense, and   
      it is better to change it now before 1.0 makes a change impossible. 
       
      New users *are* getting burned by this, especially since import is the very first 
      thing they have to use.  See 
      http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=23364
      

      http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=198339

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              davispw Peter Davis
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: