You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Thorsten Schöning <ts...@am-soft.de> on 2017/07/06 08:15:16 UTC

Ignore svn:externals definition in some clients?

Hi all,

I have a large SVN repo containing various libs. Some of those are
versioned as files within our own repo, some only referenced using
svn:externals to be available in a local file tree always at the same
place for all users. Some of those externals refer to native SVN
repos, some use the GitHub SVN bridge.

One of those GitHub repos is special, because it's only a read-only
mirror of a native Git repo hosted elsewhere. So I reference that
read-only mirror using the SVN bridge of GitHub to be able to provide
it's content to my colleagues, while I have write access to the native
Git repo.

The problem is that I mostly work in the SVN tree at that special lib
as well for various setup reasons, but can't commit using the SVN
bridge of GitHub, because this project is read-only. So after things
work I copy them manually to the Git clone and commit them there,
update using SVN afterwards etc.

That's not a good solution, so I decided to simply replace the working
copy created for the svn:external of the read-only GitHub mirror with
a native Git clone. The dir structure and everything is the same of
course, it's only SVN vs. Git.

This works in general, but whenever I update my SVN working copy I get
an error message from the SVN client related the one svn:external I
replaced with a Git clone. That error makes sense of course, because I
broke things, but in this special case I would like to suppress the
error somehow because I simply don't care.

So, is there some way for a SVN client to be configured in a way that
some svn:externals of some paths are ignored or something like that?

I don't want to create some fancy scripts or such, in the end I could
live with the error and simply ignore it myself. I'm talking about the
"src" folder in the following example:

> C:\[...]\0.11.0-SNAPSHOT>dir
>  Datenträger in Laufwerk C: ist System
>  Volumeseriennummer: 266B-2863
>
>  Verzeichnis von C:\[...]\0.11.0-SNAPSHOT
>
> 06.07.2017  09:25    <DIR>          .
> 06.07.2017  09:25    <DIR>          ..
> 19.04.2017  18:27    <DIR>          build
> 13.10.2015  11:55             2.256 README.txt
> 06.07.2017  10:06    <DIR>          src
> 02.07.2016  15:50    <DIR>          web
>                1 Datei(en),          2.256 Bytes
>                5 Verzeichnis(se), 1.550.992.760.832 Bytes frei
>
> C:\[...]\0.11.0-SNAPSHOT>svn up
> Updating '.':
>
> Fetching external item into 'src':
> svn: warning: W155007: Can't obtain lock on non-directory 'C:\[...]\0.11.0-SNAPSHOT\src'.
>
>
> Fetching external item into 'web':
> External at revision 1015044.
>
> At revision 5780.
> svn: E205011: Failure occurred processing one or more externals definitions

Thanks for your input!

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail: Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow


Re: Ignore svn:externals definition in some clients?

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jul 6, 2017, at 04:24, Daniel Shahaf wrote:

> We also have a branch that enables svn to checkout git trees natively [1],
> but it's not even merged to trunk yet.
> 
> [1] https://svn.apache.org/viewvc/subversion/branches/ra-git/ <https://svn.apache.org/viewvc/subversion/branches/ra-git/>

Whoa, cool! I'm using GitHub's Subversion bridge now, but having support for git repositories right in the Subversion client would be great.



Re: Ignore svn:externals definition in some clients?

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Thorsten Schöning wrote on Thu, 06 Jul 2017 10:15 +0200:
> So, is there some way for a SVN client to be configured in a way that
> some svn:externals of some paths are ignored or something like that?

Edit the svn:externals property in your working copy to remove that external,
then run 'update', and don't commit the property edit.

We also have a branch that enables svn to checkout git trees natively [1],
but it's not even merged to trunk yet.

[1] https://svn.apache.org/viewvc/subversion/branches/ra-git/

Cheers,

Daniel