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

AW: Feature request

From: Markus Schaber <m.schaber_at_3s-software.com>
Date: Fri, 2 Mar 2012 13:38:05 +0000

Hi, Markus,

You could add some "WorkingArea" directory to your repository where you commit your D:\Source directory. Project1, Project2, Project3 and CommonFiles are defined inside D:\Source as externals.

That way, every group of users can have their own working area, but they all also get the benefits of SVN for them.

Defining externals which point outside the directory brings several problems I can see:
- The obvious security problems which were discussed before.

- How do recursive commands like "commit", "merge" etc. behave when they come across an external definition with an upwards pointing local path: Should they recurse into that "neighbor" directory, or not? This kind of behavior can be very confusing and hard to explain to users.

- If you want to commit changes in several of those directories the way you intend it, you cannot do this from D:\Source - as this directory is not a working copy. Either the users have to specify several directories, or we need the above mentioned "recursion to neighbours".

- Imagine both Project1 and Project2 have different / conflicting definitions for ..\CommonFiles. Which one will win? If Project1 wins, the build of Project2 may be silently damaged...

Best regards

Markus Schaber

We software Automation.
3S-Smart Software Solutions GmbH
Markus Schaber | Developer
Memminger Str. 151 | 87439 Kempten | Germany | Tel. +49-831-54031-0 | Fax +49-831-54031-50
Email: m.schaber@3s-software.com | Web: http://www.3s-software.com 
CoDeSys internet forum: http://forum.3s-software.com
Download CoDeSys sample projects: http://www.3s-software.com/index.shtml?sample_projects
Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915 
-----Ursprüngliche Nachricht-----
Von: Humm, Markus [mailto:Markus.Humm_at_de.ebmpapst.com] 
Gesendet: Freitag, 2. März 2012 14:18
An: dev_at_subversion.apache.org
Betreff: Feature request
we are currently in the process of implementing subversion on our site and I have found out it lacks one feature I'd really love to use: relative local paths for svn:externals.
I already started a discussion about such a feature over in the user@ mailing list, and after a little discussion I got the suggestion to write about my wish here and start a discussion here.
I know that there are other possible solutions for my problem, but none of those seems to have the elegancy and simplicity a svn:externals based solution would have! They're either failure prone (user errors) or would require to use OS level commands/techniques which are Unfamiliar/strange to normal users here which wouldn't increase trust in a SCM solution at all!
Here's what I'd like to do:
Given the following directory structure (on Windows):
where each Project directory contains one working copy and relies also on files from CommonFiles and all of those projects and CommonFiles are from the same repository. 
I'd like to be able to specify on Project1 ../CommonFiles as local path of the svn:externals property. I can understand the security concerns raised over in user@, but for this the feature should either
a) have a global switch in the client to disallow usage of ../ completely
b) have the possibility to specify a list of "trusted" domains/URL which may contain ../ paths
   and for all other repositories ../ as local path for svn:externals would be illigal
c) A combination of a) and b) so you can switch it off even if a "trusted" list exists
I don't mind a) or b) either would be fine with me.
Another security meassure could be built in I'd be ok with as well: limit relative local svn:external paths to one single hierarchy level: ../CommonFiles would be allowed but ../../ would be illegal. So for my example nothing could leave d:\Source with that limit.
I hope my wish has been well enough written to be understandable. If not feel free to contact me for further clarifications.
Best regards
Markus Humm
Entwicklung Elektronik
ebm-papst Mulfingen GmbH & Co. KG
Bachmühle 2
74673 Mulfingen
Phone.: +49 (7938) 81 531
Fax: +49 (7938) 81 9531
mailto: Markus.Humm_at_de.ebmpapst.com
GreenTech - Ein Zeichen, mit dem wir Zeichen setzen. A symbol that defines standards.
ebm-papst Mulfingen GmbH & Co. KG
Sitz der Gesellschaft: Bachmuehle 2, D-74673 Mulfingen Kommanditgesellschaft Sitz Mulfingen: Amtsgericht Stuttgart HRA 590344
Komplementaer: Elektrobau Mulfingen GmbH, Sitz Mulfingen, Amtsgericht Stuttgart HRB 590142
Geschaeftsfuehrung: Hans-Jochen Beilke (Vorsitzender), Thomas Borst, Hans Peter Fuchs, Dr. Bruno Lindl, Thomas Wagner
Received on 2012-03-02 14:50:03 CET

This is an archived mail posted to the Subversion Dev mailing list.