{"action":"created","issue":{"url":"https://api.github.com/repos/github/git-lfs/issues/1121","repository_url":"https://api.github.com/repos/github/git-lfs","labels_url":"https://api.github.com/repos/github/git-lfs/issues/1121/labels{/name}","comments_url":"https://api.github.com/repos/github/git-lfs/issues/1121/comments","events_url":"https://api.github.com/repos/github/git-lfs/issues/1121/events","html_url":"https://github.com/github/git-lfs/issues/1121","id":145707297,"number":1121,"title":"Serious usability issues prompting for credentials with an separate LFS server","user":{"login":"rjbell4","id":375968,"avatar_url":"https://avatars.githubusercontent.com/u/375968?v=3","gravatar_id":"","url":"https://api.github.com/users/rjbell4","html_url":"https://github.com/rjbell4","followers_url":"https://api.github.com/users/rjbell4/followers","following_url":"https://api.github.com/users/rjbell4/following{/other_user}","gists_url":"https://api.github.com/users/rjbell4/gists{/gist_id}","starred_url":"https://api.github.com/users/rjbell4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjbell4/subscriptions","organizations_url":"https://api.github.com/users/rjbell4/orgs","repos_url":"https://api.github.com/users/rjbell4/repos","events_url":"https://api.github.com/users/rjbell4/events{/privacy}","received_events_url":"https://api.github.com/users/rjbell4/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/github/git-lfs/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-04-04T14:51:37Z","updated_at":"2016-04-04T15:34:08Z","closed_at":null,"body":"I have observed serious usability issues prompting for credentials, when using a separate LFS server.  In my case, I am using GitHub Enterprise, and a separate Artifactory server for LFS, though I don't believe those specifics would be necessary.  The usability issues are severe enough for me to consider the case \"unusable\" and a bug.\r\n\r\nOnce credentials are cached, everything is smooth.  However, if credentials have not been cached, prompting for them is basically usable.  The workaround for the situation is to ensure credentials are cached (or stored) via an \"out-of-band\" mechanism.  This isn't a good sell to potential Git LFS users, though. :disappointed: \r\n\r\nFirst, I appear to be prompted for the password once for each of the \"ConcurrentTransfers\" threads.  These prompts are all strung together on a single line, and I have to enter credentials over and over again.\r\n\r\nAdditionally, after entering a username, the prompt for a password appears, but is immediately overwritten with an update on the status.  Therefore, it's not clear that's there's even a prompt, much less what is required.\r\n\r\nI've attached an image to attempt to demonstrate the usability issue in this situation.  My configuration for the example is simply:\r\n```\r\ncredential.helper=cache\r\nhttp.sslverify=false\r\nlfs.concurrenttransfers=8\r\n```\r\n\r\nIt is the output of ```git lfs fetch``` from a repository cloned with ```GIT_LFS_SKIP_SMUDGE=1```.  The progress being made is as I attempt to enter my username and password multiple times, but I'm not even clear what I'm being prompted for, so I eventually give up.  I don't want other users to go through the same thing!\r\n\r\n![image](https://cloud.githubusercontent.com/assets/375968/14251722/503d9512-fa52-11e5-9b85-ca2b51584d52.png)"},"comment":{"url":"https://api.github.com/repos/github/git-lfs/issues/comments/205353465","html_url":"https://github.com/github/git-lfs/issues/1121#issuecomment-205353465","issue_url":"https://api.github.com/repos/github/git-lfs/issues/1121","id":205353465,"user":{"login":"technoweenie","id":21,"avatar_url":"https://avatars.githubusercontent.com/u/21?v=3","gravatar_id":"","url":"https://api.github.com/users/technoweenie","html_url":"https://github.com/technoweenie","followers_url":"https://api.github.com/users/technoweenie/followers","following_url":"https://api.github.com/users/technoweenie/following{/other_user}","gists_url":"https://api.github.com/users/technoweenie/gists{/gist_id}","starred_url":"https://api.github.com/users/technoweenie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/technoweenie/subscriptions","organizations_url":"https://api.github.com/users/technoweenie/orgs","repos_url":"https://api.github.com/users/technoweenie/repos","events_url":"https://api.github.com/users/technoweenie/events{/privacy}","received_events_url":"https://api.github.com/users/technoweenie/received_events","type":"User","site_admin":true},"created_at":"2016-04-04T15:34:08Z","updated_at":"2016-04-04T15:34:08Z","body":"I don't think there's anything wrong with the way Artifactory is doing things here. \r\n\r\nI thought the transfer queue object had something that would block all of the concurrent goroutines until there was a successful auth. Maybe I'm wrong, or some http response from Artifactory is confusing the client?"}}