[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-issues
Subject:    [Issue 3618] New - suggest course of action after merge
From:       pburba () tigris ! org
Date:       2010-04-15 15:25:51
Message-ID: iz3618 () subversion ! tigris ! org
[Download RAW message or body]

http://subversion.tigris.org/issues/show_bug.cgi?id=3618
                 Issue #|3618
                 Summary|suggest course of action after merge tree-conflicts du
                        |e to missing subtrees
               Component|subversion
                 Version|trunk
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|ENHANCEMENT
                Priority|P4
            Subcomponent|libsvn_client
             Assigned to|issues@subversion
             Reported by|pburba






------- Additional comments from pburba@tigris.org Thu Apr 15 08:25:47 -0700 2010 -------
As discussed in this thread, http://svn.haxx.se/dev/archive-2010-04/0350.shtml,
it would be helpful to suggest a course of action after a merge which produces
tree-conflicts due to missing subtrees.

For example, we perform a merge and get tree-conflicts:

  trunk.client@934395>svn merge ^^/subversion/trunk . -c879902
  --- Merging r879902 into 'subversion\libsvn_fs_fs':
     C subversion\libsvn_fs_fs\fs_fs.c
     C subversion\libsvn_fs_fs\fs.c
     C subversion\libsvn_fs_fs\fs.h
  --- Recording mergeinfo for merge of r879902 into '.':
   U   .
  --- Recording mergeinfo for merge of r879902 into 'subversion\libsvn_fs_fs':
   G   subversion\libsvn_fs_fs
  Summary of conflicts:
    Tree conflicts: 3

These tree conflicts are due to a "missing" subtree in the WC target:

  trunk.client@934395>svn st
   M      .
   M      subversion\libsvn_fs_fs
  !     C subversion\libsvn_fs_fs\fs_fs.c
        >   local missing, incoming edit upon merge
  !     C subversion\libsvn_fs_fs\fs.c
        >   local missing, incoming edit upon merge
  !     C subversion\libsvn_fs_fs\fs.h
        >   local missing, incoming edit upon merge
  Summary of conflicts:
    Tree conflicts: 3

But why are these subtrees missing?  I doubt many users are immediately thinking
"Ah, I must have a shallow WC or not be authorized to part of my WC!"  The
former is the case here:

  trunk.client@934395>svn info subversion\libsvn_fs_fs
  Path: subversion\libsvn_fs_fs
  URL:
https://svn.apache.org/repos/asf/subversion/branches/1.6.x/subversion/libsvn_fs_fs
  Repository Root: https://svn.apache.org/repos/asf
  Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
  Revision: 934432
  Node Kind: directory
  Schedule: normal
  Depth: empty
  Last Changed Author: hwright
  Last Changed Rev: 929634
  Last Changed Date: 2010-03-31 13:44:10 -0400 (Wed, 31 Mar 2010)

Ideally the merge would produce a hint(s) as to what caused some(all) of the
tree-conflicts:

  trunk.client@934395>svn merge ^^/subversion/trunk . -c879902
  --- Merging r879902 into 'subversion\libsvn_fs_fs':
     C subversion\libsvn_fs_fs\fs_fs.c
     C subversion\libsvn_fs_fs\fs.c
     C subversion\libsvn_fs_fs\fs.h
  --- Recording mergeinfo for merge of r879902 into '.':
   U   .
  --- Recording mergeinfo for merge of r879902 into 'subversion\libsvn_fs_fs':
   G   subversion\libsvn_fs_fs
  Summary of conflicts:
    Tree conflicts: 3
  VVVVV
  svn: Some tree conflicts due to shallow working copy target;
    try updating working copy to full depth and repeating the merge.
  ^^^^^
   
  trunk.client@934395>svn revert -R . -q

  trunk.client@934395>svn up --set-depth infinity subversion\libsvn_fs_fs
  A    subversion\libsvn_fs_fs\tree.c
  A    subversion\libsvn_fs_fs\key-gen.c
  A    subversion\libsvn_fs_fs\dag.h
  A    subversion\libsvn_fs_fs\fs_fs.c
  A    subversion\libsvn_fs_fs\id.h
  A    subversion\libsvn_fs_fs\tree.h
  A    subversion\libsvn_fs_fs\key-gen.h
  A    subversion\libsvn_fs_fs\fs_fs.h
  A    subversion\libsvn_fs_fs\fs.c
  A    subversion\libsvn_fs_fs\fs.h
  A    subversion\libsvn_fs_fs\structure
  A    subversion\libsvn_fs_fs\rep-cache.c
  A    subversion\libsvn_fs_fs\rep-cache-db.sql
  A    subversion\libsvn_fs_fs\err.c
  A    subversion\libsvn_fs_fs\lock.c
  A    subversion\libsvn_fs_fs\dag.c
  A    subversion\libsvn_fs_fs\id.c
  A    subversion\libsvn_fs_fs\caching.c
  A    subversion\libsvn_fs_fs\rep-cache.h
  A    subversion\libsvn_fs_fs\lock.h
  A    subversion\libsvn_fs_fs\err.h
  Updated to revision 934437.

  trunk.client@934395>svn merge ^^/subversion/trunk . -c879902
  --- Merging r879902 into '.':
  U    subversion\libsvn_fs_fs\fs_fs.c
  U    subversion\libsvn_fs_fs\fs.c
  U    subversion\libsvn_fs_fs\fs.h
  --- Recording mergeinfo for merge of r879902 into '.':
   U   .

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2583882

To unsubscribe from this discussion, e-mail: [issues-unsubscribe@subversion.tigris.org].
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic