avm-tools 0.129.0 → 0.129.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile +0 -7
 - data/lib/avm/tools/version.rb +1 -1
 - metadata +41 -389
 - data/sub/avm-eac_postgresql_base0/Gemfile +0 -5
 - data/sub/avm-eac_postgresql_base0/avm-eac_postgresql_base0.gemspec +0 -19
 - data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance/assert.rb +0 -77
 - data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance/data_unit.rb +0 -39
 - data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance.rb +0 -74
 - data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/instance_with.rb +0 -18
 - data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0/version.rb +0 -7
 - data/sub/avm-eac_postgresql_base0/lib/avm/eac_postgresql_base0.rb +0 -9
 - data/sub/avm-eac_postgresql_base0/spec/rubocop_spec.rb +0 -3
 - data/sub/avm-eac_postgresql_base0/spec/spec_helper.rb +0 -4
 - data/sub/avm-eac_ubuntu_base0/Gemfile +0 -5
 - data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +0 -20
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +0 -59
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +0 -26
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +0 -29
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +0 -22
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances.rb +0 -11
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +0 -19
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +0 -28
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +0 -7
 - data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb +0 -9
 - data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +0 -16
 - data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +0 -14
 - data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +0 -7
 - data/sub/avm-eac_ubuntu_base0/spec/rubocop_spec.rb +0 -3
 - data/sub/avm-eac_ubuntu_base0/spec/spec_helper.rb +0 -4
 - data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +0 -24
 - data/sub/avm-files/Gemfile +0 -5
 - data/sub/avm-files/avm-files.gemspec +0 -21
 - data/sub/avm-files/lib/avm/files/appendable/file_content.rb +0 -24
 - data/sub/avm-files/lib/avm/files/appendable/plain_directory.rb +0 -25
 - data/sub/avm-files/lib/avm/files/appendable/resource_base.rb +0 -13
 - data/sub/avm-files/lib/avm/files/appendable/tar_output_command.rb +0 -26
 - data/sub/avm-files/lib/avm/files/appendable/templatized_directory.rb +0 -29
 - data/sub/avm-files/lib/avm/files/appendable.rb +0 -55
 - data/sub/avm-files/lib/avm/files/appender.rb +0 -11
 - data/sub/avm-files/lib/avm/files/deploy.rb +0 -71
 - data/sub/avm-files/lib/avm/files/formatter/formats/base.rb +0 -62
 - data/sub/avm-files/lib/avm/files/formatter/formats/generic_plain.rb +0 -34
 - data/sub/avm-files/lib/avm/files/formatter/formats/html.rb +0 -45
 - data/sub/avm-files/lib/avm/files/formatter/formats/javascript.rb +0 -24
 - data/sub/avm-files/lib/avm/files/formatter/formats/json.rb +0 -27
 - data/sub/avm-files/lib/avm/files/formatter/formats/php.rb +0 -22
 - data/sub/avm-files/lib/avm/files/formatter/formats/python.rb +0 -22
 - data/sub/avm-files/lib/avm/files/formatter/formats/ruby.rb +0 -22
 - data/sub/avm-files/lib/avm/files/formatter/formats/xml.rb +0 -28
 - data/sub/avm-files/lib/avm/files/formatter/formats.rb +0 -13
 - data/sub/avm-files/lib/avm/files/formatter/utf8_assert.rb +0 -74
 - data/sub/avm-files/lib/avm/files/formatter.rb +0 -90
 - data/sub/avm-files/lib/avm/files/version.rb +0 -7
 - data/sub/avm-files/lib/avm/files.rb +0 -9
 - data/sub/avm-files/spec/rubocop_spec.rb +0 -3
 - data/sub/avm-files/spec/spec_helper.rb +0 -4
 - data/sub/avm-git/Gemfile +0 -5
 - data/sub/avm-git/avm-git.gemspec +0 -21
 - data/sub/avm-git/lib/avm/git/auto_commit/commit_info.rb +0 -23
 - data/sub/avm-git/lib/avm/git/auto_commit/rules/base.rb +0 -39
 - data/sub/avm-git/lib/avm/git/auto_commit/rules/last.rb +0 -19
 - data/sub/avm-git/lib/avm/git/auto_commit/rules/manual.rb +0 -45
 - data/sub/avm-git/lib/avm/git/auto_commit/rules/new.rb +0 -24
 - data/sub/avm-git/lib/avm/git/auto_commit/rules/nth.rb +0 -31
 - data/sub/avm-git/lib/avm/git/auto_commit/rules/unique.rb +0 -21
 - data/sub/avm-git/lib/avm/git/auto_commit/rules.rb +0 -31
 - data/sub/avm-git/lib/avm/git/auto_commit_path/ruby.rb +0 -20
 - data/sub/avm-git/lib/avm/git/auto_commit_path.rb +0 -28
 - data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -31
 - data/sub/avm-git/lib/avm/git/commit/deploy.rb +0 -38
 - data/sub/avm-git/lib/avm/git/commit/deploy_methods.rb +0 -19
 - data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
 - data/sub/avm-git/lib/avm/git/commit/file.rb +0 -46
 - data/sub/avm-git/lib/avm/git/commit.rb +0 -59
 - data/sub/avm-git/lib/avm/git/file_auto_fixup.rb +0 -83
 - data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -42
 - data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -23
 - data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -61
 - data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -39
 - data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
 - data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
 - data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -40
 - data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -28
 - data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -39
 - data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -53
 - data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
 - data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
 - data/sub/avm-git/lib/avm/git/issue/deliver.rb +0 -56
 - data/sub/avm-git/lib/avm/git/issue.rb +0 -11
 - data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -34
 - data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -76
 - data/sub/avm-git/lib/avm/git/organize.rb +0 -11
 - data/sub/avm-git/lib/avm/git/revision_test.rb +0 -105
 - data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -35
 - data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -55
 - data/sub/avm-git/lib/avm/git/scms/git.rb +0 -73
 - data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -39
 - data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -19
 - data/sub/avm-git/lib/avm/git/scms.rb +0 -11
 - data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -51
 - data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -89
 - data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -32
 - data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -38
 - data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -59
 - data/sub/avm-git/lib/avm/git/version.rb +0 -7
 - data/sub/avm-git/lib/avm/git.rb +0 -11
 - data/sub/avm-git/spec/lib/avm/git/auto_commit_path_spec.rb +0 -21
 - data/sub/avm-git/spec/lib/avm/git/commit/deploy_spec.rb +0 -93
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -13
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
 - data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
 - data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -56
 - data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
 - data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
 - data/sub/avm-git/spec/rubocop_spec.rb +0 -3
 - data/sub/avm-git/spec/spec_helper.rb +0 -4
 - data/sub/eac_git/Gemfile +0 -5
 - data/sub/eac_git/eac_git.gemspec +0 -20
 - data/sub/eac_git/lib/eac_git/executables.rb +0 -48
 - data/sub/eac_git/lib/eac_git/local/branch.rb +0 -27
 - data/sub/eac_git/lib/eac_git/local/commit/archive.rb +0 -19
 - data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +0 -46
 - data/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +0 -32
 - data/sub/eac_git/lib/eac_git/local/commit.rb +0 -73
 - data/sub/eac_git/lib/eac_git/local/dirty_files.rb +0 -37
 - data/sub/eac_git/lib/eac_git/local/log.rb +0 -17
 - data/sub/eac_git/lib/eac_git/local/remote.rb +0 -27
 - data/sub/eac_git/lib/eac_git/local/remotes.rb +0 -20
 - data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +0 -43
 - data/sub/eac_git/lib/eac_git/local/subrepo.rb +0 -49
 - data/sub/eac_git/lib/eac_git/local.rb +0 -126
 - data/sub/eac_git/lib/eac_git/remote/ls_result.rb +0 -20
 - data/sub/eac_git/lib/eac_git/remote.rb +0 -19
 - data/sub/eac_git/lib/eac_git/rspec/setup.rb +0 -23
 - data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +0 -71
 - data/sub/eac_git/lib/eac_git/rspec.rb +0 -9
 - data/sub/eac_git/lib/eac_git/version.rb +0 -5
 - data/sub/eac_git/lib/eac_git.rb +0 -7
 - data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +0 -13
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +0 -13
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +0 -1
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +0 -1
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +0 -1
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +0 -2
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
 - data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
 - data/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +0 -58
 - data/sub/eac_git/spec/rubocop_spec.rb +0 -3
 - data/sub/eac_git/spec/spec_helper.rb +0 -4
 - data/sub/eac_git/vendor/git-subrepo/Changes +0 -110
 - data/sub/eac_git/vendor/git-subrepo/Intro.pod +0 -509
 - data/sub/eac_git/vendor/git-subrepo/License +0 -21
 - data/sub/eac_git/vendor/git-subrepo/Makefile +0 -82
 - data/sub/eac_git/vendor/git-subrepo/Meta +0 -28
 - data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +0 -698
 - data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +0 -35
 - data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +0 -608
 - data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +0 -387
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +0 -15
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +0 -21
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +0 -45
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +0 -28
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +0 -77
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +0 -43
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +0 -61
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +0 -92
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +0 -134
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +0 -134
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +0 -12
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +0 -22
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +0 -3
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +0 -3
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +0 -18
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +0 -23
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +0 -70
 - data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +0 -19
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +0 -15
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +0 -21
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +0 -20
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +0 -30
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +0 -115
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +0 -89
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +0 -15
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +0 -21
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +0 -45
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +0 -28
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +0 -77
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +0 -43
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +0 -61
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +0 -92
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +0 -134
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +0 -134
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +0 -12
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +0 -22
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +0 -3
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +0 -3
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +0 -18
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +0 -23
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +0 -70
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +0 -19
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +0 -15
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +0 -21
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +0 -37
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +0 -28
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +0 -66
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +0 -48
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +0 -153
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +0 -119
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +0 -13
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +0 -10
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +0 -20
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +0 -15
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +0 -9
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +0 -9
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +0 -10
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +0 -20
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +0 -13
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +0 -14
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +0 -7
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +0 -12
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +0 -8
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +0 -9
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +0 -95
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +0 -173
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +0 -20
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +0 -20
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +0 -9
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +0 -8
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +0 -11
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +0 -12
 - data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +0 -10
 - data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +0 -1903
 - data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +0 -1
 - data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +0 -339
 - data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +0 -743
 - data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +0 -12
 - data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +0 -148
 - data/sub/eac_git/vendor/git-subrepo/note/Cases +0 -32
 - data/sub/eac_git/vendor/git-subrepo/note/Commands +0 -33
 - data/sub/eac_git/vendor/git-subrepo/note/Dags +0 -199
 - data/sub/eac_git/vendor/git-subrepo/note/Gists +0 -7
 - data/sub/eac_git/vendor/git-subrepo/note/Links +0 -25
 - data/sub/eac_git/vendor/git-subrepo/note/Plugins +0 -10
 - data/sub/eac_git/vendor/git-subrepo/note/Spec +0 -39
 - data/sub/eac_git/vendor/git-subrepo/note/Story1 +0 -57
 - data/sub/eac_git/vendor/git-subrepo/note/ToDo +0 -55
 - data/sub/eac_git/vendor/git-subrepo/note/design.swim +0 -137
 - data/sub/eac_git/vendor/git-subrepo/note/design2.swim +0 -85
 - data/sub/eac_git/vendor/git-subrepo/note/init-test +0 -38
 - data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +0 -18
 - data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +0 -56
 - data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +0 -29
 - data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +0 -69
 - data/sub/eac_git/vendor/git-subrepo/note/test.sh +0 -58
 - data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +0 -210
 - data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +0 -89
 - data/sub/eac_git/vendor/git-subrepo/share/completion.bash +0 -42
 - data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +0 -50
 - data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +0 -2738
 - data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +0 -81
 - data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +0 -41
 - data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +0 -43
 - data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +0 -47
 - data/sub/eac_git/vendor/git-subrepo/test/branch.t +0 -52
 - data/sub/eac_git/vendor/git-subrepo/test/clean.t +0 -43
 - data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +0 -45
 - data/sub/eac_git/vendor/git-subrepo/test/clone.t +0 -107
 - data/sub/eac_git/vendor/git-subrepo/test/compile.t +0 -19
 - data/sub/eac_git/vendor/git-subrepo/test/config.t +0 -58
 - data/sub/eac_git/vendor/git-subrepo/test/encode.t +0 -91
 - data/sub/eac_git/vendor/git-subrepo/test/error.t +0 -171
 - data/sub/eac_git/vendor/git-subrepo/test/fetch.t +0 -43
 - data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +0 -61
 - data/sub/eac_git/vendor/git-subrepo/test/init.t +0 -64
 - data/sub/eac_git/vendor/git-subrepo/test/issue29.t +0 -98
 - data/sub/eac_git/vendor/git-subrepo/test/issue95.t +0 -98
 - data/sub/eac_git/vendor/git-subrepo/test/issue96.t +0 -96
 - data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +0 -38
 - data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +0 -113
 - data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +0 -88
 - data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +0 -58
 - data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +0 -90
 - data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +0 -82
 - data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +0 -44
 - data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +0 -40
 - data/sub/eac_git/vendor/git-subrepo/test/pull.t +0 -99
 - data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +0 -51
 - data/sub/eac_git/vendor/git-subrepo/test/push-force.t +0 -56
 - data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +0 -61
 - data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +0 -29
 - data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +0 -56
 - data/sub/eac_git/vendor/git-subrepo/test/push.t +0 -176
 - data/sub/eac_git/vendor/git-subrepo/test/reclone.t +0 -45
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +0 -4
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +0 -4
 - data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +0 -5
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +0 -2
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +0 -3
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +0 -2
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +0 -2
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
 - data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +0 -1
 - data/sub/eac_git/vendor/git-subrepo/test/setup +0 -205
 - data/sub/eac_git/vendor/git-subrepo/test/status.t +0 -68
 - data/sub/eac_git/vendor/git-subrepo/test/submodule.t +0 -45
 - data/sub/eac_rest/Gemfile +0 -5
 - data/sub/eac_rest/eac_rest.gemspec +0 -18
 - data/sub/eac_rest/lib/eac_rest/api.rb +0 -50
 - data/sub/eac_rest/lib/eac_rest/entity.rb +0 -16
 - data/sub/eac_rest/lib/eac_rest/request.rb +0 -95
 - data/sub/eac_rest/lib/eac_rest/response.rb +0 -112
 - data/sub/eac_rest/lib/eac_rest/version.rb +0 -5
 - data/sub/eac_rest/lib/eac_rest.rb +0 -7
 - data/sub/eac_rest/spec/rubocop_spec.rb +0 -3
 - data/sub/eac_rest/spec/spec_helper.rb +0 -4
 - data/sub/eac_templates/Gemfile +0 -5
 - data/sub/eac_templates/eac_templates.gemspec +0 -19
 - data/sub/eac_templates/lib/eac_templates/core_ext.rb +0 -4
 - data/sub/eac_templates/lib/eac_templates/directory.rb +0 -108
 - data/sub/eac_templates/lib/eac_templates/file.rb +0 -48
 - data/sub/eac_templates/lib/eac_templates/from_all_gems.rb +0 -4
 - data/sub/eac_templates/lib/eac_templates/from_gem.rb +0 -35
 - data/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +0 -9
 - data/sub/eac_templates/lib/eac_templates/patches/module/template.rb +0 -10
 - data/sub/eac_templates/lib/eac_templates/patches/module.rb +0 -4
 - data/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +0 -9
 - data/sub/eac_templates/lib/eac_templates/patches/object/template.rb +0 -9
 - data/sub/eac_templates/lib/eac_templates/patches/object.rb +0 -4
 - data/sub/eac_templates/lib/eac_templates/patches.rb +0 -4
 - data/sub/eac_templates/lib/eac_templates/searcher.rb +0 -53
 - data/sub/eac_templates/lib/eac_templates/variable_not_found_error.rb +0 -5
 - data/sub/eac_templates/lib/eac_templates/variable_providers/base.rb +0 -21
 - data/sub/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +0 -27
 - data/sub/eac_templates/lib/eac_templates/variable_providers/entries_reader.rb +0 -23
 - data/sub/eac_templates/lib/eac_templates/variable_providers/generic.rb +0 -23
 - data/sub/eac_templates/lib/eac_templates/variable_providers/hash.rb +0 -27
 - data/sub/eac_templates/lib/eac_templates/variable_providers.rb +0 -23
 - data/sub/eac_templates/lib/eac_templates/version.rb +0 -5
 - data/sub/eac_templates/lib/eac_templates.rb +0 -7
 - data/sub/eac_templates/spec/lib/eac_templates/file_spec.rb +0 -35
 - data/sub/eac_templates/spec/lib/eac_templates/file_spec_files/expected_content +0 -2
 - data/sub/eac_templates/spec/lib/eac_templates/file_spec_files/source.template +0 -2
 - data/sub/eac_templates/spec/lib/eac_templates/searcher_spec.rb +0 -30
 - data/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file1.template +0 -1
 - data/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file2 +0 -1
 - data/sub/eac_templates/spec/lib/eac_templates/searcher_spec_files/path2/subdir1/file3.template +0 -1
 - data/sub/eac_templates/spec/lib/object/template_spec.rb +0 -23
 - data/sub/eac_templates/spec/lib/object/template_spec_files/path/my_stub_with_template +0 -1
 - data/sub/eac_templates/spec/rubocop_spec.rb +0 -3
 - data/sub/eac_templates/spec/spec_helper.rb +0 -4
 
| 
         @@ -1,137 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            git-subrepo Design
         
     | 
| 
       2 
     | 
    
         
            -
            ==================
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            How the subrepo commands should work.
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            Glossary:
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            - `subrepo` :: An external repository integrated as a repo subdirectory
         
     | 
| 
       9 
     | 
    
         
            -
            - `subdir` :: The directory in the work tree where the subrepo lives
         
     | 
| 
       10 
     | 
    
         
            -
            - `upstream` :: The remote repo that the subrepo is tracking
         
     | 
| 
       11 
     | 
    
         
            -
            - `local` :: The local parts of the subrepo
         
     | 
| 
       12 
     | 
    
         
            -
            - `.gitrepo` :: The subrepo state file
         
     | 
| 
       13 
     | 
    
         
            -
            - `remote` :: The subrepo url
         
     | 
| 
       14 
     | 
    
         
            -
            - `branch` :: The remote branch the subrepo is tracking
         
     | 
| 
       15 
     | 
    
         
            -
            - `commit` ::  The upstream commit id that we last synced to
         
     | 
| 
       16 
     | 
    
         
            -
            - `former` :: The local commit that we last synced to
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            == clone
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            This is the action that adds a new subrepo. It feels very much like a clone,
         
     | 
| 
       21 
     | 
    
         
            -
            so we call it that.
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            Usages:
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
              # Add a subrepo into a subdir (track remote HEAD branch):
         
     | 
| 
       26 
     | 
    
         
            -
              git subrepo clone <remote> <subdir>
         
     | 
| 
       27 
     | 
    
         
            -
              # Guess subdir from remote url:
         
     | 
| 
       28 
     | 
    
         
            -
              git subrepo clone <remote>
         
     | 
| 
       29 
     | 
    
         
            -
              # Use a named branch instead of the remote HEAD:
         
     | 
| 
       30 
     | 
    
         
            -
              git subrepo clone <remote> [<subdir>] -b <branch>
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
            Steps:
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
            * Assert clean, and chdir to root (adjusting subdir)
         
     | 
| 
       35 
     | 
    
         
            -
            * Determine the remote HEAD
         
     | 
| 
       36 
     | 
    
         
            -
              * Else error, branch (-b) needed
         
     | 
| 
       37 
     | 
    
         
            -
            * Fetch the remote branch commits
         
     | 
| 
       38 
     | 
    
         
            -
            * Subtree merge the remote subrepo history into the subdir
         
     | 
| 
       39 
     | 
    
         
            -
            * Squash the history to a single commit
         
     | 
| 
       40 
     | 
    
         
            -
            * Merge the subtree commit into the mainline HEAD
         
     | 
| 
       41 
     | 
    
         
            -
            * Add a .gitrepo file to the subdir
         
     | 
| 
       42 
     | 
    
         
            -
            * Amend the .gitrepo into the HEAD merge commit
         
     | 
| 
       43 
     | 
    
         
            -
            * Create a branch .git/refs/subrepo/remote/<subdir>
         
     | 
| 
       44 
     | 
    
         
            -
            * Add a remote called subrepo/<subdir>
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
            == pull
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            Fetch and merge the remote content. This could be a single operation, or may
         
     | 
| 
       49 
     | 
    
         
            -
            require a manual process: (see checkout)
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
            Usages:
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
              # Fetch and rebase subdir/subrepo:
         
     | 
| 
       54 
     | 
    
         
            -
              git subrepo pull --rebase subdir
         
     | 
| 
       55 
     | 
    
         
            -
              # Strategies: --rebase --ours --theirs --merge (recursive):
         
     | 
| 
       56 
     | 
    
         
            -
              git subrepo pull --<merge-strategy> subdir
         
     | 
| 
       57 
     | 
    
         
            -
              # Pull all the subrepos:
         
     | 
| 
       58 
     | 
    
         
            -
              git subrepo pull --<strategy> --all
         
     | 
| 
       59 
     | 
    
         
            -
              # Change the tracking branch and pull it:
         
     | 
| 
       60 
     | 
    
         
            -
              git subrepo pull --<strategy> -b <branch> <subdir>
         
     | 
| 
       61 
     | 
    
         
            -
              # Pull in the hand merged branch:
         
     | 
| 
       62 
     | 
    
         
            -
              # git subrepo pull <subdir>
         
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
            Steps:
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
            * Assert clean, and chdir to root (adjusting subdir)
         
     | 
| 
       67 
     | 
    
         
            -
            * Fetch the remote branch content
         
     | 
| 
       68 
     | 
    
         
            -
            * Update remotes and the refs in .git/
         
     | 
| 
       69 
     | 
    
         
            -
              * The might not be the same repo that did the clone
         
     | 
| 
       70 
     | 
    
         
            -
            * If not hand merged
         
     | 
| 
       71 
     | 
    
         
            -
              * Create a branch called subrepo/<subdir>
         
     | 
| 
       72 
     | 
    
         
            -
              * Checkout the new branch
         
     | 
| 
       73 
     | 
    
         
            -
              * Apply the merge strategy to the remote branch
         
     | 
| 
       74 
     | 
    
         
            -
              * If not clean
         
     | 
| 
       75 
     | 
    
         
            -
                * Error message
         
     | 
| 
       76 
     | 
    
         
            -
                * Reset to starting state
         
     | 
| 
       77 
     | 
    
         
            -
            * Subtree merge the subrepo/<subdir> branch into repo
         
     | 
| 
       78 
     | 
    
         
            -
                git subrepo clone <remote> <subdir>
         
     | 
| 
       79 
     | 
    
         
            -
            * Squash the upstream history
         
     | 
| 
       80 
     | 
    
         
            -
            * Merge the subtree into mainline
         
     | 
| 
       81 
     | 
    
         
            -
            * Update the .gitrepo file
         
     | 
| 
       82 
     | 
    
         
            -
            * Amend .gitrepo into HEAD
         
     | 
| 
       83 
     | 
    
         
            -
            * Delete the subrepo/<subdir> branch
         
     | 
| 
       84 
     | 
    
         
            -
             
     | 
| 
       85 
     | 
    
         
            -
            == push
         
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
            Push a merged subrepo history to the remote. This could be a single operation,
         
     | 
| 
       88 
     | 
    
         
            -
            or may require a manual process.
         
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
            Usages:
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
              # Fetch, apply strategy, push to remote:
         
     | 
| 
       93 
     | 
    
         
            -
              git subrepo push <subdir>
         
     | 
| 
       94 
     | 
    
         
            -
              # Do all subrepos:
         
     | 
| 
       95 
     | 
    
         
            -
              git subrepo push --all
         
     | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
       97 
     | 
    
         
            -
            Steps:
         
     | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
            * Assert clean, and chdir to root (adjusting subdir)
         
     | 
| 
       100 
     | 
    
         
            -
            * Update remotes and the refs in .git/
         
     | 
| 
       101 
     | 
    
         
            -
            * Fetch the remote branch content
         
     | 
| 
       102 
     | 
    
         
            -
            * Make sure we have pulled the latest remote changes
         
     | 
| 
       103 
     | 
    
         
            -
            * Checkout subrepo/<subdir> branch
         
     | 
| 
       104 
     | 
    
         
            -
            * Rebase the local change s on top
         
     | 
| 
       105 
     | 
    
         
            -
            * Push it to subrepo/<subdir> remote
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
            == checkout
         
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
            Create a branch of the local changes to the subrepo and checkout it. Also
         
     | 
| 
       110 
     | 
    
         
            -
            fetch the remote tracking branch, so it can can be used for merges. This
         
     | 
| 
       111 
     | 
    
         
            -
            command is used to do a pull/merge by hand. After you merge, use the `pull`
         
     | 
| 
       112 
     | 
    
         
            -
            command to finish up.
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
            Usages:
         
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
              # Checkout a subdir/subrepo
         
     | 
| 
       117 
     | 
    
         
            -
              git checkout <subdir>
         
     | 
| 
       118 
     | 
    
         
            -
             
     | 
| 
       119 
     | 
    
         
            -
            Steps:
         
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
            * Assert clean, and chdir to root (adjusting subdir)
         
     | 
| 
       122 
     | 
    
         
            -
            * Assert repo is on a branch
         
     | 
| 
       123 
     | 
    
         
            -
            * Update remotes and the refs in .git/
         
     | 
| 
       124 
     | 
    
         
            -
            * Fetch the remote branch content
         
     | 
| 
       125 
     | 
    
         
            -
            * Create a branch of local subrepo changes subrepo/local/<subdir>
         
     | 
| 
       126 
     | 
    
         
            -
            * Checkout the new branch
         
     | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
       128 
     | 
    
         
            -
            == status
         
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
       130 
     | 
    
         
            -
            Give a full status of specific subrepos or all of them.
         
     | 
| 
       131 
     | 
    
         
            -
             
     | 
| 
       132 
     | 
    
         
            -
            Usages:
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
              # Get status for all subrepos:
         
     | 
| 
       135 
     | 
    
         
            -
              git subrepo status
         
     | 
| 
       136 
     | 
    
         
            -
              # Get status for specific subrepos:
         
     | 
| 
       137 
     | 
    
         
            -
              git subrepo status <subdir> [<subdir> ...]
         
     | 
| 
         @@ -1,85 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            git-subrepo Design
         
     | 
| 
       2 
     | 
    
         
            -
            ==================
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            This document details wow the git-subrepo commands should work.
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            Glossary:
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            - `subrepo` :: An external repository integrated as a repo subdirectory
         
     | 
| 
       9 
     | 
    
         
            -
            - `subdir` :: The directory in the work tree where the subrepo lives
         
     | 
| 
       10 
     | 
    
         
            -
            - `upstream` :: The remote repo that the subrepo is tracking
         
     | 
| 
       11 
     | 
    
         
            -
            - `local` :: The local parts of the subrepo
         
     | 
| 
       12 
     | 
    
         
            -
            - `.gitrepo` :: The subrepo state file
         
     | 
| 
       13 
     | 
    
         
            -
            - `remote` :: The subrepo url
         
     | 
| 
       14 
     | 
    
         
            -
            - `branch` :: The remote branch the subrepo is tracking
         
     | 
| 
       15 
     | 
    
         
            -
            - `commit` ::  The upstream commit id that we last synced to
         
     | 
| 
       16 
     | 
    
         
            -
            - `former` :: The local commit that we last synced to
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            = Commands and usages:
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            There are 4 main commands:
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
            * git subrepo clone
         
     | 
| 
       23 
     | 
    
         
            -
            * git subrepo pull
         
     | 
| 
       24 
     | 
    
         
            -
            * git subrepo push
         
     | 
| 
       25 
     | 
    
         
            -
            * git subrepo checkout
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
              # Clone forms:
         
     | 
| 
       28 
     | 
    
         
            -
              git subrepo clone git@github.com:you/foo.git
         
     | 
| 
       29 
     | 
    
         
            -
              git subrepo clone git@github.com:you/foo.git ext/subfoo
         
     | 
| 
       30 
     | 
    
         
            -
              git subrepo clone git@github.com:you/foo.git -b alternate-branch
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              # Single command pull:
         
     | 
| 
       33 
     | 
    
         
            -
              git subrepo pull --rebase ext/foo
         
     | 
| 
       34 
     | 
    
         
            -
              git subrepo pull --merge  ext/foo -b remote-branch
         
     | 
| 
       35 
     | 
    
         
            -
              git subrepo pull --ours   ext/foo -B remote-branch  # change .gitrepo
         
     | 
| 
       36 
     | 
    
         
            -
              git subrepo pull --rebase --all
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
              # Manual pull:
         
     | 
| 
       39 
     | 
    
         
            -
              git subrepo checkout ext/foo
         
     | 
| 
       40 
     | 
    
         
            -
              git rebase subrepo/remote/ext/foo subrepo/ext/foo
         
     | 
| 
       41 
     | 
    
         
            -
              make test
         
     | 
| 
       42 
     | 
    
         
            -
              git subrepo pull ext/foo --continue
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
              # Push forms:
         
     | 
| 
       45 
     | 
    
         
            -
              git subrepo push ext/foo
         
     | 
| 
       46 
     | 
    
         
            -
              git subrepo push ext/foo -b remote-branch
         
     | 
| 
       47 
     | 
    
         
            -
              git subrepo push ext/foo -B remote-branch
         
     | 
| 
       48 
     | 
    
         
            -
              git subrepo push --all
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
              # Manual push:
         
     | 
| 
       51 
     | 
    
         
            -
              git subrepo checkout ext/foo --rebase
         
     | 
| 
       52 
     | 
    
         
            -
              <maybe rewrite commit info>
         
     | 
| 
       53 
     | 
    
         
            -
              make test
         
     | 
| 
       54 
     | 
    
         
            -
              git subrepo push ext/foo --continue
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
              # Checkout forms:
         
     | 
| 
       57 
     | 
    
         
            -
              git subrepo checkout ext/foo
         
     | 
| 
       58 
     | 
    
         
            -
              git subrepo checkout ext/foo --<merge-straegy>
         
     | 
| 
       59 
     | 
    
         
            -
              git subrepo checkout ext/foo --fetch
         
     | 
| 
       60 
     | 
    
         
            -
              git subrepo checkout -b create-local-branch-name
         
     | 
| 
       61 
     | 
    
         
            -
              git subrepo checkout --all
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
            = Command Logic
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
            This section goes over all the things that a command needs to do:
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
            == Setup
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
            There are certain steps that each command must do first:
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
            * Assert that the system commands and git version are correct.
         
     | 
| 
       72 
     | 
    
         
            -
            * Assert that the repository is in a clean state.
         
     | 
| 
       73 
     | 
    
         
            -
            * Assert that the repo is on a branch.
         
     | 
| 
       74 
     | 
    
         
            -
            * Assert that the current dir is top level of repo.
         
     | 
| 
       75 
     | 
    
         
            -
            * Assert the command arguments are valid.
         
     | 
| 
       76 
     | 
    
         
            -
            * Assert the subdir is a valid subrepo dir.
         
     | 
| 
       77 
     | 
    
         
            -
              * For `clone` make sure subdir does not exist yet.
         
     | 
| 
       78 
     | 
    
         
            -
            * Read the .gitrepo file (not for clone).
         
     | 
| 
       79 
     | 
    
         
            -
            * For `clone`, make sure we know what upstream branch to use.
         
     | 
| 
       80 
     | 
    
         
            -
            * Note the starting point (branch and commit).
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
            == Clone command:
         
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
       84 
     | 
    
         
            -
            * Fetch upstream content for our tracking branch.
         
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
         @@ -1,38 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            set -ex
         
     | 
| 
       4 
     | 
    
         
            -
            cat $0    # Show this script in the output
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            REPO=${1:-ingydotnet/djson-pm}
         
     | 
| 
       7 
     | 
    
         
            -
            REPODIR="${REPO#*/}"
         
     | 
| 
       8 
     | 
    
         
            -
            SUBDIR=${2:-test}
         
     | 
| 
       9 
     | 
    
         
            -
            SUBREPO=$REPO-$SUBDIR
         
     | 
| 
       10 
     | 
    
         
            -
            SUBREPODIR="${SUBREPO#*/}"
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            git hub repo-delete "$SUBREPO" || true
         
     | 
| 
       13 
     | 
    
         
            -
            rm -fr "$REPODIR"
         
     | 
