edlang/git2/struct.Submodule.html
2024-04-13 08:42:00 +00:00

84 lines
39 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A structure to represent a git submodule"><title>Submodule in git2 - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-5bc39a1768837dd0.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="git2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.77.2 (25ef9e3d8 2024-04-09)" data-channel="1.77.2" data-search-js="search-dd67cee4cfa65049.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-4c98445ec4002617.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-48f368f3872407c8.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-04d5337699b92874.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../git2/index.html">git2</a><span class="version">0.18.3</span></h2></div><h2 class="location"><a href="#">Submodule</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.add_finalize">add_finalize</a></li><li><a href="#method.add_to_index">add_to_index</a></li><li><a href="#method.branch">branch</a></li><li><a href="#method.branch_bytes">branch_bytes</a></li><li><a href="#method.clone">clone</a></li><li><a href="#method.head_id">head_id</a></li><li><a href="#method.ignore_rule">ignore_rule</a></li><li><a href="#method.index_id">index_id</a></li><li><a href="#method.init">init</a></li><li><a href="#method.name">name</a></li><li><a href="#method.name_bytes">name_bytes</a></li><li><a href="#method.open">open</a></li><li><a href="#method.opt_url_bytes">opt_url_bytes</a></li><li><a href="#method.path">path</a></li><li><a href="#method.reload">reload</a></li><li><a href="#method.repo_init">repo_init</a></li><li><a href="#method.sync">sync</a></li><li><a href="#method.update">update</a></li><li><a href="#method.update_strategy">update_strategy</a></li><li><a href="#method.url">url</a></li><li><a href="#method.workdir_id">workdir_id</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Drop-for-Submodule%3C'repo%3E">Drop</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-Submodule%3C'repo%3E">!Send</a></li><li><a href="#impl-Sync-for-Submodule%3C'repo%3E">!Sync</a></li><li><a href="#impl-RefUnwindSafe-for-Submodule%3C'repo%3E">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-Submodule%3C'repo%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Submodule%3C'repo%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate git2</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../git2/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">git2</a>::<wbr><a class="struct" href="#">Submodule</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/git2/submodule.rs.html#15-18">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Submodule&lt;'repo&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A structure to represent a git <a href="http://git-scm.com/book/en/Git-Tools-Submodules">submodule</a></p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Submodule%3C'repo%3E" class="impl"><a class="src rightside" href="../src/git2/submodule.rs.html#20-249">source</a><a href="#impl-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.branch" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#25-27">source</a><h4 class="code-header">pub fn <a href="#method.branch" class="fn">branch</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class="docblock"><p>Get the submodules branch.</p>
<p>Returns <code>None</code> if the branch is not valid utf-8 or if the branch is not
yet available.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.branch_bytes" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#32-34">source</a><h4 class="code-header">pub fn <a href="#method.branch_bytes" class="fn">branch_bytes</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u8.html">u8</a>]&gt;</h4></section></summary><div class="docblock"><p>Get the branch for the submodule.</p>
<p>Returns <code>None</code> if the branch is not yet available.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.clone" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#39-53">source</a><h4 class="code-header">pub fn <a href="#method.clone" class="fn">clone</a>(
&amp;mut self,
opts: <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut <a class="struct" href="struct.SubmoduleUpdateOptions.html" title="struct git2::SubmoduleUpdateOptions">SubmoduleUpdateOptions</a>&lt;'_&gt;&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Repository.html" title="struct git2::Repository">Repository</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Perform the clone step for a newly created submodule.</p>
<p>This performs the necessary <code>git_clone</code> to setup a newly-created submodule.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.url" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#58-60">source</a><h4 class="code-header">pub fn <a href="#method.url" class="fn">url</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class="docblock"><p>Get the submodules URL.</p>
<p>Returns <code>None</code> if the URL is not valid utf-8 or if the URL isnt present</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.opt_url_bytes" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#74-76">source</a><h4 class="code-header">pub fn <a href="#method.opt_url_bytes" class="fn">opt_url_bytes</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u8.html">u8</a>]&gt;</h4></section></summary><div class="docblock"><p>Get the URL for the submodule.</p>
<p>Returns <code>None</code> if the URL isnt present</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.name" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#81-83">source</a><h4 class="code-header">pub fn <a href="#method.name" class="fn">name</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class="docblock"><p>Get the submodules name.</p>
<p>Returns <code>None</code> if the name is not valid utf-8</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.name_bytes" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#86-88">source</a><h4 class="code-header">pub fn <a href="#method.name_bytes" class="fn">name_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]"></a></h4></section></summary><div class="docblock"><p>Get the name for the submodule.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.path" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#91-95">source</a><h4 class="code-header">pub fn <a href="#method.path" class="fn">path</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/1.77.2/std/path/struct.Path.html" title="struct std::path::Path">Path</a></h4></section></summary><div class="docblock"><p>Get the path for the submodule.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.head_id" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#98-100">source</a><h4 class="code-header">pub fn <a href="#method.head_id" class="fn">head_id</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Oid.html" title="struct git2::Oid">Oid</a>&gt;</h4></section></summary><div class="docblock"><p>Get the OID for the submodule in the current HEAD tree.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.index_id" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#103-105">source</a><h4 class="code-header">pub fn <a href="#method.index_id" class="fn">index_id</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Oid.html" title="struct git2::Oid">Oid</a>&gt;</h4></section></summary><div class="docblock"><p>Get the OID for the submodule in the index.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.workdir_id" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#112-114">source</a><h4 class="code-header">pub fn <a href="#method.workdir_id" class="fn">workdir_id</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Oid.html" title="struct git2::Oid">Oid</a>&gt;</h4></section></summary><div class="docblock"><p>Get the OID for the submodule in the current working directory.</p>
<p>This returns the OID that corresponds to looking up HEAD in the
checked out submodule. If there are pending changes in the index or
anything else, this wont notice that.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ignore_rule" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#117-119">source</a><h4 class="code-header">pub fn <a href="#method.ignore_rule" class="fn">ignore_rule</a>(&amp;self) -&gt; <a class="enum" href="enum.SubmoduleIgnore.html" title="enum git2::SubmoduleIgnore">SubmoduleIgnore</a></h4></section></summary><div class="docblock"><p>Get the ignore rule that will be used for the submodule.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.update_strategy" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#122-124">source</a><h4 class="code-header">pub fn <a href="#method.update_strategy" class="fn">update_strategy</a>(&amp;self) -&gt; <a class="enum" href="enum.SubmoduleUpdate.html" title="enum git2::SubmoduleUpdate">SubmoduleUpdate</a></h4></section></summary><div class="docblock"><p>Get the update rule that will be used for the submodule.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.init" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#135-140">source</a><h4 class="code-header">pub fn <a href="#method.init" class="fn">init</a>(&amp;mut self, overwrite: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Copy submodule info into “.git/config” file.</p>
<p>Just like “git submodule init”, this copies information about the
submodule into “.git/config”. You can use the accessor functions above
to alter the in-memory git_submodule object and control what is written
to the config, overriding what is in .gitmodules.</p>
<p>By default, existing entries will not be overwritten, but passing <code>true</code>
for <code>overwrite</code> forces them to be updated.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.repo_init" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#149-159">source</a><h4 class="code-header">pub fn <a href="#method.repo_init" class="fn">repo_init</a>(&amp;mut self, use_gitlink: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Repository.html" title="struct git2::Repository">Repository</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Set up the subrepository for a submodule in preparation for clone.</p>
<p>This function can be called to init and set up a submodule repository
from a submodule in preparation to clone it from its remote.
use_gitlink: Should the workdir contain a gitlink to the repo in
.git/modules vs. repo directly in workdir.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.open" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#165-171">source</a><h4 class="code-header">pub fn <a href="#method.open" class="fn">open</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Repository.html" title="struct git2::Repository">Repository</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Open the repository for a submodule.</p>
<p>This will only work if the submodule is checked out into the working
directory.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.reload" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#180-185">source</a><h4 class="code-header">pub fn <a href="#method.reload" class="fn">reload</a>(&amp;mut self, force: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Reread submodule info from config, index, and HEAD.</p>
<p>Call this to reread cached submodule information for this submodule if
you have reason to believe that it has changed.</p>
<p>If <code>force</code> is <code>true</code>, then data will be reloaded even if it doesnt seem
out of date</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sync" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#193-198">source</a><h4 class="code-header">pub fn <a href="#method.sync" class="fn">sync</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Copy submodule remote info into submodule repo.</p>
<p>This copies the information about the submodules URL into the checked
out submodule config, acting like “git submodule sync”. This is useful
if you have altered the URL for the submodule (or it has been altered
by a fetch of upstream changes) and you need to update your local repo.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.add_to_index" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#205-210">source</a><h4 class="code-header">pub fn <a href="#method.add_to_index" class="fn">add_to_index</a>(&amp;mut self, write_index: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Add current submodule HEAD commit to index of superproject.</p>
<p>If <code>write_index</code> is true, then the index file will be immediately
written. Otherwise you must explicitly call <code>write()</code> on an <code>Index</code>
later on.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.add_finalize" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#218-223">source</a><h4 class="code-header">pub fn <a href="#method.add_finalize" class="fn">add_finalize</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Resolve the setup of a new git submodule.</p>
<p>This should be called on a submodule once you have called add setup and
done the clone of the submodule. This adds the .gitmodules file and the
newly cloned submodule to the index to be ready to be committed (but
doesnt actually do the commit).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.update" class="method"><a class="src rightside" href="../src/git2/submodule.rs.html#234-248">source</a><h4 class="code-header">pub fn <a href="#method.update" class="fn">update</a>(
&amp;mut self,
init: <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.bool.html">bool</a>,
opts: <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut <a class="struct" href="struct.SubmoduleUpdateOptions.html" title="struct git2::SubmoduleUpdateOptions">SubmoduleUpdateOptions</a>&lt;'_&gt;&gt;
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct git2::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Update submodule.</p>
<p>This will clone a missing submodule and check out the subrepository to
the commit specified in the index of the containing repository. If
the submodule repository doesnt contain the target commit, then the
submodule is fetched using the fetch options supplied in <code>opts</code>.</p>
<p><code>init</code> indicates if the submodule should be initialized first if it has
not been initialized yet.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Drop-for-Submodule%3C'repo%3E" class="impl"><a class="src rightside" href="../src/git2/submodule.rs.html#264-268">source</a><a href="#impl-Drop-for-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../src/git2/submodule.rs.html#265-267">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.77.2/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Submodule%3C'repo%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section><section id="impl-Send-for-Submodule%3C'repo%3E" class="impl"><a href="#impl-Send-for-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; !<a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section><section id="impl-Sync-for-Submodule%3C'repo%3E" class="impl"><a href="#impl-Sync-for-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; !<a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section><section id="impl-Unpin-for-Submodule%3C'repo%3E" class="impl"><a href="#impl-Unpin-for-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section><section id="impl-UnwindSafe-for-Submodule%3C'repo%3E" class="impl"><a href="#impl-UnwindSafe-for-Submodule%3C'repo%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'repo&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Submodule.html" title="struct git2::Submodule">Submodule</a>&lt;'repo&gt;</h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.2/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.77.2/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.77.2/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.77.2/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.2/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.77.2/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#764">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#767">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#757">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#804-806">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#811">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#789-791">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.2/src/core/convert/mod.rs.html#796">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.2/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.77.2/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.77.2/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.77.2/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.77.2/std/primitive.u8.html\">u8</a>]</div>"}</script></section></div></main></body></html>