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

Erich Eckner arch at eckner.net
Tue Apr 20 11:53:14 UTC 2021


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Tue, 20 Apr 2021, Eli Schwartz wrote:

> 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."

I'm no svn guru, either, but in my case, it definitely behaves like git 
submodules:

svn+http://svn.freepascal.org/svn/fpcbuild

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

I don't know about the general case, but here, it checks out to 
subdirectories (like git submodules).

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

That's at least, what I assumed.

>
> 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.

Sounds reasonable, but OTOH, this sounds like a quite severe 
backwards-incompatibility :-) (and I don't know too many svn-based 
PKGBUILDs, so I cannot estimate the impact ...)

>
> -- 
> Eli Schwartz
> Bug Wrangler and Trusted User
>
>

regards,
Erich

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE3p92iMrPBP64GmxZCu7JB1Xae1oFAmB+wKwACgkQCu7JB1Xa
e1pg1Q/9EjRs/AccWfF5UR56/JvG2i45imb99NYW0rSR4IGNgLUmYosOxCIq01l/
C4pHmqKijU6786rdmiddVWlyzP+PNHzHCbgr6kGgGJEqcgf+QFcUcmEHoahn9BE7
6Txmz+mgLQdaJG8rhorHKfIakzrRAcmG5593/E/OoLhI3b/lagR6svL4ez9lq7pJ
SZo3k22z894lf+qVFjqhyEcKefnoZtBzE/RExurJ+t6KSn0oSIJbE9a8fSymrj6K
BqPS9WmIU6amnjP3vvmoMI1geo4W0nZR5PnC73DUJP1hbRBflnjQR8xTX+Ot9pRh
FwDBsAka8TUIAOWdFf7AxzYfJrH13TRLAYK2AexJcZmtptWiZRhlKq4izqnzT4oN
Gnx9uG8zvwMFiID+te1U3zCEER/BDjTZYN6Z+zpHjPeCxsX0GJt0cQNNy0zh2VHH
au9Ku797A3QOPE8QMhXY6CVvNblAoEccEOEHDDx1S8lGJqQlXM9xkZS899cSI34P
lthUZqcTDRA0qJPVNot/0nITgLwnknH7o3tG5QoB0rF2NDc9b6i6vKGQVGbWVH/T
ogeg47dLwwl6d5NvHwGEPzgYJAWUnBMhcuXIj1OiRAqOd0HjkHAgEsWf1F9jM5rG
a/is5CpyMEqgt8WZq/7b7WruSfPFK7ruSBw/lOrylNdKKtwTVJw=
=3nVg
-----END PGP SIGNATURE-----


More information about the pacman-dev mailing list