[pacman-dev] [Proposal] --ignore-externals for svn source

Eli Schwartz eschwartz at archlinux.org
Tue Apr 20 11:34:06 UTC 2021


On 4/20/21 7:22 AM, Erich Eckner wrote:
> Hi,
> 
> I'm trying to put an svn source into a PKGBUILD, but unfortunately, the
> source has many large externals, that I'd like to ignore. If I read
> scripts/libmakepkg/source/svn.sh.in correctly, the cloning of all
> externals is (currently) hard coded.
> 
> I would like to implement some option to disable that. What would be the
> best format for that?
> 
> The only thing, I could come up with, is a source in the form:
> 
> "$local_name::svn+https://$url#$revision?ignore_externals"
> 
> However, this looks totally wrong, as "ignore_externals" is nothing,
> that should be done with the tree after cloning (in contrast to "signed"
> for git), but rather something, that should be inherent to the source
> (like a different protocol).
> 
> Or is there already some nice trick to achieve, what I want? (I tried to
> put "ignore-externals" into .makepkg/config inside the svn tree, but it
> didn't change anything.)

It's not exactly clear to me what externals *are*.

http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html

Some of this (use cases) sounds like basically git submodules.

"An externals definition is a mapping of a local directory to the
URL—and ideally a particular revision—of a versioned directory."

sounds like checking out to random directories outside of the clone
destination.

...

Is this just typical terrible svn documentation? Should I assume "just
submodules"?

It seems to me like svn is wrong-headed for making this the default
clone action, it should be opt-in not opt-out. Maybe we could disable
this by default and make people who want it, perform the same routines
they currently do for git submodules.

-- 
Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/pacman-dev/attachments/20210420/390acd11/attachment.sig>


More information about the pacman-dev mailing list