Home

svnexternals

svn externals is a Subversion feature that lets a working copy include files or directories from other locations, such as another repository or a different path within the same repository. By defining a set of externals, projects can share common libraries or components without duplicating their history in every checkout.

Externals are defined by the svn:externals property on a directory. Each line of the property specifies an

Common syntax examples include:

- libs http://example.com/svn/libs/trunk

- third_party http://example.org/externals/third_party/trunk -r 1234

Notes on usage: you typically edit the svn:externals property via svn propset or svn propedit and commit

Limitations and caveats: externals introduce dependencies on external sources, which can affect build reliability, network reliability,

Alternatives exist in other version control systems, such as git submodules or vendor directories, but svn

external
item:
a
local
directory
path
followed
by
a
URL,
with
an
optional
revision
specifier.
When
a
user
checks
out
or
updates
the
parent
directory,
Subversion
fetches
the
external
item
into
the
specified
local
path.
Externals
can
point
to
subtrees
in
the
same
repository
or
to
external
repositories
altogether,
and
you
can
pin
a
specific
revision
to
ensure
reproducible
builds.
the
change.
After
that,
running
svn
update
or
svn
checkout
will
populate
the
external
directories.
Peg
revisions
(URL@PEGREV)
and
operative
revisions
(-r
REV)
allow
control
over
which
state
of
the
external
you
fetch.
and
repository
history.
They
can
complicate
merges
and
make
the
build
less
portable
if
external
repositories
change
or
become
unavailable.
Careful
management,
including
pinning
revisions
and
validating
external
sources,
is
advised.
externals
remain
a
core
mechanism
in
Subversion
for
reusing
shared
components.