| 
       14 
     | 
    
         
            -
            git hub clone "$REPO"
         
     | 
| 
       15 
     | 
    
         
            -
            (
         
     | 
| 
       16 
     | 
    
         
            -
              exit
         
     | 
| 
       17 
     | 
    
         
            -
              cd "$REPODIR"
         
     | 
| 
       18 
     | 
    
         
            -
              git subrepo init test -r "git@github.com:$SUBREPO" # -b foo
         
     | 
| 
       19 
     | 
    
         
            -
              git hub repo-new "$SUBREPO"
         
     | 
| 
       20 
     | 
    
         
            -
              git hub repo "$SUBREPO"
         
     | 
| 
       21 
     | 
    
         
            -
              cat "$SUBDIR/.gitrepo"
         
     | 
| 
       22 
     | 
    
         
            -
              git subrepo push "$SUBDIR"
         
     | 
| 
       23 
     | 
    
         
            -
              git subrepo status "$SUBDIR"
         
     | 
| 
       24 
     | 
    
         
            -
              git hub clone "$SUBREPO"
         
     | 
| 
       25 
     | 
    
         
            -
              [[ -e "$SUBREPODIR/decode.t" ]] && echo PASS || echo FAIL
         
     | 
| 
       26 
     | 
    
         
            -
            )
         
     | 
| 
       27 
     | 
    
         
            -
            (
         
     | 
| 
       28 
     | 
    
         
            -
              cd "$REPODIR"
         
     | 
| 
       29 
     | 
    
         
            -
              git subrepo init test
         
     | 
| 
       30 
     | 
    
         
            -
              git hub repo-new "$SUBREPO"
         
     | 
| 
       31 
     | 
    
         
            -
              git hub repo "$SUBREPO"
         
     | 
| 
       32 
     | 
    
         
            -
              cat "$SUBDIR/.gitrepo"
         
     | 
| 
       33 
     | 
    
         
            -
              git subrepo push -u "$SUBDIR" -r "git@github.com:$SUBREPO" -b foo
         
     | 
| 
       34 
     | 
    
         
            -
              git subrepo status "$SUBDIR"
         
     | 
| 
       35 
     | 
    
         
            -
              git hub clone "$SUBREPO"
         
     | 
| 
       36 
     | 
    
         
            -
              [[ -e "$SUBREPODIR/decode.t" ]] && echo PASS || echo FAIL
         
     | 
| 
       37 
     | 
    
         
            -
              bash -i
         
     | 
| 
       38 
     | 
    
         
            -
            )
         
     | 
| 
         @@ -1,18 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            == Pull Dancing
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            (
         
     | 
| 
       4 
     | 
    
         
            -
                git sr pull --rebase ext/bar
         
     | 
| 
       5 
     | 
    
         
            -
            )
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            (
         
     | 
| 
       8 
     | 
    
         
            -
                git sr checkout ext/bar --rebase
         
     | 
| 
       9 
     | 
    
         
            -
                make test
         
     | 
| 
       10 
     | 
    
         
            -
                git sr pull --continue
         
     | 
| 
       11 
     | 
    
         
            -
            )
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            (
         
     | 
| 
       14 
     | 
    
         
            -
                git sr checkout ext/bar
         
     | 
| 
       15 
     | 
    
         
            -
                git rebase subrepo/remote/ext/bar
         
     | 
| 
       16 
     | 
    
         
            -
                make test
         
     | 
| 
       17 
     | 
    
         
            -
                git sr pull --continue
         
     | 
| 
       18 
     | 
    
         
            -
            )
         
     | 
| 
         @@ -1,56 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            set -e
         
     | 
| 
       4 
     | 
    
         
            -
            set -x
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            # Make a directory to work in:
         
     | 
| 
       7 
     | 
    
         
            -
            {
         
     | 
| 
       8 
     | 
    
         
            -
              ROOT=${BASH_SOURCE%.sh}
         
     | 
| 
       9 
     | 
    
         
            -
              [ -n "$ROOT" ] || exit 1
         
     | 
| 
       10 
     | 
    
         
            -
              rm -fr "$ROOT"
         
     | 
| 
       11 
     | 
    
         
            -
              mkdir "$ROOT"
         
     | 
| 
       12 
     | 
    
         
            -
            }
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            (
         
     | 
| 
       15 
     | 
    
         
            -
              cd "$ROOT"
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
              # Start a new repo:
         
     | 
| 
       18 
     | 
    
         
            -
              git init
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              # Make an empty file called `file`:
         
     | 
| 
       21 
     | 
    
         
            -
              touch file
         
     | 
| 
       22 
     | 
    
         
            -
              git add file
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              # Make 3 commits to `file`:
         
     | 
| 
       25 
     | 
    
         
            -
              for n in {1..3}; do
         
     | 
| 
       26 
     | 
    
         
            -
                echo "Line $n" >> file
         
     | 
| 
       27 
     | 
    
         
            -
                git commit -a -m "Commit #$n"
         
     | 
| 
       28 
     | 
    
         
            -
              done
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
              # Now `file` has 3 lines.
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              # Make a new branch with one commit where the file has 3 lines:
         
     | 
| 
       33 
     | 
    
         
            -
              git checkout --orphan subrepo-fake
         
     | 
| 
       34 
     | 
    
         
            -
              git commit -a -m 'Initial commit on subrepo-fake branch'
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
              # Return to master and lop off the last commit, so that the `file` has 2
         
     | 
| 
       37 
     | 
    
         
            -
              # lines (and 2 commits):
         
     | 
| 
       38 
     | 
    
         
            -
              git checkout master
         
     | 
| 
       39 
     | 
    
         
            -
              git reset --hard HEAD^
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
              # Now we rebase like `git subrepo push` does where master is the upstream
         
     | 
| 
       42 
     | 
    
         
            -
              # with 2 commits, and `subrepo-fake` is our fake subrepo branch with one
         
     | 
| 
       43 
     | 
    
         
            -
              # commit:
         
     | 
| 
       44 
     | 
    
         
            -
              git rebase master subrepo-fake || true
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
              # Command fails on conflict but `|| true` prevents `set -e` from stopping
         
     | 
| 
       47 
     | 
    
         
            -
              # here.
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
              # Show the current branch status:
         
     | 
| 
       50 
     | 
    
         
            -
              git status
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
              # Show the rebase conflict:
         
     | 
| 
       53 
     | 
    
         
            -
              cat file
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
              # This is exactly what is happening with a `git subrepo push`.
         
     | 
| 
       56 
     | 
    
         
            -
            )
         
     | 
| 
         @@ -1,29 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            set -ex
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            rm -fr repo{1,2,3}
         
     | 
| 
       6 
     | 
    
         
            -
            mkdir repo{1,2}
         
     | 
| 
       7 
     | 
    
         
            -
            (
         
     | 
| 
       8 
     | 
    
         
            -
              cd repo1/
         
     | 
| 
       9 
     | 
    
         
            -
              git init
         
     | 
| 
       10 
     | 
    
         
            -
              touch foo
         
     | 
| 
       11 
     | 
    
         
            -
              git add foo
         
     | 
| 
       12 
     | 
    
         
            -
              git commit -m "First commit"
         
     | 
| 
       13 
     | 
    
         
            -
            )
         
     | 
| 
       14 
     | 
    
         
            -
            (
         
     | 
| 
       15 
     | 
    
         
            -
              cd repo2
         
     | 
| 
       16 
     | 
    
         
            -
              git init
         
     | 
| 
       17 
     | 
    
         
            -
              touch bar
         
     | 
| 
       18 
     | 
    
         
            -
              git add bar
         
     | 
| 
       19 
     | 
    
         
            -
              git commit -m "add bar"
         
     | 
| 
       20 
     | 
    
         
            -
            )
         
     | 
| 
       21 
     | 
    
         
            -
            git clone repo1 repo3
         
     | 
| 
       22 
     | 
    
         
            -
            (
         
     | 
| 
       23 
     | 
    
         
            -
              cd repo3/
         
     | 
| 
       24 
     | 
    
         
            -
              git subrepo clone ../repo2 subrepo
         
     | 
| 
       25 
     | 
    
         
            -
              bash
         
     | 
| 
       26 
     | 
    
         
            -
              git rebase -i HEAD^
         
     | 
| 
       27 
     | 
    
         
            -
              git log -p 
         
     | 
| 
       28 
     | 
    
         
            -
              ls
         
     | 
| 
       29 
     | 
    
         
            -
            )
         
     | 
| 
         @@ -1,69 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            set -ex
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            # Make a directory to work in:
         
     | 
| 
       6 
     | 
    
         
            -
            {
         
     | 
| 
       7 
     | 
    
         
            -
              ROOT=${BASH_SOURCE%.sh}
         
     | 
| 
       8 
     | 
    
         
            -
              [ -n "$ROOT" ] || exit 1
         
     | 
| 
       9 
     | 
    
         
            -
              rm -fr "$ROOT"
         
     | 
| 
       10 
     | 
    
         
            -
              mkdir "$ROOT"
         
     | 
| 
       11 
     | 
    
         
            -
            }
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            (
         
     | 
| 
       14 
     | 
    
         
            -
              cd "$ROOT"
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
              # Create "bare" repos to act as pushable upstreams
         
     | 
| 
       17 
     | 
    
         
            -
              git init --bare parent-upstream
         
     | 
| 
       18 
     | 
    
         
            -
              git init --bare child-upstream
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              # Clone the upstreams into local repos
         
     | 
| 
       21 
     | 
    
         
            -
              git clone parent-upstream parent
         
     | 
| 
       22 
     | 
    
         
            -
              git clone child-upstream child
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              (
         
     | 
| 
       25 
     | 
    
         
            -
                cd parent
         
     | 
| 
       26 
     | 
    
         
            -
                echo 'Initial parent commit' > parent.txt
         
     | 
| 
       27 
     | 
    
         
            -
                git add parent.txt
         
     | 
| 
       28 
     | 
    
         
            -
                git commit -m 'initial parent commit'
         
     | 
| 
       29 
     | 
    
         
            -
                git push
         
     | 
| 
       30 
     | 
    
         
            -
              )
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              (
         
     | 
| 
       33 
     | 
    
         
            -
                cd child
         
     | 
| 
       34 
     | 
    
         
            -
                echo 'Initial child commit' > child.txt
         
     | 
| 
       35 
     | 
    
         
            -
                git add child.txt
         
     | 
| 
       36 
     | 
    
         
            -
                git commit -m 'Initial child commit'
         
     | 
| 
       37 
     | 
    
         
            -
                git push
         
     | 
| 
       38 
     | 
    
         
            -
              )
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              (
         
     | 
| 
       41 
     | 
    
         
            -
                cd parent
         
     | 
| 
       42 
     | 
    
         
            -
                git subrepo clone ../child-upstream childrepo
         
     | 
| 
       43 
     | 
    
         
            -
              )
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
              (
         
     | 
| 
       46 
     | 
    
         
            -
                cd child
         
     | 
| 
       47 
     | 
    
         
            -
                echo 'Commit from child' >> child.txt
         
     | 
| 
       48 
     | 
    
         
            -
                git commit -a -m 'commit from child'
         
     | 
| 
       49 
     | 
    
         
            -
                git push
         
     | 
| 
       50 
     | 
    
         
            -
              )
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
              (
         
     | 
| 
       53 
     | 
    
         
            -
                cd parent
         
     | 
| 
       54 
     | 
    
         
            -
                git subrepo pull childrepo
         
     | 
| 
       55 
     | 
    
         
            -
              )
         
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
              (
         
     | 
| 
       58 
     | 
    
         
            -
                cd parent
         
     | 
| 
       59 
     | 
    
         
            -
                echo 'Commit from parent for pushing' >> childrepo/child.txt
         
     | 
| 
       60 
     | 
    
         
            -
                echo 'Commit from parent for pushing' >> parent.txt
         
     | 
| 
       61 
     | 
    
         
            -
                git commit -a -m 'Commit from parent for pushing'
         
     | 
| 
       62 
     | 
    
         
            -
                git push
         
     | 
| 
       63 
     | 
    
         
            -
              )
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
              (
         
     | 
| 
       66 
     | 
    
         
            -
                cd parent
         
     | 
| 
       67 
     | 
    
         
            -
                git subrepo push childrepo -d || bash -i
         
     | 
| 
       68 
     | 
    
         
            -
              )
         
     | 
| 
       69 
     | 
    
         
            -
            )
         
     | 
| 
         @@ -1,58 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            set -x
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            # Take some random github repo
         
     | 
| 
       6 
     | 
    
         
            -
            repo=${1:-ingydotnet/boolean-pm}
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            # Delete test dir
         
     | 
| 
       9 
     | 
    
         
            -
            rm -fr test-repo
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            # Clone repo into test dir
         
     | 
| 
       12 
     | 
    
         
            -
            git clone "git@github.com:$repo" test-repo
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            (
         
     | 
| 
       15 
     | 
    
         
            -
              # cd into test-repo
         
     | 
| 
       16 
     | 
    
         
            -
              cd test-repo
         
     | 
| 
       17 
     | 
    
         
            -
              # Tag original head
         
     | 
| 
       18 
     | 
    
         
            -
              git tag o
         
     | 
| 
       19 
     | 
    
         
            -
              # Pick a commit in the middle of the commit history
         
     | 
| 
       20 
     | 
    
         
            -
              S=$(git rev-parse HEAD^^^^)
         
     | 
| 
       21 
     | 
    
         
            -
              # Reset to the middle commit
         
     | 
| 
       22 
     | 
    
         
            -
              git reset --hard $S
         
     | 
| 
       23 
     | 
    
         
            -
              # Tag that history as 'a'
         
     | 
| 
       24 
     | 
    
         
            -
              git tag a
         
     | 
| 
       25 
     | 
    
         
            -
              # Reset to original
         
     | 
| 
       26 
     | 
    
         
            -
              git reset --hard o
         
     | 
| 
       27 
     | 
    
         
            -
              # Take the tail of the history.
         
     | 
| 
       28 
     | 
    
         
            -
              git filter-branch -f --parent-filter "sed 's/-p $S//'" $S..HEAD
         
     | 
| 
       29 
     | 
    
         
            -
              # Mark that sequence as 'b'
         
     | 
| 
       30 
     | 
    
         
            -
              git tag b
         
     | 
| 
       31 
     | 
    
         
            -
              # Reset to a
         
     | 
| 
       32 
     | 
    
         
            -
              git reset --hard a
         
     | 
| 
       33 
     | 
    
         
            -
              # Add a commit
         
     | 
| 
       34 
     | 
    
         
            -
              echo foobar >> README
         
     | 
| 
       35 
     | 
    
         
            -
              git commit README -m 'a change'
         
     | 
| 
       36 
     | 
    
         
            -
              # Tag as a2
         
     | 
| 
       37 
     | 
    
         
            -
              git tag a2
         
     | 
| 
       38 
     | 
    
         
            -
              # Find commits for top of 'a' and root of 'b'
         
     | 
| 
       39 
     | 
    
         
            -
              A=$(git rev-parse a)
         
     | 
| 
       40 
     | 
    
         
            -
              RB=$(git rev-list --max-parents=0 b)
         
     | 
| 
       41 
     | 
    
         
            -
              # Graft them together
         
     | 
| 
       42 
     | 
    
         
            -
              echo "$RB $A" >> .git/info/grafts
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
              git rebase --abort; git rebase -s recursive -X patience a2 b
         
     | 
| 
       45 
     | 
    
         
            -
            #   # Make the graft permanent. ie join head+tail
         
     | 
| 
       46 
     | 
    
         
            -
            #   # The commits should rewrite to match original history
         
     | 
| 
       47 
     | 
    
         
            -
            #   git filter-branch -f $RB^..b
         
     | 
| 
       48 
     | 
    
         
            -
            #   # Get commits for new 'b' and original
         
     | 
| 
       49 
     | 
    
         
            -
            #   B=$(git rev-parse b)
         
     | 
| 
       50 
     | 
    
         
            -
            #   O=$(git rev-parse o)
         
     | 
| 
       51 
     | 
    
         
            -
            #   # Check to see if it works
         
     | 
| 
       52 
     | 
    
         
            -
            #   if [ "$B" == "$O" ]; then
         
     | 
| 
       53 
     | 
    
         
            -
            #     echo "It worked: $B"
         
     | 
| 
       54 
     | 
    
         
            -
            #   else
         
     | 
| 
       55 
     | 
    
         
            -
            #     echo "If failed: $B, $O"
         
     | 
| 
       56 
     | 
    
         
            -
            #   fi
         
     | 
| 
       57 
     | 
    
         
            -
              bash
         
     | 
| 
       58 
     | 
    
         
            -
            )
         
     | 
