Broken branch/switch behavior

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown Broken branch/switch behavior

by Jason Hughes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've been fighting with the branching/merging functionality a lot lately.

Do this:
    - make a folder in the trunk
    - put two files in the folder, check one in and set it to ignore other
    - create a branch from trunk and switch to it
    - in the branch you've made, create a new folder.  Move the
checked-in file to this new folder.
    - switch back and forth and watch SmartSVN cry and moan about folder
conflicts

Issue #1: If I have set a file to be ignored in a directory, I realize
that directory cannot be deleted because it isn't empty.  Fine.  But I
do NOT see why SVN has to fail to grab files into that same directory
unless there's a local file collision, or a pre-existing .svn folder
that has differing repo data.  That's a useless complaint that makes
life hard for everyone when a branch gets rearranged relative to the
trunk, or vice-versa.

Issue #2: I do not EVER want to see a partial fetch during a switch.  
The whole reason for using atomic version control is that either
something succeeds or it fails.  Half of my folders are switched and
half are back on another version.  This is totally broken in every
imaginable way.

To make matters worse, since it goes PART WAY through my tree before
failing to continue, I have to fix (ie. delete) one folder at a time,
then attempt to switch from the root AGAIN, then it grabs a folder or
two then fails on the next major folder on a different part of the
folder tree.  Ie.  c:/root/a/b/c and c:/root/d/e/f, if 'c' and 'f' are
colliding, you'll have to go back and switch the project two times
before it can tell you that.  Very painful.

I'm also getting a ton of 'local add, incoming add upon merge' with
folders that are created from a branch.  Why the hell do I have to go
through and resolve these manually every time?  If I want to get on a
branch, I want whatever is there.  Why is this so hard?

JH

Jason Hughes
President
Steel Penny Games, Inc.
Austin, TX




------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/smartsvn/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/smartsvn/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:smartsvn-digest@...
    mailto:smartsvn-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    smartsvn-unsubscribe@...

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


Re: Broken branch/switch behavior

by syntevo Support-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>     - switch back and forth and watch SmartSVN cry and moan about folder
> conflicts

With SmartSVN 6.0.7 I've tried to reproduce, taking following actions, but
failed:

- Create directory "dir1"
- Create file "dir1/file1.txt"
- Create file "dir1/file2.txt"
- Ignore "dir1/file2.txt"
- Commit
- Create branch "conflict", switch to branch
- Create directory "dir2"
- Move "dir1/file1.txt" to "dir".
- Commit
- Switch to trunk: No conflict
- Switch to branch: No conflict.

> Issue #1: If I have set a file to be ignored in a directory, I realize
> that directory cannot be deleted because it isn't empty.

I know this behavior, but I think only from older versions. With 6.0.7 you can
remove directories containing ignored files. SmartSVN would only complain in
case of modified/unversioned file. You may also use "Force Removal" to get
even rid of these files. Probably this is the reason why I don't get conflicts
for the same(?) situations where you had conflicts.

> Issue #2: I do not EVER want to see a partial fetch during a switch.  
> The whole reason for using atomic version control is that either
> something succeeds or it fails.  Half of my folders are switched and
> half are back on another version.  This is totally broken in every
> imaginable way.

SVN doesn't claim to have atomic update (but only commit). Indeed,
update/switch can fail due to multiple local "conflicts"/obstructions which
have to be resolved manually (hence SVN has to leave the working copy
partially switched). But if update/switch is interrupted by a conflict, a
couple of directories (including the root) should remain in "incomplete" state
and AFAIK a simple update on the root will proceed with the initial
update/switch.

> I'm also getting a ton of 'local add, incoming add upon merge' with
> folders that are created from a branch.

OK, these are tree-conflicts and AFAIK since initial SVN 1.6 release there
have been some fixes. Without concrete examples it's hard to tell whether the
conflicts your were running into are justified or not. I would recommend to
upgrade to version 6.0.7 which might fix some of your problems (btw, which
version are you using currently?)

--
Best regards,
Marc Strapetz
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com



Jason Hughes <jhughes@...> wrote:

> I've been fighting with the branching/merging functionality a lot lately.
>
> Do this:
>     - make a folder in the trunk
>     - put two files in the folder, check one in and set it to ignore other
>     - create a branch from trunk and switch to it
>     - in the branch you've made, create a new folder.  Move the
> checked-in file to this new folder.
>     - switch back and forth and watch SmartSVN cry and moan about folder
> conflicts
>
> Issue #1: If I have set a file to be ignored in a directory, I realize
> that directory cannot be deleted because it isn't empty.  Fine.  But I
> do NOT see why SVN has to fail to grab files into that same directory
> unless there's a local file collision, or a pre-existing .svn folder
> that has differing repo data.  That's a useless complaint that makes
> life hard for everyone when a branch gets rearranged relative to the
> trunk, or vice-versa.
>
> Issue #2: I do not EVER want to see a partial fetch during a switch.  
> The whole reason for using atomic version control is that either
> something succeeds or it fails.  Half of my folders are switched and
> half are back on another version.  This is totally broken in every
> imaginable way.
>
> To make matters worse, since it goes PART WAY through my tree before
> failing to continue, I have to fix (ie. delete) one folder at a time,
> then attempt to switch from the root AGAIN, then it grabs a folder or
> two then fails on the next major folder on a different part of the
> folder tree.  Ie.  c:/root/a/b/c and c:/root/d/e/f, if 'c' and 'f' are
> colliding, you'll have to go back and switch the project two times
> before it can tell you that.  Very painful.
>
> I'm also getting a ton of 'local add, incoming add upon merge' with
> folders that are created from a branch.  Why the hell do I have to go
> through and resolve these manually every time?  If I want to get on a
> branch, I want whatever is there.  Why is this so hard?
>
> JH
>
> Jason Hughes
> President
> Steel Penny Games, Inc.
> Austin, TX
>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>








------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/smartsvn/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/smartsvn/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:smartsvn-digest@...
    mailto:smartsvn-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    smartsvn-unsubscribe@...

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/