Skip to content

Commit 59be5a1

Browse files
committed
feat(cmd[hg.clone]): Add make_parents, default=True
1 parent 2bf56a1 commit 59be5a1

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/libvcs/cmd/hg.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,11 +183,18 @@ def clone(
183183
pull: Optional[bool] = None,
184184
stream: Optional[bool] = None,
185185
insecure: Optional[bool] = None,
186+
# Special behavior
187+
make_parents: Optional[bool] = True,
186188
) -> str:
187189
"""Clone a working copy from a mercurial repo.
188190
189191
Wraps `hg clone <https://www.mercurial-scm.org/doc/hg.1.html#clone>`_.
190192
193+
Parameters
194+
----------
195+
make_parents : bool, default: ``True``
196+
Creates checkout directory (`:attr:`self.dir`) if it doesn't already exist.
197+
191198
Examples
192199
--------
193200
>>> hg = Hg(dir=tmp_path)
@@ -216,6 +223,10 @@ def clone(
216223
local_flags.append("--stream")
217224
if insecure is True:
218225
local_flags.append("--insecure")
226+
227+
# libvcs special behavior
228+
if make_parents and not self.dir.exists():
229+
self.dir.mkdir(parents=True)
219230
return self.run(
220231
["clone", *local_flags, "--", *required_flags], check_returncode=False
221232
)

0 commit comments

Comments
 (0)