| 
         @@ -1,210 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env perl
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            use strict;
         
     | 
| 
       4 
     | 
    
         
            -
            # use XXX;
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            sub main {
         
     | 
| 
       7 
     | 
    
         
            -
                my ($cmd) = @_;
         
     | 
| 
       8 
     | 
    
         
            -
                my $input = do { local $/; <> };
         
     | 
| 
       9 
     | 
    
         
            -
                my $input2 = do { local $/; <> };
         
     | 
| 
       10 
     | 
    
         
            -
                my ($options_spec) = $input2 =~ m/ ^ GETOPT_SPEC="\\ $ (.*?) ^ " $/xsm;
         
     | 
| 
       11 
     | 
    
         
            -
                $options_spec =~ s/.*Options:\n--//s;
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                my @options;
         
     | 
| 
       14 
     | 
    
         
            -
                for my $line (split m/\n/, $options_spec) {
         
     | 
| 
       15 
     | 
    
         
            -
                    next unless $line =~ m/\S/;
         
     | 
| 
       16 
     | 
    
         
            -
                    my $arg = 0;
         
     | 
| 
       17 
     | 
    
         
            -
                    my ($key, $desc) = split ' ', $line, 2;
         
     | 
| 
       18 
     | 
    
         
            -
                    if ($key =~ s/=$//) {
         
     | 
| 
       19 
     | 
    
         
            -
                        $arg = 1;
         
     | 
| 
       20 
     | 
    
         
            -
                    }
         
     | 
| 
       21 
     | 
    
         
            -
                    my @keys = split m/,/, $key;
         
     | 
| 
       22 
     | 
    
         
            -
                    push @options, { keys => \@keys, arg => $arg, desc => $desc };
         
     | 
| 
       23 
     | 
    
         
            -
                }
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                $input =~ s/.*?\n= Commands\n//s;
         
     | 
| 
       27 
     | 
    
         
            -
                $input =~ s/(.*?\n)==? .*/$1/s;
         
     | 
| 
       28 
     | 
    
         
            -
                my @list;
         
     | 
| 
       29 
     | 
    
         
            -
                my @subdir_cmds;
         
     | 
| 
       30 
     | 
    
         
            -
                while ($input =~ s/.*?^- (.*?\n)(?=- |== |\z)//ms) {
         
     | 
| 
       31 
     | 
    
         
            -
                    my $text = $1;
         
     | 
| 
       32 
     | 
    
         
            -
                    $text =~ /\A(.*)\n/
         
     | 
| 
       33 
     | 
    
         
            -
                        or die "Bad text '$text'";
         
     | 
| 
       34 
     | 
    
         
            -
                    my $usage = $1;
         
     | 
| 
       35 
     | 
    
         
            -
                    $usage =~ s/\A`(.*)`\z/$1/
         
     | 
| 
       36 
     | 
    
         
            -
                        or die "Bad usage: '$text'";
         
     | 
| 
       37 
     | 
    
         
            -
                    my ($x1, $x2, $name) = split / +/, $usage;
         
     | 
| 
       38 
     | 
    
         
            -
                    push @list, $name;
         
     | 
| 
       39 
     | 
    
         
            -
                    if ($usage =~ m#\Q$name\E \[?<subdir>\]?# and $name ne "init") {
         
     | 
| 
       40 
     | 
    
         
            -
                        push @subdir_cmds, $name;
         
     | 
| 
       41 
     | 
    
         
            -
                    }
         
     | 
| 
       42 
     | 
    
         
            -
                }
         
     | 
| 
       43 
     | 
    
         
            -
                @subdir_cmds = sort @subdir_cmds;
         
     | 
| 
       44 
     | 
    
         
            -
                @list = sort @list;
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
                if ($cmd eq "bash") {
         
     | 
| 
       47 
     | 
    
         
            -
                    generate_bash(\@list, \@subdir_cmds, \@options);
         
     | 
| 
       48 
     | 
    
         
            -
                }
         
     | 
| 
       49 
     | 
    
         
            -
                else {
         
     | 
| 
       50 
     | 
    
         
            -
                    generate_zsh(\@list, \@subdir_cmds, \@options);
         
     | 
| 
       51 
     | 
    
         
            -
                }
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
            }
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
            sub generate_zsh {
         
     | 
| 
       56 
     | 
    
         
            -
                my ($list, $subdir_cmds, $options) = @_;
         
     | 
| 
       57 
     | 
    
         
            -
                my $options_string = '';
         
     | 
| 
       58 
     | 
    
         
            -
                for my $opt (@$options) {
         
     | 
| 
       59 
     | 
    
         
            -
                    my $keys = $opt->{keys};
         
     | 
| 
       60 
     | 
    
         
            -
                    my $desc = $opt->{desc};
         
     | 
| 
       61 
     | 
    
         
            -
                    $desc =~ s/'/'"'"'/g;
         
     | 
| 
       62 
     | 
    
         
            -
                    # examples:
         
     | 
| 
       63 
     | 
    
         
            -
                    #'(-c --count)'{-c,--count}'[Number of list items to show]:count' \
         
     | 
| 
       64 
     | 
    
         
            -
                    #'--remote[Remote name (like "origin")]:remote' \
         
     | 
| 
       65 
     | 
    
         
            -
                    my $arg = '';
         
     | 
| 
       66 
     | 
    
         
            -
                    if ($opt->{arg}) {
         
     | 
| 
       67 
     | 
    
         
            -
                        $arg = ":$keys->[0]";
         
     | 
| 
       68 
     | 
    
         
            -
                    }
         
     | 
| 
       69 
     | 
    
         
            -
                    my @keystrings = map { (length $_ > 1 ? "--" : "-") . $_ } @$keys;
         
     | 
| 
       70 
     | 
    
         
            -
                    if (@$keys == 1) {
         
     | 
| 
       71 
     | 
    
         
            -
                        $options_string .= sprintf "        '%s[%s]%s' \\\n",
         
     | 
| 
       72 
     | 
    
         
            -
                            $keystrings[0], $desc, $arg;
         
     | 
| 
       73 
     | 
    
         
            -
                    }
         
     | 
| 
       74 
     | 
    
         
            -
                    elsif (@$keys > 1) {
         
     | 
| 
       75 
     | 
    
         
            -
                        $options_string .= sprintf "        '(%s)'{%s}'[%s]%s' \\\n",
         
     | 
| 
       76 
     | 
    
         
            -
                            (join ' ', @keystrings), (join ',', @keystrings), $desc, $arg;
         
     | 
| 
       77 
     | 
    
         
            -
                    }
         
     | 
| 
       78 
     | 
    
         
            -
                }
         
     | 
| 
       79 
     | 
    
         
            -
                print <<'...';
         
     | 
| 
       80 
     | 
    
         
            -
            #compdef git-subrepo -P git\ ##subrepo
         
     | 
| 
       81 
     | 
    
         
            -
            #description perform git-subrepo operations
         
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
            # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
         
     | 
| 
       84 
     | 
    
         
            -
             
     | 
| 
       85 
     | 
    
         
            -
            if [[ -z $GIT_SUBREPO_ROOT ]]; then
         
     | 
| 
       86 
     | 
    
         
            -
            	echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
         
     | 
| 
       87 
     | 
    
         
            -
            	return 3
         
     | 
| 
       88 
     | 
    
         
            -
            fi
         
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
            _git-subrepo() {
         
     | 
| 
       91 
     | 
    
         
            -
                typeset -A opt_args
         
     | 
| 
       92 
     | 
    
         
            -
                local curcontext="$curcontext" state line context
         
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
                _arguments -s \
         
     | 
| 
       95 
     | 
    
         
            -
                    '1: :->subcmd' \
         
     | 
| 
       96 
     | 
    
         
            -
                    '*: :->args' \
         
     | 
| 
       97 
     | 
    
         
            -
            ...
         
     | 
| 
       98 
     | 
    
         
            -
                print <<"...";
         
     | 
| 
       99 
     | 
    
         
            -
            $options_string && ret=0
         
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
       101 
     | 
    
         
            -
                case \$state in
         
     | 
| 
       102 
     | 
    
         
            -
                subcmd)
         
     | 
| 
       103 
     | 
    
         
            -
                    compadd @$list
         
     | 
| 
       104 
     | 
    
         
            -
                ;;
         
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
       106 
     | 
    
         
            -
                args)
         
     | 
