# [PATCH] Use user supplied origin name for extension.partialcone instead of hardcoded value.

7 messages from 2019-05-23 to 2019-05-29. Participants: Xin Li, Jonathan Nieder, Junio C Hamano.
Thread: https://gitlist.dev/t/51163

## Xin Li, 2019-05-23 23:55

Subject: [PATCH] Use user supplied origin name for extension.partialcone instead of hardcoded value.
Message-ID: <20190523235543.4342-1-delphij@google.com>
URL: https://gitlist.dev/e/20190523235543.4342-1-delphij%40google.com

```
Signed-off-by: Xin Li <delphij@google.com>
---
 builtin/clone.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/clone.c b/builtin/clone.c
index 50bde99618..822208a346 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -1215,7 +1215,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 			remote_head_points_at, &branch_top);
 
 	if (filter_options.choice)
-		partial_clone_register("origin", &filter_options);
+		partial_clone_register(option_origin, &filter_options);
 
 	if (is_local)
 		clone_local(path, git_dir);
-- 
2.22.0.rc1.257.g3120a18244-goog


```

## Jonathan Nieder, 2019-05-24 00:01

Subject: Re: [PATCH] Use user supplied origin name for extension.partialcone instead of hardcoded value.
Message-ID: <20190524000150.GD70860@google.com>
URL: https://gitlist.dev/e/20190524000150.GD70860%40google.com
In-Reply-To: <20190523235543.4342-1-delphij@google.com>

```
Xin Li wrote:

> Subject: Use user supplied origin name for extension.partialcone instead of hardcoded value.

Good catch!

Nits:

- s/partialcone/partialclone/ (missing "l")

- subject lines in git.git tend to be of the form
  "subsystem: lowercase summary" with no trailing period.  So maybe
  something like:

	clone: respect user supplied origin name when setting up partial clone

> Signed-off-by: Xin Li <delphij@google.com>
> ---
>  builtin/clone.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

The change looks obviously good.  With or without a commit message
change like suggested above,

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>

Thanks.

```

## Xin Li, 2019-05-24 00:15

Subject: [PATCH] clone: respect user supplied origin name when setting up partial clone
Message-ID: <20190524001525.12952-1-delphij@google.com>
URL: https://gitlist.dev/e/20190524001525.12952-1-delphij%40google.com
In-Reply-To: <20190524000150.GD70860@google.com>

```
Signed-off-by: Xin Li <delphij@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
---
 builtin/clone.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/clone.c b/builtin/clone.c
index 50bde99618..822208a346 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -1215,7 +1215,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 			remote_head_points_at, &branch_top);
 
 	if (filter_options.choice)
-		partial_clone_register("origin", &filter_options);
+		partial_clone_register(option_origin, &filter_options);
 
 	if (is_local)
 		clone_local(path, git_dir);
-- 
2.22.0.rc1.257.g3120a18244-goog


```

## Junio C Hamano, 2019-05-29 19:59

Subject: Re: [PATCH] clone: respect user supplied origin name when setting up partial clone
Message-ID: <xmqqr28hxc9t.fsf@gitster-ct.c.googlers.com>
URL: https://gitlist.dev/e/xmqqr28hxc9t.fsf%40gitster-ct.c.googlers.com
In-Reply-To: <20190524001525.12952-1-delphij@google.com>

```
Xin Li <delphij@google.com> writes:

> Signed-off-by: Xin Li <delphij@google.com>
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
> ---
>  builtin/clone.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Thanks.  Can you add a test to demonstrate existing breakage without
this single-line code change in the same patch?

>
> diff --git a/builtin/clone.c b/builtin/clone.c
> index 50bde99618..822208a346 100644
> --- a/builtin/clone.c
> +++ b/builtin/clone.c
> @@ -1215,7 +1215,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
>  			remote_head_points_at, &branch_top);
>  
>  	if (filter_options.choice)
> -		partial_clone_register("origin", &filter_options);
> +		partial_clone_register(option_origin, &filter_options);
>  
>  	if (is_local)
>  		clone_local(path, git_dir);

```

## Xin Li, 2019-05-29 21:16

Subject: [PATCH v3] clone: respect user supplied origin name when setting up partial clone
Message-ID: <20190529211610.190269-1-delphij@google.com>
URL: https://gitlist.dev/e/20190529211610.190269-1-delphij%40google.com
In-Reply-To: <xmqqr28hxc9t.fsf@gitster-ct.c.googlers.com>

```
Signed-off-by: Xin Li <delphij@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
---
 builtin/clone.c  |  2 +-
 t/t5601-clone.sh | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/builtin/clone.c b/builtin/clone.c
index 50bde99618..822208a346 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -1215,7 +1215,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 			remote_head_points_at, &branch_top);
 
 	if (filter_options.choice)
-		partial_clone_register("origin", &filter_options);
+		partial_clone_register(option_origin, &filter_options);
 
 	if (is_local)
 		clone_local(path, git_dir);
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index d6948cbdab..3595162c32 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -634,7 +634,7 @@ test_expect_success CASE_INSENSITIVE_FS 'colliding file detection' '
 	test_i18ngrep "the following paths have collided" icasefs/warning
 '
 
-partial_clone () {
+partial_clone_server () {
 	       SERVER="$1" &&
 	       URL="$2" &&
 
@@ -646,8 +646,14 @@ partial_clone () {
 	test_commit -C "$SERVER" two &&
 	HASH2=$(git hash-object "$SERVER/two.t") &&
 	test_config -C "$SERVER" uploadpack.allowfilter 1 &&
-	test_config -C "$SERVER" uploadpack.allowanysha1inwant 1 &&
+	test_config -C "$SERVER" uploadpack.allowanysha1inwant 1
+}
+
+partial_clone () {
+	       SERVER="$1" &&
+	       URL="$2" &&
 
+	partial_clone_server "${SERVER}" "${URL}" &&
 	git clone --filter=blob:limit=0 "$URL" client &&
 
 	git -C client fsck &&
@@ -664,6 +670,11 @@ test_expect_success 'partial clone' '
 	partial_clone server "file://$(pwd)/server"
 '
 
+test_expect_success 'partial clone with -o' '
+	partial_clone_server server "file://$(pwd)/server" &&
+	git clone -o blah --filter=blob:limit=0 "${URL}" client
+'
+
 test_expect_success 'partial clone: warn if server does not support object filtering' '
 	rm -rf server client &&
 	test_create_repo server &&
-- 
2.22.0.rc1.257.g3120a18244-goog


```

## Xin Li, 2019-05-29 21:22

Subject: [PATCH v4] clone: respect user supplied origin name when setting up partial clone
Message-ID: <20190529212231.197417-1-delphij@google.com>
URL: https://gitlist.dev/e/20190529212231.197417-1-delphij%40google.com
In-Reply-To: <20190529211610.190269-1-delphij@google.com>

