git-commit-vandalism/builtin
Antonio Ospite b5c259f226 submodule: add a helper to check if it is safe to write to .gitmodules
Introduce a helper function named is_writing_gitmodules_ok() to verify
that the .gitmodules file is safe to write.

The function name follows the scheme of is_staging_gitmodules_ok().

The two symbolic constants GITMODULES_INDEX and GITMODULES_HEAD are used
to get help from the C preprocessor in preventing typos, especially for
future users.

This is in preparation for a future change which teaches git how to read
.gitmodules from the index or from the current branch if the file is not
available in the working tree.

The rationale behind the check is that writing to .gitmodules requires
the file to be present in the working tree, unless a brand new
.gitmodules is being created (in which case the .gitmodules file would
not exist at all: neither in the working tree nor in the index or in the
current branch).

Expose the functionality also via a "submodule-helper config
--check-writeable" command, as git scripts may want to perform the check
before modifying submodules configuration.

Signed-off-by: Antonio Ospite <ao2@ao2.it>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-09 12:40:21 +09:00
..
add.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
am.c Merge branch 'en/directory-renames-nothanks' 2018-09-04 14:31:38 -07:00
annotate.c
apply.c apply.c: make init_apply_state() take a struct repository 2018-08-13 14:14:44 -07:00
archive.c archive.c: avoid access to the_index 2018-08-13 14:14:43 -07:00
bisect--helper.c bisect: mention "view" as an alternative to "visualize" 2017-11-13 10:51:14 +09:00
blame.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
branch.c branch: support configuring --sort via .gitconfig 2018-08-16 11:17:10 -07:00
bundle.c
cat-file.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
check-attr.c attr: remove index from git_attr_set_direction() 2018-08-13 14:14:43 -07:00
check-ignore.c check-ignore: fix mix of directories and other file types 2018-02-12 13:09:35 -08:00
check-mailmap.c
check-ref-format.c Merge branch 'jc/check-ref-format-oor' into maint 2017-11-15 12:04:57 +09:00
checkout-index.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
checkout.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
clean.c dir.c: remove an implicit dependency on the_index in pathspec code 2018-08-13 14:14:42 -07:00
clone.c Merge branch 'jt/connectivity-check-after-unshallow' 2018-08-15 15:08:28 -07:00
column.c column: fix off-by-one default width 2018-05-13 10:45:05 +09:00
commit-graph.c commit-graph: add free_commit_graph 2018-07-17 15:47:48 -07:00
commit-tree.c commit: add repository argument to lookup_commit 2018-06-29 10:43:39 -07:00
commit.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
config.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
count-objects.c packfile: convert has_sha1_pack to object_id 2018-05-02 13:59:49 +09:00
credential.c
describe.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
diff-files.c
diff-index.c Merge branch 'ma/builtin-unleak' 2017-10-07 16:27:55 +09:00
diff-tree.c diff.c: move read_index() code back to the caller 2018-08-13 14:14:42 -07:00
diff.c tag: add repository argument to deref_tag 2018-06-29 10:43:39 -07:00
difftool.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00
fast-export.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
fetch-pack.c Merge branch 'bw/protocol-v2' 2018-05-08 15:59:16 +09:00
fetch.c Merge branch 'jt/connectivity-check-after-unshallow' 2018-08-15 15:08:28 -07:00
fmt-merge-msg.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
for-each-ref.c provide --color option for all ref-filter users 2017-10-04 11:35:29 +09:00
fsck.c Merge branch 'jk/core-use-replace-refs' 2018-08-15 15:08:23 -07:00
gc.c Merge branch 'kg/gc-auto-windows-workaround' 2018-08-02 15:30:43 -07:00
get-tar-commit-id.c distinguish error versus short read from read_in_full() 2017-09-27 15:45:24 +09:00
grep.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
hash-object.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
help.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
index-pack.c Merge branch 'jk/core-use-replace-refs' 2018-08-15 15:08:23 -07:00
init-db.c pass st.st_size as hint for strbuf_readlink() 2018-07-24 10:19:29 -07:00
interpret-trailers.c Merge branch 'jk/trailers-parse' 2017-08-26 22:55:04 -07:00
log.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
ls-files.c ls-files: correct index argument to get_convert_attr_ascii() 2018-08-13 14:14:43 -07:00
ls-remote.c Merge branch 'bw/server-options' 2018-05-23 14:38:15 +09:00
ls-tree.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
mailinfo.c
mailsplit.c
merge-base.c commit: add repository argument to lookup_commit 2018-06-29 10:43:39 -07:00
merge-file.c
merge-index.c
merge-ours.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
merge-recursive.c builtin/merge-recursive: make hash independent 2018-07-16 14:27:39 -07:00
merge-tree.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
merge.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
mktag.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
mktree.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
mv.c Merge branch 'ma/lockfile-cleanup' 2018-05-30 14:04:05 +09:00
name-rev.c tag: add repository argument to deref_tag 2018-06-29 10:43:39 -07:00
notes.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
pack-objects.c Merge branch 'nd/pack-deltify-regression-fix' 2018-08-22 11:17:05 -07:00
pack-redundant.c pack-redundant: convert linked lists to use struct object_id 2018-05-02 13:59:50 +09:00
pack-refs.c refs: add repository argument to get_main_ref_store 2018-04-12 11:38:56 +09:00
patch-id.c
prune-packed.c for_each_*_object: move declarations to object-store.h 2018-08-14 12:29:57 -07:00
prune.c Merge branch 'jk/core-use-replace-refs' 2018-08-15 15:08:23 -07:00
pull.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
push.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
range-diff.c range-diff: update stale summary of --no-dual-color 2018-08-27 13:13:59 -07:00
read-tree.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00
rebase--helper.c rebase -i: introduce --rebase-merges=[no-]rebase-cousins 2018-04-26 12:28:43 +09:00
receive-pack.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
reflog.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
remote-ext.c consistently use "fallthrough" comments in switches 2017-09-22 12:49:57 +09:00
remote-fd.c
remote.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
repack.c Merge branch 'jt/repack-promisor-packs' 2018-08-20 12:40:31 -07:00
replace.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
rerere.c avoid "write_in_full(fd, buf, len) != len" pattern 2017-09-14 15:17:59 +09:00
reset.c Merge branch 'jm/cache-entry-from-mem-pool' 2018-08-02 15:30:43 -07:00
rev-list.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
rev-parse.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
revert.c Merge branch 'nd/cherry-pick-quit-fix' 2018-08-20 12:41:34 -07:00
rm.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
send-pack.c Merge branch 'rs/opt-updates' 2018-08-27 14:33:43 -07:00
serve.c serve: introduce git-serve 2018-03-15 12:01:08 -07:00
shortlog.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00
show-branch.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00
show-index.c make show-index a builtin 2018-05-29 00:28:22 +09:00
show-ref.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
stripspace.c
submodule--helper.c submodule: add a helper to check if it is safe to write to .gitmodules 2018-10-09 12:40:21 +09:00
symbolic-ref.c refs: rename constant REF_NODEREF to REF_NO_DEREF 2017-11-06 10:31:08 +09:00
tag.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
unpack-file.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
unpack-objects.c Merge branch 'jk/core-use-replace-refs' 2018-08-15 15:08:23 -07:00
update-index.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
update-ref.c update-ref --stdin: use skip_prefix() 2018-06-04 12:26:01 +09:00
update-server-info.c parse-options: let OPT__FORCE take optional flags argument 2018-02-09 10:24:50 -08:00
upload-archive.c archive.c: avoid access to the_index 2018-08-13 14:14:43 -07:00
upload-pack.c check_replace_refs: rename to read_replace_refs 2018-07-18 15:45:14 -07:00
var.c
verify-commit.c commit: add repository argument to lookup_commit 2018-06-29 10:43:39 -07:00
verify-pack.c
verify-tag.c ref-filter: use "struct object_id" consistently 2018-04-09 06:14:45 +09:00
worktree.c worktree: add --quiet option 2018-08-17 15:18:01 -07:00
write-tree.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00