Git::R...bmodule(3pm)
π Git::Raw::Submodule β the man page, but make it cute π
okay so bestie, you opened the manual named Git::R...bmodule(3pm) and it's literally the docs for Git::Raw::Submodule, which is the submodule class in Git::Raw. it's giving "tiny class, big feelings". let's get into it π¦
β¨ VERSION β¨
version 0.90 β that's the number, no cap, memorize it π
πΈ DESCRIPTION πΈ
WARNING: the API of this module is unstable and may change without warning. not me being dramatic β that's literally what it says. any change will be appropriately documented in the changelog, so likeβ¦ track the changelog, bestie. π
π METHODS π
foreach( $repo, \&callback )
iterate over all tracked submodules of a repository. it calls \&callback for each and every one of them, no skips. the callback receives a single argument β the name of the the submodule β and if it returns a non-zero value, the loop gets terminated. bye. πͺ
lookup( $repo, $name )
look up submodule info by name or path. returns a Git::Raw::Submodule object. π
init( $overwrite )
just like git submodule init. it copies info about the submodule into .git/config. it's giving "move-in day" π
open( )
open the repository for a submodule. returns a Git::Raw::Repository object. π«Ά
update( $init, [\%update_opts] )
update a submodule, bestie. here's the tea:
- it will clone a missing submodule
- and it'll checkout the subrepository to the commit specified in the index of the containing repository π¦
and if the submodule repository doesn't contain the target commit? then the submodule gets fetched using the fetch options you supplied in \%update_opts.
and if the submodule is not initialized, setting the $init flag to true will initialize the submodule before updating. otherwise β and this is the important part β this method will throw an exception if you try to update an uninitialized repository. so like, don't do that π
valid fields for %update_opts are:
checkout_optsβ seeGit::Raw::Repository->checkout()β¨fetch_optsβ seeGit::Raw::Remote->fetch()β¨allow_fetchβ allow fetching from the submodule's default remote if the target commit isn't found. enabled by default. π
name( )
get the name of the submodule. that's it. that's the whole method. iconic. π
path( )
get the path to the submodule. π
url( )
get the URL of the submodule. π
add_to_index( )
add the current submodule HEAD commit to the index of the superproject. β
sync( )
copy the submodule remote info into the submodule repo. synchronizing, baby β¨
reload( )
reread the submodule info from config, index, and HEAD. it's giving "vibe check refresh" π
π AUTHOR π
Jacques Germishuys <jacquesg@cpan.org>
π LICENSE AND COPYRIGHT π
Copyright 2019 Jacques Germishuys.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
and that's the whole page, bestie!! no notes, 10/10, would commit again. π this was perl v5.42.3, dated 2026-08-19, from the manual page Git::R...bmodule(3pm) β drink some water, go git submodule update, and slay πβ¨π¦
π¦ where this page comes from
- ubuntu stonking: libgit-raw-perl 0.90+ds-3build3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms