1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-01 14:57:52 +01:00
git/builtin
Stefan Beller 31224cbdc7 clone: recursive and reference option triggers submodule alternates
When `--recursive` and `--reference` is given, it is reasonable to
expect that the submodules are created with references to the submodules
of the given alternate for the superproject.

  An initial attempt to do this was presented to the mailing list, which
  used flags that are passed around ("--super-reference") that instructed
  the submodule clone to look for a reference in the submodules of the
  referenced superproject. This is not well thought out, as any further
  `submodule update` should also respect the initial setup.

  When a new  submodule is added to the superproject and the alternate
  of the superproject does not know about that submodule yet, we rather
  error out informing the user instead of being unclear if we did or did
  not use a submodules alternate.

To solve this problem introduce new options that store the configuration
for what the user wanted originally.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-17 17:19:11 -07:00
..
add.c add: add --chmod=+x / --chmod=-x options 2016-06-07 17:43:39 -07:00
am.c Merge branch 'js/am-call-theirs-theirs-in-fallback-3way' 2016-07-19 13:22:23 -07:00
annotate.c
apply.c Merge branch 'va/i18n-even-more' 2016-07-13 11:24:10 -07:00
archive.c
bisect--helper.c
blame.c Merge branch 'mh/blame-worktree' 2016-07-25 14:13:45 -07:00
branch.c Merge branch 'mh/split-under-lock' 2016-07-25 14:13:32 -07:00
bundle.c
cat-file.c Merge branch 'nd/pack-ofs-4gb-limit' 2016-07-28 10:34:42 -07:00
check-attr.c
check-ignore.c
check-mailmap.c
check-ref-format.c
checkout-index.c
checkout.c Merge branch 'va/i18n-even-more' 2016-07-13 11:24:10 -07:00
clean.c
clone.c clone: recursive and reference option triggers submodule alternates 2016-08-17 17:19:11 -07:00
column.c
commit-tree.c Merge branch 'jc/commit-tree-ignore-commit-gpgsign' 2016-05-13 13:18:27 -07:00
commit.c Merge branch 'os/no-verify-skips-commit-msg-too' 2016-08-03 15:10:22 -07:00
config.c config: fix bogus fd check when setting up default config 2016-07-08 09:47:28 -07:00
count-objects.c
credential.c
describe.c
diff-files.c diff: run arguments through precompose_argv 2016-05-13 14:35:49 -07:00
diff-index.c diff: run arguments through precompose_argv 2016-05-13 14:35:49 -07:00
diff-tree.c Merge branch 'ar/diff-args-osx-precompose' into maint 2016-06-06 14:27:35 -07:00
diff.c Merge branch 'ar/diff-args-osx-precompose' into maint 2016-06-06 14:27:35 -07:00
fast-export.c diff: convert struct diff_filespec to struct object_id 2016-06-28 11:39:02 -07:00
fetch-pack.c fetch-pack: fix object_id of exact sha1 2016-03-01 11:19:19 -08:00
fetch.c Merge branch 'jk/push-progress' 2016-08-03 15:10:28 -07:00
fmt-merge-msg.c
for-each-ref.c
fsck.c Merge branch 'nd/pack-ofs-4gb-limit' 2016-07-28 10:34:42 -07:00
gc.c Merge branch 'ew/gc-auto-pack-limit-fix' 2016-07-13 11:24:12 -07:00
get-tar-commit-id.c
grep.c Merge branch 'nd/ita-cleanup' 2016-07-13 11:24:18 -07:00
hash-object.c
help.c builtin/help.c: use warning_errno() 2016-05-09 12:29:08 -07:00
index-pack.c Merge branch 'jk/push-progress' 2016-08-03 15:10:28 -07:00
init-db.c i18n: init-db: join message pieces 2016-06-17 15:46:10 -07:00
interpret-trailers.c Merge branch 'jk/parseopt-string-list' into jk/string-list-static-init 2016-06-13 10:37:48 -07:00
log.c Merge branch 'js/log-to-diffopt-file' 2016-07-19 13:22:15 -07:00
ls-files.c
ls-remote.c
ls-tree.c
mailinfo.c
mailsplit.c mailsplit: support unescaping mboxrd messages 2016-06-06 11:14:43 -07:00
merge-base.c
merge-file.c builtin/merge-file.c: use error_errno() 2016-05-09 12:29:08 -07:00
merge-index.c
merge-ours.c
merge-recursive.c merge-recursive: convert merge_recursive_generic() to object_id 2016-06-28 11:39:02 -07:00
merge-tree.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
merge.c Merge branch 'jk/write-file' 2016-07-19 13:22:23 -07:00
mktag.c
mktree.c
mv.c Merge branch 'sb/mv-submodule-fix' into HEAD 2016-05-18 14:40:05 -07:00
name-rev.c Merge branch 'js/name-rev-use-oldest-ref' into maint 2016-05-31 14:08:26 -07:00
notes.c i18n: notes: mark options for translation 2016-06-17 15:45:49 -07:00
pack-objects.c Merge branch 'nd/pack-ofs-4gb-limit' 2016-07-28 10:34:42 -07:00
pack-redundant.c
pack-refs.c
patch-id.c Merge branch 'rs/patch-id-use-skip-prefix' 2016-06-03 14:38:03 -07:00
prune-packed.c
prune.c
pull.c Merge branch 'va/i18n-even-more' 2016-07-13 11:24:10 -07:00
push.c push: accept push options 2016-07-14 15:50:41 -07:00
read-tree.c
receive-pack.c Merge branch 'jk/push-progress' 2016-08-03 15:10:28 -07:00
reflog.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
remote-ext.c typofix: assorted typofixes in comments, documentation and messages 2016-05-06 13:16:37 -07:00
remote-fd.c
remote.c Merge branch 'mh/ref-iterators' 2016-07-25 14:13:33 -07:00
repack.c Merge branch 'va/i18n-even-more' 2016-07-13 11:24:10 -07:00
replace.c Merge branch 'js/replace-edit-use-editor-configuration' into maint 2016-05-06 14:53:24 -07:00
rerere.c
reset.c Merge branch 'bc/cocci' 2016-07-19 13:22:16 -07:00
rev-list.c rev-list: add optional progress reporting 2016-07-20 12:10:44 -07:00
rev-parse.c Merge branch 'jk/rev-parse-local-env-vars' into maint 2016-04-14 18:57:44 -07:00
revert.c parse_options: allocate a new array when concatenating 2016-07-06 10:11:08 -07:00
rm.c Merge branch 'rs/rm-strbuf-optim' 2016-07-25 14:13:36 -07:00
send-pack.c Merge branch 'sk/send-pack-all-fix' into maint 2016-04-29 14:15:57 -07:00
shortlog.c Merge branch 'js/log-to-diffopt-file' 2016-07-19 13:22:15 -07:00
show-branch.c
show-ref.c
stripspace.c
submodule--helper.c clone: recursive and reference option triggers submodule alternates 2016-08-17 17:19:11 -07:00
symbolic-ref.c
tag.c Merge branch 'st/verify-tag' 2016-04-29 12:59:09 -07:00
unpack-file.c
unpack-objects.c coccinelle: convert hashcpy() with null_sha1 to hashclr() 2016-06-28 11:39:02 -07:00
update-index.c pathspec: rename free_pathspec() to clear_pathspec() 2016-06-02 14:09:22 -07:00
update-ref.c
update-server-info.c
upload-archive.c builtin/upload-archive.c: use error_errno() 2016-05-09 12:29:08 -07:00
var.c
verify-commit.c
verify-pack.c
verify-tag.c verify-tag: move tag verification code to tag.c 2016-04-22 14:06:46 -07:00
worktree.c Merge branch 'nd/worktree-lock' 2016-07-28 10:34:42 -07:00
write-tree.c