@@ -69,27 +69,26 @@ ran and any validation gaps.
6969including the Developer Mode registry check.** Complete that setup before
7070running the clone command.
7171
72- From the directory where you want to create the checkout, run:
72+ With Git 2.36 or newer, run this from the directory where you want to
73+ create the checkout:
7374
7475``` console
75- $ git clone --config core.symlinks=true --config submodule.recurse=true --filter=blob:none https://github.com/NVIDIA/cuda-python.git
76+ $ git clone --config core.symlinks=true --config submodule.recurse=true --recurse-submodules -- filter=blob:none --also-filter-submodules https://github.com/NVIDIA/cuda-python.git
7677$ cd cuda-python
77- $ git submodule update --init --depth=1 --filter=blob:none --recursive
7878```
7979
8080This recipe sets up the repository for source builds and development:
8181
8282- ` core.symlinks=true ` materializes symlinks during checkout, including the
8383 build-critical ` cuda_core/_build_shared.py ` .
84- - The separate submodule update initializes the pinned CCCL headers needed to
85- build ` cuda.core ` , fetching only one commit of submodule history.
86- - ` --filter=blob:none ` skips historical file contents in both repositories.
87- Git downloads file contents as needed for checkout .
84+ - ` --recurse-submodules ` initializes the CCCL headers needed to build ` cuda.core ` .
85+ - ` --filter=blob:none --also-filter-submodules ` skips historical file
86+ contents in the repository and CCCL. Git downloads those contents
87+ when needed; commit history and release tags remain available .
8888- ` submodule.recurse=true ` keeps initialized submodules in sync on ` git pull ` ,
8989 ` git checkout ` , and ` git switch ` .
90- - The root clone retains history and release tags for correct package versions.
91- Do not add ` --depth ` or ` --no-tags ` to ` git clone ` ; the depth limit applies
92- only to submodules.
90+ - The clone retains history and release tags for correct package versions.
91+ Do not add ` --depth ` or ` --no-tags ` .
9392
9493Both configuration settings are stored in the new clone. Next, follow the
9594build and test instructions for
@@ -102,15 +101,13 @@ build and test instructions for
102101From the repository root, run:
103102
104103``` console
105- $ git pull --no-recurse-submodules
106- $ git submodule sync --recursive
107- $ git submodule update --init --depth=1 --filter=blob:none --recursive
104+ $ git pull --recurse-submodules
105+ $ git submodule update --init
108106```
109107
110- Pull the root repository first, then sync submodule URLs and update the pinned
111- revisions, including any newly added submodules. The explicit
112- ` --no-recurse-submodules ` overrides ` submodule.recurse=true ` for the pull so
113- submodules are fetched separately with the requested depth and filter.
108+ The recommended clone configures ` submodule.recurse=true ` , so you can omit
109+ ` --recurse-submodules ` from ` git pull ` . The second command initializes any
110+ newly added submodules; it is usually a no-op.
114111
115112If you work from a fork, periodically fetch release tags from NVIDIA upstream
116113so package versions stay current:
0 commit comments