threads / discuss / 60525

Shallow clones becomes not-shallow when cloning to a different drive

Subject: Shallow clones becomes not-shallow when cloning to a different drive

## tl;dr

One message between Nov 15, 2023 and Nov 15, 2023.

replies: 0people: 1as markdown or json

Tobias Schlüter· Nov 15, 2023, 13:12 UTC · lore
Hi,

I reported this on github but I was asked to take it here [*]. I had to deal with the following scenario today (on Windows, but not OS-specific):

$ git clone --single-branch --branch feature/bla --depth 200 ~/source/Repos/bla ${PATH_ON_DOFFERENT_DRIVE}/bla Cloning into './bla'... warning: --depth is ignored in local clones; use file:// instead. ... run out of disk space because it does a full clone ...

Doing something different than the user asked for, and in a way that can lead to dangerous scenarios, is a bad choice. In this case I was copying to a USB stick, but it could also be a system drive that runs out of space.

Additionally, the suggestion to use "file://" instead turned out to be impractical, as it is very slow. I started the operation with "file://..." replacing the repository path on the command line before my lunch break. When I came back it had copied a mere 100MB.

I would suggest to not imply "--local" when copying to a different device, and I would suggest to avoid doing something different than what the user asked for. In this case I specifically asked for a shallow copy to save resources, the logic that a local copy using hard links actually saves more resources simply didn't apply. Additionally, I would suggest investigating potential performance issues in the case of a shallow clone with file:// paths.

Please consider changing these choices and defaults.
Best regards,
- Tobi
[*] https://github.com/git-for-windows/git/issues/4693

← back to recent threads