You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by fr...@selex-es.com on 2015/10/16 09:58:16 UTC

Access to non SVN files via svn property - Feature request

Hi all,

What feature do we suggest? A new svn property (aliens? :-) to reach 
"pure" http paths; during svn checkouts, when this property is followed, 
the standard http protocol is used and the resulting subtree is marked as 
"specially managed", so that svn status does not see it as a standard 
unversioned tree (this is to avoid that the user, by mistake, adds the 
tree to SVN repo. Similar ideas apply for svn export and svn commit.

Here is the background: in our company we have been managing SVN 
repositories since 2007; one of these repo has more than 800000 revisions 
and uses almost 140GB.
The reason for this large size is that, despite of the rules we stated, 
many users committed big binary files. Some were by mistake, some because 
the users found SVN the most reasonable place.
For the latter case I am referring to libraries and artifacts that are 
necessary to build the final product, that will be stored using the 
company PLM tool, not in SVN repo.
We then introduced an artifact repository manager, namely Sonatype Nexus, 
to store these artifacts;  we store in Nexus any kind of artifact, 
whichever is the programming language used to produce it.
For development trees we are used to set svn:externals property to access 
source files, possibly in other SVN repositories; we know it is "legal" to 
access binary files and libraries too, provided they are stored in a 
Subversion repository. But we strongly discourage such a behaviour and 
suggest to use Nexus instead.
What is our build process for a large project?
The modules are debugged and tested, the resulting artifact is stored (and 
versioned) on Nexus.
When programmers have to produce the final product they need to have a 
complete tree, made of sources for the main tree and of objects/libraries 
for the modules.
The problem is well known: it is impossible to access Nexus repositories 
via http through svn:externals: SVN expects to use the same protocol for 
the whole tree, externals included.

I did not find anything useful on the web, apart from the suggestion to 
use scripts to produce the correct environment, but such a solution 
depends on the development environment: for some developers it is very 
easy, for others it is not.

Thanks in advance,
Francesco Policastro
Product Data & Configuration Management
Selex ES, A Finmeccanica Company
Via Puccini 2
16154 Genova (Italia)
(Tel.) +39 010 6584092
(Email) francesco.policastro@selex-es.com
www.selex-es.com 

This email and any attachments are confidential to the intended recipient 
and may also be privileged. If you are not the intended recipient please 
delete it from your system and notify the sender. You should not copy it 
or use it for any purpose nor disclose or distribute its contents to any 
other person.
Questa e-mail e tutti i suoi allegati sono da intendersi inviati in via 
riservata all'effettivo destinatario e possono essere soggetti a 
restrizioni legali. Se non siete l'effettivo destinatario o avete ricevuto 
il messaggio per errore siete pregati di cancellarlo dal vostro sistema e 
di avvisare il mittente. E' vietata la duplicazione, l'uso a qualsiasi 
titolo, la divulgazione o la distribuzione dei contenuti di questa e-mail 
a qualunque altro soggetto.

Prima di stampare questa comunicazione consideratene, per favore, 
l'impatto ambientale
Please consider the environment before printing this email 

Re: Access to non SVN files via svn property - Feature request

Posted by fr...@selex-es.com.
Hi Eric,

Thanks for your reply, that is similar to those I already received.
My post was long enough, so I did not say that we have hundreds of 
programmers and a lot of projects, ranging from the smallest to the 
largest you can think of.
The languages and build tools used are very many, so getting a common 
solution is not easy.
Java programmers use Maven, of course, and none of them asked for the 
feature I am requesting;  the others, i.e. the most, do not even know what 
maven is.
Ivy? Yes, it could be a good solution, but we should be prepared to spread 
its knowledge throughout the company. Training courses, as we did for SVN, 
or e-learning could be useful.
It would be hard to convince those low level programmers who manage 
firmware or those who write embedded applications for linux or android, 
anyway.
We will see...

Francesco

Re: Access to non SVN files via svn property - Feature request

Posted by Eric Johnson <er...@tibco.com>.
Sounds like you're trying to solve the problem with the wrong tool.

What you probably want is a build system that fetches binary/built
dependencies for you. Since you're using Nexus, why not use Maven to fetch
said large binaries? You may need to spend time wrapping some of your
binaries up with Maven POM metadata, but you can get that done a lot faster
than any possible chance of success waiting for a new feature in a
Subversion client?

If you don't want Maven as your build tool, perhaps you can use Apache Ivy
to fetch your dependencies instead?

Eric.



On Fri, Oct 16, 2015 at 12:58 AM, <fr...@selex-es.com> wrote:

> Hi all,
>
> What feature do we suggest? A new svn property (aliens? :-) to reach
> "pure" http paths; during svn checkouts, when this property is followed,
> the standard http protocol is used and the resulting subtree is marked as
> "specially managed", so that svn status does not see it as a standard
> unversioned tree (this is to avoid that the user, by mistake, adds the tree
> to SVN repo. Similar ideas apply for svn export and svn commit.
>
> Here is the background: in our company we have been managing SVN
> repositories since 2007; one of these repo has more than 800000 revisions
> and uses almost 140GB.
> The reason for this large size is that, despite of the rules we stated,
> many users committed big binary files. Some were by mistake, some because
> the users found SVN the most reasonable place.
> For the latter case I am referring to libraries and artifacts that are
> necessary to build the final product, that will be stored using the company
> PLM tool, not in SVN repo.
> We then introduced an artifact repository manager, namely Sonatype Nexus,
> to store these artifacts;  we store in Nexus any kind of artifact,
> whichever is the programming language used to produce it.
> For development trees we are used to set svn:externals property to access
> source files, possibly in other SVN repositories; we know it is "legal" to
> access binary files and libraries too, provided they are stored in a
> Subversion repository. But we strongly discourage such a behaviour and
> suggest to use Nexus instead.
> What is our build process for a large project?
> The modules are debugged and tested, the resulting artifact is stored (and
> versioned) on Nexus.
> When programmers have to produce the final product they need to have a
> complete tree, made of sources for the main tree and of objects/libraries
> for the modules.
> The problem is well known: it is impossible to access Nexus repositories
> via http through svn:externals: SVN expects to use the same protocol for
> the whole tree, externals included.
>
> I did not find anything useful on the web, apart from the suggestion to
> use scripts to produce the correct environment, but such a solution depends
> on the development environment: for some developers it is very easy, for
> others it is not.
>
> Thanks in advance,
> *Francesco Policastro*
> Product Data & Configuration Management
> Selex ES, A Finmeccanica Company
> Via Puccini 2
> 16154 Genova (Italia)
> (Tel.) +39 010 6584092
> (Email) francesco.policastro@selex-es.com
> www.selex-es.com
>
> This email and any attachments are confidential to the intended recipient
> and may also be privileged. If you are not the intended recipient please
> delete it from your system and notify the sender. You should not copy it or
> use it for any purpose nor disclose or distribute its contents to any other
> person.
> Questa e-mail e tutti i suoi allegati sono da intendersi inviati in via
> riservata all'effettivo destinatario e possono essere soggetti a
> restrizioni legali. Se non siete l'effettivo destinatario o avete ricevuto
> il messaggio per errore siete pregati di cancellarlo dal vostro sistema e
> di avvisare il mittente. E' vietata la duplicazione, l'uso a qualsiasi
> titolo, la divulgazione o la distribuzione dei contenuti di questa e-mail a
> qualunque altro soggetto.
> [image: Tree]
> Prima di stampare questa comunicazione consideratene, per favore,
> l'impatto ambientale
> Please consider the environment before printing this email