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

svn commit prints bad error message in case of conflicts

    XMLWordPrintableJSON

Details

    Description

      On the tree-conflicts branch, there are now three different types of conflicts:
      
      1. text conflicts (flagged on files)
      2. property conflicts (flagged on files and directories)
      3. tree conflicts (flagged on directories)
      
      Note that 1. and 2. can happen at the same time for files,
      and 2. and 3. can happen at the same time for directories.
      
      For all three cases, the error message upon commit is:
      
      svn: Commit failed (details follow):
      svn: Aborting commit: '/tmp/wc-trunk/A' remains in conflict
      
      This is really,really uninformative. We should consider printing a
      more descriptive message than that, for all kinds of conflicts.
      
      The message should include the type of conflict that prevents
      the item from being committed.
      
      A few examples of what I imagine this could look like:
      
      For text and property conflicts, on both files and directories:
      
      svn: Aborting commit: '/tmp/wc-trunk/A' has a text conflict
      svn: Aborting commit: '/tmp/wc-trunk/A' has a property conflict 
      
      For tree conflicts on directories: 
      svn: Aborting commit: '/tmp/wc-trunk/A' contains tree-conflict victims
      
      For tree conflict victims (currently only files can be tree-conflict victims,
      but that may change in the future): 
      svn: Aborting commit: '/tmp/wc-trunk/A' is the victim of a tree conflict
      
      
      Also, we should consider adding a brief sentence explaining how more
      information about the conflict can be obtained. This is really important
      for tree conflicts, where the user currently needs to run 'svn status'
      on a directory containing tree conflicts to see the list of victims.
      This is not intuitive at all so I'd really like to provide our users
      a bit of guidance in this case. For example:
      
      svn: Aborting commit: '/tmp/wc-trunk/A' contains tree-conflict victims
      Run 'svn info /tmp/wc-trunk/A' for more information
      
      For text and property conflicts, we might just as well make the UI consistent,
      and mention briefly how these conflicts can be resolved by manual editing and
      interactive conflict resolution.
      I won't provide examples for this because cmpilato changed the way conflict
      resolution is done about two hours ago, and I'm not sure yet what the
      new way is exactly and whether it's already set in stone.
      

      http://svn.collab.net/repos/svn/branches/tree-conflicts

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              stsp Stefan Sperling
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: