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

List:       subversion-issues
Subject:    [Issue 3662] New - Inconsistent status report of svn:externals on
From:       skoe () tigris ! org
Date:       2010-06-23 7:29:12
Message-ID: iz3662 () subversion ! tigris ! org
[Download RAW message or body]

http://subversion.tigris.org/issues/show_bug.cgi?id=3662
                 Issue #|3662
                 Summary|Inconsistent status report of svn:externals on directo
                        |ry levels > 1
               Component|subversion
                 Version|1.6.x
                Platform|All
                     URL|
              OS/Version|Linux
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|cmdline client
             Assigned to|issues@subversion
             Reported by|skoe






------- Additional comments from skoe@tigris.org Wed Jun 23 00:29:11 -0700 2010 -------
There's an issue with svn:externals when using them on subdirectories, which 
should be fine according to the documentation.

Let's look at an example with these svn:externals:

^/tags/libs/a/1.0   a
^/tags/libs/b/2.0   b
^/tags/apps/c/1.1   src/c
^/tags/apps/d/2.0   src/d

svn up .
svn st .

(empty lines removed from output)
>>>>>>>>>>>>>>>
 M      .
X       a
X       b
X       src
Performing status on external item at 'a'
Performing status on external item at 'b'
Performing status on external item at 'src/c'
Performing status on external item at 'src/d'
<<<<<<<<<<<<<<<

This look okay so far, even if "X src/c" and "X  src/d" would be better IMHO, 
since "src" was created implicitely and is not really a direct external. (This 
was already mentioned in issue 2638)

Now let's remove two of these lines, the rest looks like this:

^/tags/libs/a/1.0 a
^/tags/apps/c/1.1 src/c

svn up .
svn st .

Results in output which is inconsistent:

>>>>>>>>>>>>>>>
 M      .
X       a
?       b
X       src
Performing status on external item at 'a'
Performing status on external item at 'src/c'
<<<<<<<<<<<<<<<

The directory src/d remains unchanged on my hard disk and does not get any 
comment on "svn st". I would expect something like "?  src/d" like is is 
printed for the directory "b".

This may be dangerous if people use 
"svn ps svn:externals -F <predefd-externals> ." and don't check
carefully for removed entries.

I tried to get a second opinion on the mailing list and IRC, but nobody could 
give helpful information.

Our software has many different configurations with different versions of 
different subsystems, this can be done easily with externals, better than using 
branches for all variations.

(Server: >= 1.6.x, Client: 1.6.11, both on Linux)

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

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