This way users of this function do not need to read the implementation to know what it will do. Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- submodule.c | 5 ----- submodule.h | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/submodule.c b/submodule.c index c1edc91a13..d12e4ea96c 100644 --- a/submodule.c +++ b/submodule.c @@ -1507,11 +1507,6 @@ static void submodule_reset_index(const char *path) die("could not reset submodule index"); } -/** - * Moves a submodule at a given path from a given head to another new head. - * For edge cases (a submodule coming into existence or removing a submodule) - * pass NULL for old or new respectively. - */ int submodule_move_head(const char *path, const char *old, const char *new, diff --git a/submodule.h b/submodule.h index f0da0277a4..3c15977be9 100644 --- a/submodule.h +++ b/submodule.h @@ -111,6 +111,24 @@ extern void connect_work_tree_and_git_dir(const char *work_tree, const char *git */ int submodule_to_gitdir(struct strbuf *buf, const char *submodule); +/** + * Move the HEAD and content of the active submodule at 'path' from object id + * 'old' to 'new'. + * + * Updates the submodule at 'path' and files in its work tree to commit + * 'new'. The commit previously pointed to by the submodule is named by + * 'old'. This updates the submodule's HEAD, index, and work tree but + * does not touch its gitlink entry in the superproject. + * + * If the submodule did not previously exist, then 'old' should be NULL. + * Similarly, if the submodule is to be removed, 'new' should be NULL. + * + * If updating the submodule would cause local changes to be overwritten, + * then instead of updating the submodule, this function prints an error + * message and returns -1. + * + * If the submodule is not active, this does nothing and returns 0. + */ #define SUBMODULE_MOVE_HEAD_DRY_RUN (1<<0) #define SUBMODULE_MOVE_HEAD_FORCE (1<<1) extern int submodule_move_head(const char *path, -- 2.14.0.rc0.3.g6c2e499285