Commit a574d843 by Edward Thomson Committed by Carlos Martín Nieto

documentation: improve docs for `checkout_head`

`git_checkout_head` is sadly misunderstood as something that can
switch branches.  It cannot.  Update the documentation to reflect this.
parent 27008e84
...@@ -313,6 +313,13 @@ GIT_EXTERN(int) git_checkout_init_options( ...@@ -313,6 +313,13 @@ GIT_EXTERN(int) git_checkout_init_options(
* Updates files in the index and the working tree to match the content of * Updates files in the index and the working tree to match the content of
* the commit pointed at by HEAD. * the commit pointed at by HEAD.
* *
* Note that this is _not_ the correct mechanism used to switch branches;
* do not change your `HEAD` and then call this method, that would leave
* you with checkout conflicts since your working directory would then
* appear to be dirty. Instead, checkout the target of the branch and
* then update `HEAD` using `git_repository_set_head` to point to the
* branch you checked out.
*
* @param repo repository to check out (must be non-bare) * @param repo repository to check out (must be non-bare)
* @param opts specifies checkout options (may be NULL) * @param opts specifies checkout options (may be NULL)
* @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non * @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment