git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Glen Choo <chooglen@google.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>, git@vger.kernel.org
Cc: "Taylor Blau" <me@ttaylorr.com>,
	"Robert Coup" <robert@coup.net.nz>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: Re: [PATCH v2 08/10] submodule tests: test "git branch -t" output and stderr
Date: Mon, 14 Nov 2022 14:20:18 -0800	[thread overview]
Message-ID: <kl6ly1sdnpp9.fsf@chooglen-macbookpro.roam.corp.google.com> (raw)
In-Reply-To: <patch-v2-08.10-172b5865811-20221114T100803Z-avarab@gmail.com>

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> The "git branch" command will currently make use of the
> "--super-prefix", as it will indirectly call submodule_move_head(),
> which will have access to the "--super-prefix".

I couldn't figure out how "git branch" ends up calling
submodule_move_head(), could you include the call chain?

I find it very odd because AFAICT we only call submodule_move_head()
when we are modifying the working tree (or checking if it is safe to
modify), and "git branch" shouldn't touch the working tree.

> The output could thus be affected by the "--super-prefix". Right now
> it isn't in this case, but let's exhaustively assert that that's the
> case by testing the output of all of these "git branch -t" commands.

It's reasonable to be worried if the output contained paths to the
working tree, but...

> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  t/lib-submodule-update.sh | 98 ++++++++++++++++++++++-----------------
>  1 file changed, 55 insertions(+), 43 deletions(-)
>
> diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh
> index 2d31fcfda1f..302d095ad9b 100644
> --- a/t/lib-submodule-update.sh
> +++ b/t/lib-submodule-update.sh
> @@ -245,6 +245,17 @@ reset_work_tree_to_interested () {
>  	git -C submodule_update/.git/modules/sub1 config submodule.sub2.url "bogus"
>  }
>  
> +test_branch_t_output () {
> +	local branchname="$1" &&
> +	local start_point="$2" &&
> +	cat >expect <<-EOF &&
> +	branch '$branchname' set up to track '$start_point'.
> +	EOF
> +	git branch -t "$branchname" "$start_point" >actual 2>err &&
> +	test_must_be_empty err &&
> +	test_cmp expect actual
> +}
> +

it looks like the output is based entirely on the ref store, which has
no reason to use the super prefix. Based on the commit message in
74866d7579 (git: make super-prefix option, 2016-10-07):

  When such a super-prefix is specified, the paths reported by Git
  are prefixed with it to make them relative to that directory "above".
  The paths given by the user on the command line
  (e.g. "git subcmd --output-file=path/to/a/file" and pathspecs) are taken
  relative to the directory "above" to match.

and the fact that the super prefix has never been used for anything
other than the working tree, I don't think this level of paranoia is
necessary.