| 
       107 
     | 
    
         
            -
                    case \$line[1] in
         
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
                    clone)
         
     | 
| 
       110 
     | 
    
         
            -
                        _arguments -C \\
         
     | 
| 
       111 
     | 
    
         
            -
                            '1: :->subcmd' \\
         
     | 
| 
       112 
     | 
    
         
            -
                            '2: :->repo' \\
         
     | 
| 
       113 
     | 
    
         
            -
                            '*: :->subdir' \\
         
     | 
| 
       114 
     | 
    
         
            -
                                && ret=0
         
     | 
| 
       115 
     | 
    
         
            -
                            case \$state in
         
     | 
| 
       116 
     | 
    
         
            -
                            subdir|repo)
         
     | 
| 
       117 
     | 
    
         
            -
                                _files
         
     | 
| 
       118 
     | 
    
         
            -
                            ;;
         
     | 
| 
       119 
     | 
    
         
            -
                            esac
         
     | 
| 
       120 
     | 
    
         
            -
                    ;;
         
     | 
| 
       121 
     | 
    
         
            -
             
     | 
| 
       122 
     | 
    
         
            -
                    @{[ join '|', @$subdir_cmds ]})
         
     | 
| 
       123 
     | 
    
         
            -
                        _compadd_subdirs
         
     | 
| 
       124 
     | 
    
         
            -
                    ;;
         
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
                    init)
         
     | 
| 
       127 
     | 
    
         
            -
                        _files
         
     | 
| 
       128 
     | 
    
         
            -
                    ;;
         
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
       130 
     | 
    
         
            -
                    help)
         
     | 
| 
       131 
     | 
    
         
            -
                        compadd @$list
         
     | 
| 
       132 
     | 
    
         
            -
                    ;;
         
     | 
| 
       133 
     | 
    
         
            -
                    esac
         
     | 
| 
       134 
     | 
    
         
            -
                ;;
         
     | 
| 
       135 
     | 
    
         
            -
                esac
         
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
            \}
         
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
            _compadd_subdirs() {
         
     | 
| 
       140 
     | 
    
         
            -
                local subrepos
         
     | 
| 
       141 
     | 
    
         
            -
                IFS=\$'\\n' set -A subrepos `git subrepo status -q`
         
     | 
| 
       142 
     | 
    
         
            -
                compadd -X "subrepos: " \$subrepos
         
     | 
| 
       143 
     | 
    
         
            -
            }
         
     | 
| 
       144 
     | 
    
         
            -
            ...
         
     | 
| 
       145 
     | 
    
         
            -
            }
         
     | 
| 
       146 
     | 
    
         
            -
             
     | 
| 
       147 
     | 
    
         
            -
            sub generate_bash {
         
     | 
| 
       148 
     | 
    
         
            -
             
     | 
| 
       149 
     | 
    
         
            -
                my ($list, $subdir_cmds, $options, $complete_fetch_limit) = @_;
         
     | 
| 
       150 
     | 
    
         
            -
                my $options_string = '';
         
     | 
| 
       151 
     | 
    
         
            -
                for my $opt (@$options) {
         
     | 
| 
       152 
     | 
    
         
            -
                    my $keys = $opt->{keys};
         
     | 
| 
       153 
     | 
    
         
            -
                    my $arg = '';
         
     | 
| 
       154 
     | 
    
         
            -
                    if ($opt->{arg}) {
         
     | 
| 
       155 
     | 
    
         
            -
                        $arg = "=";
         
     | 
| 
       156 
     | 
    
         
            -
                    }
         
     | 
| 
       157 
     | 
    
         
            -
                    my @keystrings = map { (length $_ > 1 ? "--" : "-") . $_ } @$keys;
         
     | 
| 
       158 
     | 
    
         
            -
                    for my $key (@keystrings) {
         
     | 
| 
       159 
     | 
    
         
            -
                        $options_string .= " $key$arg";
         
     | 
| 
       160 
     | 
    
         
            -
                    }
         
     | 
| 
       161 
     | 
    
         
            -
                }
         
     | 
| 
       162 
     | 
    
         
            -
             
     | 
| 
       163 
     | 
    
         
            -
                print <<"...";
         
     | 
| 
       164 
     | 
    
         
            -
            #!bash
         
     | 
| 
       165 
     | 
    
         
            -
             
     | 
| 
       166 
     | 
    
         
            -
            # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
         
     | 
| 
       167 
     | 
    
         
            -
             
     | 
| 
       168 
     | 
    
         
            -
            _git_subrepo() {
         
     | 
| 
       169 
     | 
    
         
            -
                local _opts="$options_string"
         
     | 
| 
       170 
     | 
    
         
            -
                local subcommands="@$list"
         
     | 
| 
       171 
     | 
    
         
            -
                local subdircommands="@$subdir_cmds"
         
     | 
| 
       172 
     | 
    
         
            -
                local subcommand="\$(__git_find_on_cmdline "\$subcommands")"
         
     | 
| 
       173 
     | 
    
         
            -
             
     | 
| 
       174 
     | 
    
         
            -
                if [ -z "\$subcommand" ]; then
         
     | 
| 
       175 
     | 
    
         
            -
                    # no subcommand yet
         
     | 
| 
       176 
     | 
    
         
            -
                    case "\$cur" in
         
     | 
| 
       177 
     | 
    
         
            -
                    -*)
         
     | 
| 
       178 
     | 
    
         
            -
                        __gitcomp "\$_opts"
         
     | 
| 
       179 
     | 
    
         
            -
                    ;;
         
     | 
| 
       180 
     | 
    
         
            -
                    *)
         
     | 
| 
       181 
     | 
    
         
            -
                        __gitcomp "\$subcommands"
         
     | 
| 
       182 
     | 
    
         
            -
                    esac
         
     | 
| 
       183 
     | 
    
         
            -
             
     | 
| 
       184 
     | 
    
         
            -
                else
         
     | 
| 
       185 
     | 
    
         
            -
             
     | 
| 
       186 
     | 
    
         
            -
                    case "\$cur" in
         
     | 
| 
       187 
     | 
    
         
            -
                    -*)
         
     | 
| 
       188 
     | 
    
         
            -
                        __gitcomp "\$_opts"
         
     | 
| 
       189 
     | 
    
         
            -
                        return
         
     | 
| 
       190 
     | 
    
         
            -
                    ;;
         
     | 
| 
       191 
     | 
    
         
            -
                    esac
         
     | 
| 
       192 
     | 
    
         
            -
             
     | 
| 
       193 
     | 
    
         
            -
                    if [[ "\$subcommand" == "help" ]]; then
         
     | 
| 
       194 
     | 
    
         
            -
                        __gitcomp "\$subcommands"
         
     | 
| 
       195 
     | 
    
         
            -
                        return
         
     | 
| 
       196 
     | 
    
         
            -
                    fi
         
     | 
| 
       197 
     | 
    
         
            -
             
     | 
| 
       198 
     | 
    
         
            -
                    local subdircommand="\$(__git_find_on_cmdline "\$subdircommands")"
         
     | 
| 
       199 
     | 
    
         
            -
                    if [ ! -z "\$subdircommand" ]; then
         
     | 
| 
       200 
     | 
    
         
            -
                        local git_subrepos=`git subrepo status -q`
         
     | 
| 
       201 
     | 
    
         
            -
                        __gitcomp "\$git_subrepos"
         
     | 
| 
       202 
     | 
    
         
            -
                    fi
         
     | 
| 
       203 
     | 
    
         
            -
             
     | 
| 
       204 
     | 
    
         
            -
                fi
         
     | 
| 
       205 
     | 
    
         
            -
            }
         
     | 
| 
       206 
     | 
    
         
            -
            ...
         
     | 
| 
       207 
     | 
    
         
            -
             
     | 
| 
       208 
     | 
    
         
            -
            }
         
     | 
| 
       209 
     | 
    
         
            -
             
     | 
| 
       210 
     | 
    
         
            -
            main(shift);
         
     |