-
Notifications
You must be signed in to change notification settings - Fork 376
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Premises
I'm unused to reporting on github; I looked for report guidelines but found none therefore I hope you can indulge me a little 😁
Similar issue
Description
When cloning from the GUI clone window a repository within a local network path which contains spaces, like "\srv\something with spaces\a\b\c.git", the operation fails with the following error
fatal: Too many arguments.
usage: git clone [<options>] [--] <repo> [<dir>]
-v, --[no-]verbose be more verbose
-q, --[no-]quiet be more quiet
--[no-]progress force progress reporting
--[no-]reject-shallow don't clone shallow repository
-n, --no-checkout don't create a checkout
--checkout opposite of --no-checkout
--[no-]bare create a bare repository
--[no-]mirror create a mirror repository (implies --bare)
-l, --[no-]local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
--hardlinks opposite of --no-hardlinks
-s, --[no-]shared setup as shared repository
--[no-]recurse-submodules[=<pathspec>]
initialize submodules in the clone
--[no-]recursive ... alias of --recurse-submodules
-j, --[no-]jobs <n> number of submodules cloned in parallel
--[no-]template <template-directory>
directory from which templates will be used
--[no-]reference <repo>
reference repository
--[no-]reference-if-able <repo>
reference repository
--[no-]dissociate use --reference only while cloning
-o, --[no-]origin <name>
use <name> instead of 'origin' to track upstream
-b, --[no-]branch <branch>
checkout <branch> instead of the remote's HEAD
--[no-]revision <rev> clone single revision <rev> and check out
-u, --[no-]upload-pack <path>
path to git-upload-pack on the remote
--[no-]depth <depth> create a shallow clone of that depth
--[no-]shallow-since <time>
create a shallow clone since a specific time
--[no-]shallow-exclude <ref>
deepen history of shallow clone, excluding ref
--[no-]single-branch clone only one branch, HEAD or --branch
--[no-]tags clone tags, and make later fetches not to follow them
--[no-]shallow-submodules
any cloned submodules will be shallow
--[no-]separate-git-dir <gitdir>
separate git dir from working tree
--[no-]ref-format <format>
specify the reference format to use
-c, --[no-]config <key=value>
set config inside the new repository
--[no-]server-option <server-specific>
option to transmit
-4, --ipv4 use IPv4 addresses only
-6, --ipv6 use IPv6 addresses only
--[no-]filter <args> object filtering
--[no-]also-filter-submodules
apply partial clone filters to submodules
--[no-]remote-submodules
any cloned submodules will use their remote-tracking branch
--[no-]sparse initialize sparse-checkout file to include only files at root
--[no-]bundle-uri <uri>
a URI for downloading bundles before fetching from origin remote
Looking at the command flashing rapidly under the clone window it can be seen that the passed URL / path is not quoted.
Proposed changes
Inside the file
https://github.com/sourcegit-scm/sourcegit/blob/master/src/Commands/Clone.cs
changing the following code at line 17
builder.Append(url).Append(' ');
into
builder.Append(url.Quoted()).Append(' ');
should do the trick.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request