Skip to content

Commit ff51b4f

Browse files
committed
cmd/git(fix[Git.fetch,Git.pull]): Implement missing fetch parameters
why: Parameters deepen, negotiation_tip, recurse_submodules, and recurse_submodules_default were defined but never used, silently ignoring callers' requests. what: - Add --deepen=<n> flag emission for deepen parameter - Add --negotiation-tip=<rev> flag emission for negotiation_tip - Add --recurse-submodules[=yes|on-demand|no] for recurse_submodules - Add --recurse-submodules-default=<value> for recurse_submodules_default - Applied to both fetch() and pull() methods
1 parent 5707ec6 commit ff51b4f

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

src/libvcs/cmd/git.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,8 @@ def fetch(
494494
local_flags.append(f"--filter={_filter}")
495495
if depth is not None:
496496
local_flags.extend(["--depth", depth])
497+
if deepen is not None:
498+
local_flags.append(f"--deepen={deepen}")
497499
if upload_pack is not None:
498500
local_flags.extend(["--upload-pack", upload_pack])
499501
if shallow_since is not None:
@@ -552,6 +554,22 @@ def fetch(
552554
local_flags.append("--no-tags")
553555
if no_recurse_submodules:
554556
local_flags.append("--no-recurse-submodules")
557+
if recurse_submodules is not None:
558+
if isinstance(recurse_submodules, bool):
559+
if recurse_submodules:
560+
local_flags.append("--recurse-submodules")
561+
else:
562+
local_flags.append(f"--recurse-submodules={recurse_submodules}")
563+
if recurse_submodules_default is not None:
564+
if isinstance(recurse_submodules_default, bool):
565+
if recurse_submodules_default:
566+
local_flags.append("--recurse-submodules-default=yes")
567+
else:
568+
local_flags.append(
569+
f"--recurse-submodules-default={recurse_submodules_default}"
570+
)
571+
if negotiation_tip is not None:
572+
local_flags.append(f"--negotiation-tip={negotiation_tip}")
555573
if set_upstream:
556574
local_flags.append("--set-upstream")
557575
if update_head_ok:
@@ -967,6 +985,8 @@ def pull(
967985
local_flags.append(f"--filter={_filter}")
968986
if depth is not None:
969987
local_flags.extend(["--depth", depth])
988+
if deepen is not None:
989+
local_flags.append(f"--deepen={deepen}")
970990
if upload_pack is not None:
971991
local_flags.extend(["--upload-pack", upload_pack])
972992
if shallow_since is not None:
@@ -1025,6 +1045,22 @@ def pull(
10251045
local_flags.append("--no-tags")
10261046
if no_recurse_submodules:
10271047
local_flags.append("--no-recurse-submodules")
1048+
if recurse_submodules is not None:
1049+
if isinstance(recurse_submodules, bool):
1050+
if recurse_submodules:
1051+
local_flags.append("--recurse-submodules")
1052+
else:
1053+
local_flags.append(f"--recurse-submodules={recurse_submodules}")
1054+
if recurse_submodules_default is not None:
1055+
if isinstance(recurse_submodules_default, bool):
1056+
if recurse_submodules_default:
1057+
local_flags.append("--recurse-submodules-default=yes")
1058+
else:
1059+
local_flags.append(
1060+
f"--recurse-submodules-default={recurse_submodules_default}"
1061+
)
1062+
if negotiation_tip is not None:
1063+
local_flags.append(f"--negotiation-tip={negotiation_tip}")
10281064
if set_upstream:
10291065
local_flags.append("--set-upstream")
10301066
if update_head_ok:

0 commit comments

Comments
 (0)