[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

(Checkout depth != Fully recursive) and svn:externals problem

From: <McMorning_at_gmx.de>
Date: Thu, 17 Mar 2011 13:02:50 +0100

Currently i'm getting into trouble by using sparse checkouts and svn:externals.

1. Fresh checkout
- Just put somewhere into your repository an svn:external.
- Make a fresh checkout of this path and set the depth to "Immediate children, including folder" and make sure that "Omit externals" are UNchecked.
- Hit the OK Button to receive the folder.
- You'll get all files and folders (empty) expect the ones, that are defined through svn:external, even if you didn't tell to "Omit externals".

This is a behaviour i wouldn't expect. At least there should be something within the documentation that makes these things clear.

2. Switch to Fully Recursive
- Simply select "Update to revision …" and change the depth to "Fully recursive". Make sure that "Omit externals" are UNchecked.
- Now you'll get everything including the externals.

Okay, now i'll got everything, but if within my repo is a folder at this stage that includes several GB that i actually don't need (hence the sparse checkout in the first step), i'll get into trouble.

3. Switch back to "Immediate children, including folder"
- Again select "Update to revision ..." and change the depth to "Immediate children, including folders" and make sure that "Omit externals" are UNchecked.
- So all stuff in the sub-folders within this stage will be deleted. Except the externals folder will stay as-is.

Is this what i want? Why are "normal" folders stripped down, but not the externals folder? And how does this structure behave from this point in time? Let's check it...

4. Make changes in the externals folder and start an Commit from the folder above
- Dive into the externals folder and make some changes e.g.:
   -- Add a file to the repo.
   -- Mark a file for deletion.
   -- Change an existing file.
- Step back to the folder above and call "Commit".

Yeah, it works, it tells me that there are changes in my externals folder that should be committed (Yes, this is expected and works like a charm, but i have to document it to make the next problem more clear).

5. Make any changes that lead to an Update of the externals folder
- Delete a file without telling Tortoise. In that case it should be simply recreated at the next Update.
- Make changes to the externals repo from somewhere else (simply the steps in point 4) to simulate colleagues working on that stuff.
- Step back to the folder above and call "Update"
   -- It simply ignores the externals folder and i don't get any changes from the externals repo.

So after doing point 4 and we seen that commit works, we would expect that update works exactly the same (to be symmetric) but it doesn't.

Is this behaviour the expected by everyone (the developers of tortoise)? If yes, please make these things more clear in your documentation. If not, please fix it.

Last but not least:
- These tests have been made with TortoiseSVN 1.6.13, Build 20954 - 32 Bit , 2011/03/03 12:21:34 on WinXP 32bit SP3 with all recent patches

Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-03-17 13:08:12 CET

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.