```
Signed-off-by: Xin Li <delphij@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
---
 builtin/clone.c  |  2 +-
 t/t5601-clone.sh | 16 +++++++++++++---
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/builtin/clone.c b/builtin/clone.c
index 50bde99618..822208a346 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -1215,7 +1215,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 			remote_head_points_at, &branch_top);
 
 	if (filter_options.choice)
-		partial_clone_register("origin", &filter_options);
+		partial_clone_register(option_origin, &filter_options);
 
 	if (is_local)
 		clone_local(path, git_dir);
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index d6948cbdab..22066bb88c 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -634,9 +634,8 @@ test_expect_success CASE_INSENSITIVE_FS 'colliding file detection' '
 	test_i18ngrep "the following paths have collided" icasefs/warning
 '
 
-partial_clone () {
+partial_clone_server () {
 	       SERVER="$1" &&
-	       URL="$2" &&
 
 	rm -rf "$SERVER" client &&
 	test_create_repo "$SERVER" &&
@@ -646,8 +645,14 @@ partial_clone () {
 	test_commit -C "$SERVER" two &&
 	HASH2=$(git hash-object "$SERVER/two.t") &&
 	test_config -C "$SERVER" uploadpack.allowfilter 1 &&
-	test_config -C "$SERVER" uploadpack.allowanysha1inwant 1 &&
+	test_config -C "$SERVER" uploadpack.allowanysha1inwant 1
+}
 
+partial_clone () {
+	       SERVER="$1" &&
+	       URL="$2" &&
+
+	partial_clone_server "${SERVER}" &&
 	git clone --filter=blob:limit=0 "$URL" client &&
 
 	git -C client fsck &&
@@ -664,6 +669,11 @@ test_expect_success 'partial clone' '
 	partial_clone server "file://$(pwd)/server"
 '
 
+test_expect_success 'partial clone with -o' '
+	partial_clone_server server "file://$(pwd)/server" &&
+	git clone -o blah --filter=blob:limit=0 "file://$(pwd)/server" client
+'
+
 test_expect_success 'partial clone: warn if server does not support object filtering' '
 	rm -rf server client &&
 	test_create_repo server &&
-- 
2.22.0.rc1.257.g3120a18244-goog


```

## Xin Li, 2019-05-29 21:26

Subject: [PATCH v5] clone: respect user supplied origin name when setting up partial clone
Message-ID: <20190529212643.206908-1-delphij@google.com>
URL: https://gitlist.dev/e/20190529212643.206908-1-delphij%40google.com
In-Reply-To: <20190529212231.197417-1-delphij@google.com>

```
Signed-off-by: Xin Li <delphij@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
---
 builtin/clone.c  |  2 +-
 t/t5601-clone.sh | 16 +++++++++++++---
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/builtin/clone.c b/builtin/clone.c
index 50bde99618..822208a346 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -1215,7 +1215,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 			remote_head_points_at, &branch_top);
 
 	if (filter_options.choice)
-		partial_clone_register("origin", &filter_options);
+		partial_clone_register(option_origin, &filter_options);
 
 	if (is_local)
 		clone_local(path, git_dir);
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index d6948cbdab..1fae8ae223 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -634,9 +634,8 @@ test_expect_success CASE_INSENSITIVE_FS 'colliding file detection' '
 	test_i18ngrep "the following paths have collided" icasefs/warning
 '
 
-partial_clone () {
+partial_clone_server () {
 	       SERVER="$1" &&
-	       URL="$2" &&
 
 	rm -rf "$SERVER" client &&
 	test_create_repo "$SERVER" &&
@@ -646,8 +645,14 @@ partial_clone () {
 	test_commit -C "$SERVER" two &&
 	HASH2=$(git hash-object "$SERVER/two.t") &&
 	test_config -C "$SERVER" uploadpack.allowfilter 1 &&
-	test_config -C "$SERVER" uploadpack.allowanysha1inwant 1 &&
+	test_config -C "$SERVER" uploadpack.allowanysha1inwant 1
+}
 
+partial_clone () {
+	       SERVER="$1" &&
+	       URL="$2" &&
+
+	partial_clone_server "${SERVER}" &&
 	git clone --filter=blob:limit=0 "$URL" client &&
 
 	git -C client fsck &&
@@ -664,6 +669,11 @@ test_expect_success 'partial clone' '
 	partial_clone server "file://$(pwd)/server"
 '
 
+test_expect_success 'partial clone with -o' '
+	partial_clone_server server &&
+	git clone -o blah --filter=blob:limit=0 "file://$(pwd)/server" client
+'
+
 test_expect_success 'partial clone: warn if server does not support object filtering' '
 	rm -rf server client &&
 	test_create_repo server &&
-- 
2.22.0.rc1.257.g3120a18244-goog


```
