Skip to content

Commit fece563

Browse files
committed
docs(rust-lang#1148): Add note regarding potentially confusing behavior of git_checkout_head.
1 parent 62d353e commit fece563

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/repo.rs

+7
Original file line numberDiff line numberDiff line change
@@ -2065,6 +2065,13 @@ impl Repository {
20652065

20662066
/// Updates files in the index and the working tree to match the content of
20672067
/// the commit pointed at by HEAD.
2068+
///
2069+
/// Make sure you're aware of the potentially confusing semantics of this function, as described
2070+
/// by the libgit2 documentation for the underlying libgit2 function:
2071+
/// <https://libgit2.org/docs/reference/main/checkout/git_checkout_head.html>.
2072+
///
2073+
/// Notably, this should not be used for switching branches. For that you should checkout the target of the
2074+
/// desired branch and then use [Repository::set_head] to update HEAD to point to the checked-out branch.
20682075
pub fn checkout_head(&self, opts: Option<&mut CheckoutBuilder<'_>>) -> Result<(), Error> {
20692076
unsafe {
20702077
let mut raw_opts = mem::zeroed();

0 commit comments

Comments
 (0)