force ConcurrentTransfers() to 1 for ntlm

This commit is contained in:
risk danger olson 2015-11-06 10:08:44 -08:00
parent 41db1f922b
commit a51a65542d
2 changed files with 7 additions and 4 deletions

@ -38,7 +38,7 @@ The Git LFS API uses HTTP Basic Authentication to authorize requests. The
credentials can come from the following places: credentials can come from the following places:
1. Specified in the URL: `https://user:password@git-server.com/user/repo.git/info/lfs`. 1. Specified in the URL: `https://user:password@git-server.com/user/repo.git/info/lfs`.
This is not recommended for security reasons because it relies on the This is not recommended for security reasons because it relies on the
credentials living in your local git config. credentials living in your local git config.
2. `git-credential` will either retrieve the stored credentials for your Git 2. `git-credential` will either retrieve the stored credentials for your Git
host, or ask you to provide them. Successful requests will store the credentials host, or ask you to provide them. Successful requests will store the credentials
@ -79,8 +79,7 @@ Invalid LFS operation: "wat"
HTTPS is strongly encouraged for all production Git LFS servers. HTTPS is strongly encouraged for all production Git LFS servers.
If your Git LFS server authenticates with NTLM then you must provide your credentials to `git-credential` If your Git LFS server authenticates with NTLM then you must provide your credentials to `git-credential`
in the form `username:DOMAIN\user password:password`. You must additionally set `ConcurrentTransfers=1` in in the form `username:DOMAIN\user password:password`.
your Git config.
### Hypermedia ### Hypermedia
@ -116,7 +115,7 @@ Any other response code is treated as an error.
The Storage API is a generic API for directly uploading and downloading objects. The Storage API is a generic API for directly uploading and downloading objects.
Git LFS servers can offload object storage to cloud services like S3, or Git LFS servers can offload object storage to cloud services like S3, or
implemented natively in the Git LFS server. The only requirement is that implemented natively in the Git LFS server. The only requirement is that
hypermedia objects from the Git LFS API return the correct headers so clients hypermedia objects from the Git LFS API return the correct headers so clients
can access the storage API properly. can access the storage API properly.

@ -117,6 +117,10 @@ func (c *Configuration) Endpoint() Endpoint {
} }
func (c *Configuration) ConcurrentTransfers() int { func (c *Configuration) ConcurrentTransfers() int {
if c.NtlmAccess() {
return 1
}
uploads := 3 uploads := 3
if v, ok := c.GitConfig("lfs.concurrenttransfers"); ok { if v, ok := c.GitConfig("lfs.concurrenttransfers"); ok {