>  # Test that the superproject contains the content according to commit "$1"
>  # (the work tree must match the index for everything but submodules but the
>  # index must exactly match the given commit including any submodule SHA-1s).
> @@ -323,7 +334,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			$command add_sub1 &&
>  			test_superproject_content origin/add_sub1 &&
>  			test_dir_is_empty sub1 &&
> @@ -345,7 +356,7 @@ test_submodule_switch_common () {
>  		(
>  			cd submodule_update &&
>  			mkdir sub1 &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			$command add_sub1 &&
>  			test_superproject_content origin/add_sub1 &&
>  			test_dir_is_empty sub1 &&
> @@ -360,7 +371,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to replace_sub1_with_file &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
> +			test_branch_t_output replace_file_with_sub1 origin/replace_file_with_sub1 &&
>  			$command replace_file_with_sub1 &&
>  			test_superproject_content origin/replace_file_with_sub1 &&
>  			test_dir_is_empty sub1 &&
> @@ -384,7 +395,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to replace_sub1_with_directory &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
> +			test_branch_t_output replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
>  			$command replace_directory_with_sub1 &&
>  			test_superproject_content origin/replace_directory_with_sub1 &&
>  			test_dir_is_empty sub1 &&
> @@ -406,7 +417,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t remove_sub1 origin/remove_sub1 &&
> +			test_branch_t_output remove_sub1 origin/remove_sub1 &&
>  			$command remove_sub1 &&
>  			test_superproject_content origin/remove_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1
> @@ -418,7 +429,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t remove_sub1 origin/remove_sub1 &&
> +			test_branch_t_output remove_sub1 origin/remove_sub1 &&
>  			replace_gitfile_with_git_dir sub1 &&
>  			$command remove_sub1 &&
>  			test_superproject_content origin/remove_sub1 &&
> @@ -447,7 +458,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
> +			test_branch_t_output replace_sub1_with_directory origin/replace_sub1_with_directory &&
>  			$command replace_sub1_with_directory test_must_fail &&
>  			test_superproject_content origin/add_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1
> @@ -459,7 +470,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
> +			test_branch_t_output replace_sub1_with_directory origin/replace_sub1_with_directory &&
>  			replace_gitfile_with_git_dir sub1 &&
>  			$command replace_sub1_with_directory test_must_fail &&
>  			test_superproject_content origin/add_sub1 &&
> @@ -474,7 +485,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
> +			test_branch_t_output replace_sub1_with_file origin/replace_sub1_with_file &&
>  			$command replace_sub1_with_file test_must_fail &&
>  			test_superproject_content origin/add_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1
> @@ -487,7 +498,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
> +			test_branch_t_output replace_sub1_with_file origin/replace_sub1_with_file &&
>  			replace_gitfile_with_git_dir sub1 &&
>  			$command replace_sub1_with_file test_must_fail &&
>  			test_superproject_content origin/add_sub1 &&
> @@ -512,7 +523,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t modify_sub1 origin/modify_sub1 &&
> +			test_branch_t_output modify_sub1 origin/modify_sub1 &&
>  			$command modify_sub1 &&
>  			test_superproject_content origin/modify_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1 &&
> @@ -527,7 +538,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t invalid_sub1 origin/invalid_sub1 &&
> +			test_branch_t_output invalid_sub1 origin/invalid_sub1 &&
>  			$command invalid_sub1 &&
>  			test_superproject_content origin/invalid_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1 &&
> @@ -542,7 +553,7 @@ test_submodule_switch_common () {
>  		reset_work_tree_to invalid_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t valid_sub1 origin/valid_sub1 &&
> +			test_branch_t_output valid_sub1 origin/valid_sub1 &&
>  			$command valid_sub1 &&
>  			test_superproject_content origin/valid_sub1 &&
>  			test_dir_is_empty sub1 &&
> @@ -596,7 +607,7 @@ test_submodule_switch_func () {
>  		reset_work_tree_to no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			>sub1 &&
>  			$command add_sub1 test_must_fail &&
>  			test_superproject_content origin/no_submodule &&
> @@ -635,7 +646,7 @@ test_submodule_forced_switch () {
>  		reset_work_tree_to no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			>sub1 &&
>  			$command add_sub1 &&
>  			test_superproject_content origin/add_sub1 &&
> @@ -675,7 +686,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			$command add_sub1 &&
>  			test_superproject_content origin/add_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1
> @@ -688,7 +699,7 @@ test_submodule_recursing_with_args_common () {
>  		(
>  			cd submodule_update &&
>  			mkdir sub1 &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			$command add_sub1 &&
>  			test_superproject_content origin/add_sub1 &&
>  			test_submodule_content sub1 origin/add_sub1
> @@ -701,7 +712,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested replace_sub1_with_file &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_file_with_sub1 origin/replace_file_with_sub1 &&
> +			test_branch_t_output replace_file_with_sub1 origin/replace_file_with_sub1 &&
>  			$command replace_file_with_sub1 &&
>  			test_superproject_content origin/replace_file_with_sub1 &&
>  			test_submodule_content sub1 origin/replace_file_with_sub1
> @@ -713,19 +724,20 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested replace_sub1_with_directory &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
> +			test_branch_t_output replace_directory_with_sub1 origin/replace_directory_with_sub1 &&
>  			$command replace_directory_with_sub1 &&
>  			test_superproject_content origin/replace_directory_with_sub1 &&
>  			test_submodule_content sub1 origin/replace_directory_with_sub1
>  		)
>  	'
> +
>  	# Switching to a commit with nested submodules recursively checks them out
>  	test_expect_success "$command: nested submodules are checked out" '
>  		prolog &&
>  		reset_work_tree_to_interested no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
> +			test_branch_t_output modify_sub1_recursively origin/modify_sub1_recursively &&
>  			$command modify_sub1_recursively &&
>  			test_superproject_content origin/modify_sub1_recursively &&
>  			test_submodule_content sub1 origin/modify_sub1_recursively &&
> @@ -740,7 +752,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t remove_sub1 origin/remove_sub1 &&
> +			test_branch_t_output remove_sub1 origin/remove_sub1 &&
>  			$command remove_sub1 &&
>  			test_superproject_content origin/remove_sub1 &&
>  			! test -e sub1 &&
> @@ -753,7 +765,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t remove_sub1 origin/remove_sub1 &&
> +			test_branch_t_output remove_sub1 origin/remove_sub1 &&
>  			replace_gitfile_with_git_dir sub1 &&
>  			rm -rf .git/modules &&
>  			$command remove_sub1 &&
> @@ -769,7 +781,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
> +			test_branch_t_output replace_sub1_with_file origin/replace_sub1_with_file &&
>  			$command replace_sub1_with_file &&
>  			test_superproject_content origin/replace_sub1_with_file &&
>  			test -f sub1
> @@ -786,7 +798,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
> +			test_branch_t_output replace_sub1_with_file origin/replace_sub1_with_file &&
>  			: >sub1/untrackedfile &&
>  			test_must_fail $command replace_sub1_with_file &&
>  			test_superproject_content origin/add_sub1 &&
> @@ -801,7 +813,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_nested_sub &&
>  		(
>  			cd submodule_update &&
> -			git branch -t no_submodule origin/no_submodule &&
> +			test_branch_t_output no_submodule origin/no_submodule &&
>  			$command no_submodule &&
>  			test_superproject_content origin/no_submodule &&
>  			! test_path_is_dir sub1 &&
> @@ -817,7 +829,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t modify_sub1 origin/modify_sub1 &&
> +			test_branch_t_output modify_sub1 origin/modify_sub1 &&
>  			$command modify_sub1 &&
>  			test_superproject_content origin/modify_sub1 &&
>  			test_submodule_content sub1 origin/modify_sub1
> @@ -830,7 +842,7 @@ test_submodule_recursing_with_args_common () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t invalid_sub1 origin/invalid_sub1 &&
> +			test_branch_t_output invalid_sub1 origin/invalid_sub1 &&
>  			test_must_fail $command invalid_sub1 2>err &&
>  			test_i18ngrep sub1 err &&
>  			test_superproject_content origin/add_sub1 &&
> @@ -844,13 +856,13 @@ test_submodule_recursing_with_args_common () {
>  		(
>  			cd submodule_update &&
>  			git -C sub1 checkout -b keep_branch &&
> -			git -C sub1 rev-parse HEAD >expect &&
> -			git branch -t modify_sub1 origin/modify_sub1 &&
> +			git -C sub1 rev-parse HEAD >expect.rev-parse &&
> +			test_branch_t_output modify_sub1 origin/modify_sub1 &&
>  			$command modify_sub1 &&
>  			test_superproject_content origin/modify_sub1 &&
>  			test_submodule_content sub1 origin/modify_sub1 &&
>  			git -C sub1 rev-parse keep_branch >actual &&
> -			test_cmp expect actual &&
> +			test_cmp expect.rev-parse actual &&
>  			test_must_fail git -C sub1 symbolic-ref HEAD
>  		)
>  	'
> @@ -894,7 +906,7 @@ test_submodule_switch_recursing_with_args () {
>  		reset_work_tree_to_interested no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			: >sub1 &&
>  			test_must_fail $command add_sub1 &&
>  			test_superproject_content origin/no_submodule &&
> @@ -908,7 +920,7 @@ test_submodule_switch_recursing_with_args () {
>  		reset_work_tree_to_interested no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			: >sub1 &&
>  			mkdir .git/info &&
>  			echo sub1 >.git/info/exclude &&
> @@ -925,7 +937,7 @@ test_submodule_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
> +			test_branch_t_output replace_sub1_with_directory origin/replace_sub1_with_directory &&
>  			$command replace_sub1_with_directory &&
>  			test_superproject_content origin/replace_sub1_with_directory &&
>  			test_submodule_content sub1 origin/replace_sub1_with_directory
> @@ -937,7 +949,7 @@ test_submodule_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
> +			test_branch_t_output replace_sub1_with_directory origin/replace_sub1_with_directory &&
>  			replace_gitfile_with_git_dir sub1 &&
>  			rm -rf .git/modules &&
>  			$command replace_sub1_with_directory &&
> @@ -954,7 +966,7 @@ test_submodule_switch_recursing_with_args () {
>  		(
>  			cd submodule_update &&
>  			rm -rf .git/modules/sub1/info &&
> -			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
> +			test_branch_t_output replace_sub1_with_file origin/replace_sub1_with_file &&
>  			mkdir .git/modules/sub1/info &&
>  			echo ignored >.git/modules/sub1/info/exclude &&
>  			: >sub1/ignored &&
> @@ -969,7 +981,7 @@ test_submodule_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t modify_sub1 origin/modify_sub1 &&
> +			test_branch_t_output modify_sub1 origin/modify_sub1 &&
>  			git -c submodule.recurse=true $cmd_args modify_sub1 &&
>  			test_superproject_content origin/modify_sub1 &&
>  			test_submodule_content sub1 origin/modify_sub1
> @@ -981,7 +993,7 @@ test_submodule_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_nested_sub &&
>  		(
>  			cd submodule_update &&
> -			git branch -t modify_sub1_recursively origin/modify_sub1_recursively &&
> +			test_branch_t_output modify_sub1_recursively origin/modify_sub1_recursively &&
>  			$command modify_sub1_recursively &&
>  			test_superproject_content origin/modify_sub1_recursively &&
>  			test_submodule_content sub1 origin/modify_sub1_recursively &&
> @@ -1009,7 +1021,7 @@ test_submodule_forced_switch_recursing_with_args () {
>  		reset_work_tree_to_interested no_submodule &&
>  		(
>  			cd submodule_update &&
> -			git branch -t add_sub1 origin/add_sub1 &&
> +			test_branch_t_output add_sub1 origin/add_sub1 &&
>  			>sub1 &&
>  			$command add_sub1 &&
>  			test_superproject_content origin/add_sub1 &&
> @@ -1023,7 +1035,7 @@ test_submodule_forced_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
> +			test_branch_t_output replace_sub1_with_directory origin/replace_sub1_with_directory &&
>  			$command replace_sub1_with_directory &&
>  			test_superproject_content origin/replace_sub1_with_directory
>  		)
> @@ -1034,7 +1046,7 @@ test_submodule_forced_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
> +			test_branch_t_output replace_sub1_with_directory origin/replace_sub1_with_directory &&
>  			replace_gitfile_with_git_dir sub1 &&
>  			rm -rf .git/modules/sub1 &&
>  			$command replace_sub1_with_directory &&
> @@ -1049,7 +1061,7 @@ test_submodule_forced_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t replace_sub1_with_file origin/replace_sub1_with_file &&
> +			test_branch_t_output replace_sub1_with_file origin/replace_sub1_with_file &&
>  			: >sub1/expect &&
>  			$command replace_sub1_with_file &&
>  			test_superproject_content origin/replace_sub1_with_file
> @@ -1062,7 +1074,7 @@ test_submodule_forced_switch_recursing_with_args () {
>  		reset_work_tree_to_interested invalid_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t valid_sub1 origin/valid_sub1 &&
> +			test_branch_t_output valid_sub1 origin/valid_sub1 &&
>  			$command valid_sub1 &&
>  			test_superproject_content origin/valid_sub1 &&
>  			test_submodule_content sub1 origin/valid_sub1
> @@ -1077,7 +1089,7 @@ test_submodule_forced_switch_recursing_with_args () {
>  		reset_work_tree_to_interested add_sub1 &&
>  		(
>  			cd submodule_update &&
> -			git branch -t modify_sub1 origin/modify_sub1 &&
> +			test_branch_t_output modify_sub1 origin/modify_sub1 &&
>  			echo "gitdir: bogus/path" >sub1/.git &&
>  			$command modify_sub1 &&
>  			test_superproject_content origin/modify_sub1 &&
> -- 
> 2.38.0.1471.ge4d8947e7aa

  reply	other threads:[~2022-11-14 22:21 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09  0:47 [RFC PATCH 0/4] git: remove --super-prefix Glen Choo
2022-11-09  0:47 ` [RFC PATCH 1/4] submodule--helper: teach --toplevel-cwd-prefix Glen Choo
2022-11-09  2:37   ` Ævar Arnfjörð Bjarmason
2022-11-09  0:47 ` [RFC PATCH 2/4] fetch: refactor --submodule-prefix Glen Choo
2022-11-09  3:06   ` Ævar Arnfjörð Bjarmason
2022-11-09  0:47 ` [RFC PATCH 3/4] read-tree: teach --submodule-prefix Glen Choo
2022-11-09  3:13   ` Ævar Arnfjörð Bjarmason
2022-11-09  0:47 ` [RFC PATCH 4/4] git: remove --super-prefix Glen Choo
2022-11-09 19:34 ` [RFC PATCH 0/8] Get rid of "git --super-prefix" Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 1/8] submodule--helper: don't use global --super-prefix in "absorbgitdirs" Ævar Arnfjörð Bjarmason
2022-11-11  0:12     ` Glen Choo
2022-11-09 19:34   ` [RFC PATCH 2/8] submodule--helper: "deinit" has never used "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 3/8] submodule--helper: convert "foreach" to its own "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 4/8] submodule--helper: convert "sync" " Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 5/8] submodule--helper: convert "status" " Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 6/8] submodule--helper: convert "{update,clone}" to their " Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 7/8] submodule tests: test "git branch -t" output and stderr Ævar Arnfjörð Bjarmason
2022-11-09 19:34   ` [RFC PATCH 8/8] read-tree: add "--super-prefix" option, eliminate global Ævar Arnfjörð Bjarmason
2022-11-11  0:40     ` Glen Choo
2022-11-09 21:21   ` [RFC PATCH 0/8] Get rid of "git --super-prefix" Taylor Blau
2022-11-09 21:47     ` Ævar Arnfjörð Bjarmason
2022-11-09 22:27       ` Taylor Blau
2022-11-09 22:54         ` Ævar Arnfjörð Bjarmason
2022-11-10  0:45   ` Glen Choo
2022-11-10 10:51     ` Ævar Arnfjörð Bjarmason
2022-11-11  1:07       ` Glen Choo
2022-11-11 18:29         ` Glen Choo
2022-11-11 21:17           ` Ævar Arnfjörð Bjarmason
2022-11-11 21:51             ` Taylor Blau
2022-11-12  1:10             ` Glen Choo
2022-11-14 10:09               ` Ævar Arnfjörð Bjarmason
2022-11-14 23:33                 ` Glen Choo
2022-11-15  1:37                   ` Ævar Arnfjörð Bjarmason
2022-11-14 10:08   ` [PATCH v2 00/10] " Ævar Arnfjörð Bjarmason
2022-11-14 10:08     ` [PATCH v2 01/10] read-tree + fetch tests: test failing "--super-prefix" interaction Ævar Arnfjörð Bjarmason
2022-11-14 19:00       ` Glen Choo
2022-11-14 19:14         ` Ævar Arnfjörð Bjarmason
2022-11-14 19:49           ` Glen Choo
2022-11-14 10:08     ` [PATCH v2 02/10] submodule--helper: don't use global --super-prefix in "absorbgitdirs" Ævar Arnfjörð Bjarmason
2022-11-14 21:22       ` Glen Choo
2022-11-17 18:10         ` Ævar Arnfjörð Bjarmason
2022-11-14 10:08     ` [PATCH v2 03/10] submodule--helper: "deinit" has never used "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-14 10:08     ` [PATCH v2 04/10] submodule--helper: convert "foreach" to its own "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-14 21:56       ` Glen Choo
2022-11-17 18:14         ` Ævar Arnfjörð Bjarmason
2022-11-14 10:08     ` [PATCH v2 05/10] submodule--helper: convert "sync" " Ævar Arnfjörð Bjarmason
2022-11-14 10:08     ` [PATCH v2 06/10] submodule--helper: convert "status" " Ævar Arnfjörð Bjarmason
2022-11-14 10:08     ` [PATCH v2 07/10] submodule--helper: convert "{update,clone}" to their " Ævar Arnfjörð Bjarmason
2022-11-14 22:04       ` Glen Choo
2022-11-14 10:08     ` [PATCH v2 08/10] submodule tests: test "git branch -t" output and stderr Ævar Arnfjörð Bjarmason
2022-11-14 22:20       ` Glen Choo [this message]
2022-11-14 10:08     ` [PATCH v2 09/10] read-tree: add "--super-prefix" option, eliminate global Ævar Arnfjörð Bjarmason
2022-11-14 22:28       ` Glen Choo
2022-11-14 10:08     ` [PATCH v2 10/10] fetch: rename "--submodule-prefix" to "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-14 22:31       ` Glen Choo
2022-11-14 21:59     ` [PATCH v2 00/10] Get rid of "git --super-prefix" Taylor Blau
2022-11-14 23:20     ` Glen Choo
2022-11-14 23:39     ` Glen Choo
2022-11-15  1:27       ` Ævar Arnfjörð Bjarmason
2022-11-16 21:07         ` Glen Choo
2022-11-17 18:07           ` Ævar Arnfjörð Bjarmason
2022-11-21 19:16             ` Glen Choo
2022-11-19 12:41     ` [PATCH v3 0/9] " Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 1/9] read-tree + fetch tests: test failing "--super-prefix" interaction Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 2/9] submodule.c & submodule--helper: pass along "super_prefix" param Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 3/9] submodule--helper: don't use global --super-prefix in "absorbgitdirs" Ævar Arnfjörð Bjarmason
2022-11-22 19:53         ` Glen Choo
2022-11-19 12:41       ` [PATCH v3 4/9] submodule--helper: convert "foreach" to its own "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 5/9] submodule--helper: convert "sync" " Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 6/9] submodule--helper: convert "status" " Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 7/9] submodule--helper: convert "{update,clone}" to their " Ævar Arnfjörð Bjarmason
2022-11-19 12:41       ` [PATCH v3 8/9] read-tree: add "--super-prefix" option, eliminate global Ævar Arnfjörð Bjarmason
2022-11-22 19:57         ` Glen Choo
2022-11-19 12:41       ` [PATCH v3 9/9] fetch: rename "--submodule-prefix" to "--super-prefix" Ævar Arnfjörð Bjarmason
2022-11-22 22:29       ` [PATCH v3 0/9] Get rid of "git --super-prefix" Glen Choo
2022-12-15  9:32       ` [PATCH v4 " Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 1/9] submodule absorbgitdirs tests: add missing "Migrating git..." tests Ævar Arnfjörð Bjarmason
2022-12-15 20:54           ` Glen Choo
2022-12-20 10:32             ` Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 2/9] read-tree + fetch tests: test failing "--super-prefix" interaction Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 3/9] submodule.c & submodule--helper: pass along "super_prefix" param Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 4/9] submodule--helper: don't use global --super-prefix in "absorbgitdirs" Ævar Arnfjörð Bjarmason
2022-12-15 21:05           ` Glen Choo
2022-12-15  9:32         ` [PATCH v4 5/9] submodule--helper: convert "foreach" to its own "--super-prefix" Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 6/9] submodule--helper: convert "sync" " Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 7/9] submodule--helper: convert "status" " Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 8/9] submodule--helper: convert "{update,clone}" to their " Ævar Arnfjörð Bjarmason
2022-12-15  9:32         ` [PATCH v4 9/9] read-tree: add "--super-prefix" option, eliminate global Ævar Arnfjörð Bjarmason
2022-12-15 21:19         ` [PATCH v4 0/9] Get rid of "git --super-prefix" Glen Choo
2022-12-15 22:19           ` Junio C Hamano
2022-12-15 22:12         ` Junio C Hamano
2022-12-20 12:39         ` [PATCH v5 " Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 1/9] submodule absorbgitdirs tests: add missing "Migrating git..." tests Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 2/9] read-tree + fetch tests: test failing "--super-prefix" interaction Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 3/9] submodule.c & submodule--helper: pass along "super_prefix" param Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 4/9] submodule--helper: don't use global --super-prefix in "absorbgitdirs" Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 5/9] submodule--helper: convert "foreach" to its own "--super-prefix" Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 6/9] submodule--helper: convert "sync" " Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 7/9] submodule--helper: convert "status" " Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 8/9] submodule--helper: convert "{update,clone}" to their " Ævar Arnfjörð Bjarmason
2022-12-20 12:39           ` [PATCH v5 9/9] read-tree: add "--super-prefix" option, eliminate global Ævar Arnfjörð Bjarmason
2022-11-09 21:16 ` [RFC PATCH 0/4] git: remove --super-prefix Taylor Blau
2022-11-09 23:55   ` Glen Choo
2022-11-10  2:14     ` Taylor Blau
2022-11-10 23:49       ` Glen Choo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=kl6ly1sdnpp9.fsf@chooglen-macbookpro.roam.corp.google.com \
    --to=chooglen@google.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=me@ttaylorr.com \
    --cc=robert@coup.net.nz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).