Shipwri...Branches(3)

πŸ“¦
version 2.4.42 Β· 2 versions
, in fedora 43

✨ NAME ✨

okay bestie so this is Shipwri...Branches(3) from the User Contributed Perl Documentation crew β€” it's literally called Shipwright::Manual::UsingBranches, and it's the manual for Using branches. yes that's the whole title. slay. πŸ’…


🌸 DESCRIPTION 🌸

so Shipwright branches is a whole method for keeping multiple sources for one source β€” like, imagine branches in a vcs but make it shipwright. technically?? all the sources for foo live below sources/foo/. that's the vibe. πŸ¦‹

now here's the tea: sources from CPAN can't be branched. or, flip it around, they can only have one branch. technically, only dists that occurred in shipwright/source.yml can be branched. no cap. 😀

picture this: we have an app Foo, and its layout in vcs is like:

trunk/...  branches/1.0/...  branches/2.0/...

with branches support, we can add all 3 versions in shipwright, and it's giving:

$ shipwright import -r ... svn:.../trunk --name Foo --as trunk
$ shipwright import -r ... svn:.../branches/1.0 --name Foo --as branches/1.0
$ shipwright import -r ... svn:.../branches/2.0 --name Foo --as branches/2.0

and the branch names?? can be whatever you want. they do not need to match the layout of your vcs system. so now we have trunk, 1.0 and 2.0 branches in shipwright, and:

$ shipwright list -r ... Foo

will show "branches: trunk, branches/1.0, branches/2.0" ✨

now, when you build, the 1st one gets treated as the default branch. want to change the default branch? say we want 2.0 as the default, easy:

$ shipwright defaultbranch -r ... Foo branches/2.0

and if we don't want to touch the default branch at all, we can also supply the --branch arg when we build:

$ ./bin/shipwright-builder --branches Foo=branches/2.0

πŸ’Œ Note:

okay important thing, listen up 🫢 β€” since all these branches share the same build script and the same dep sources, if your branches are way too different, it's better to import it as another source instead of branching. like, just don't. it's giving messy. πŸ™ˆ


πŸ‘€ SEE ALSO πŸ‘€

  • Shipwright
  • Shipwright::Manual

πŸ’– AUTHORS πŸ’–

  • sunnavy "<sunnavy@bestpractical.com>"

Shipwright is Copyright 2007-2015 Best Practical Solutions, LLC.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


okay that's the whole page, you ate it up fr fr πŸ’…πŸŽ€ this was perl v5.42.0, dated 2025-07-25, and it's Shipwri...Branches(3) signing off β€” ily, go branch responsibly πŸ¦‹βœ¨

πŸ“¦ where this page comes from