Skip to main content

Module submodule_gitdir

Module submodule_gitdir 

Source
Expand description

Submodule gitdir paths when extensions.submodulePathConfig is enabled.

Mirrors Git’s create_default_gitdir_config / validate_submodule_git_dir logic enough for upstream tests (encoded paths, nesting checks, conflict resolution).

Functions§

compute_default_submodule_gitdir
Computes submodule.<name>.gitdir as a path relative to the work tree when not already set.
connect_submodule_work_tree_and_git_dir
Writes the gitfile and core.worktree for a submodule using configured submodule.<name>.gitdir.
die_path_inside_submodule_when_disabled
Fails when submodulePathConfig is off and new_path would nest inside an existing submodule.
ensure_submodule_gitdir_config
Ensures submodule.<name>.gitdir exists, writing it via compute_default_submodule_gitdir if needed.
hash_blob_sha1_hex
Returns the 40-character hex SHA-1 of a blob object for data (same as git hash-object).
init_submodule_head_from_gitlink
If modules_dir/HEAD is missing, sets it to oid_hex when that commit exists in objects/.
is_git_directory
Returns true if path looks like a git directory (HEAD and objects/ exist).
migrate_gitdir_configs
Migrates legacy submodule dirs under .git/modules/: sets submodule.*.gitdir and enables the extension.
path_inside_indexed_submodule
Returns true if new_path is strictly inside a gitlink path recorded in index (stage 0).
path_inside_registered_submodule
Returns true if new_path is under a submodule path declared in .gitmodules.
set_submodule_repo_worktree
Sets core.worktree in the submodule repo at modules_dir via grit --git-dir.
submodule_gitdir_filesystem_path
Resolves the absolute filesystem path of a submodule’s git directory.
submodule_modules_git_dir
Filesystem path to the separate git directory for a submodule at submodule_worktree_rel (path relative to the superproject work tree), under super_git_dir.
submodule_path_config_enabled
Returns whether extensions.submodulePathConfig is enabled in git_dir/config.
validate_encoded_submodule_git_dir
Validates an encoded submodule gitdir path when submodulePathConfig is enabled.
validate_legacy_submodule_git_dir
Validates a legacy submodule gitdir path (extension disabled): name suffix and no nesting clash.
write_submodule_gitfile
Writes sub_worktree/.git as a gitfile pointing at modules_dir (relative when possible).