Re: Need support with git credential storage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 27, 2016 at 09:49:38PM +0000, Charles Bélanger wrote:

> Here's the git clone command launch by a .sh script file called from ~/.profile:
> git clone https://MyUserName@xxxxxxxxxxxxx/CompanyName/ProjectName.git ~/Projects/SubFolderName/ProjectName
> 
> Here's the error from bash .profile:
> Fatal: unable to access 'https://MyUserName@xxxxxxxxxxxxx/CompanyName/ProjectName.git/':
> Could not resolve host: bitbucket.org

I don't think this is related to credentials. The credential code should
never do a network hostname lookup. It looks more like git-clone is
failing to contact the host in the first place.

Try "ping bitbucket.org", which would presumably yield the same error.
If so, you need to figure out why you cannot resolve the name, but
that's beyond the scope of this list.

> I followed the excellent Web page here:
> https://git-scm.com/book/be/v2/Git-Tools-Credential-Storage
> 
> Here's what I use as commands:
> git credential-store --file ~/git.store store
> protocol=https
> host=bitbucket.org/CompanyName/ProjectName.git
> username=MyUserName
> password=MyPassword
> (type enter on a blank line to exit)

This comes from the "under the hood" section, I think. In normal use,
you shouldn't need to run the credential-helper directly. Just configure
it, via:

  git config credential.helper "store --file ~/git.store"

The first time git needs a password, it will prompt you on the terminal,
and then store the result in that file.

If you do want to pre-seed the store, you can do so using a command like
the one above. But as you noted later, the "host" field should be _just_
the hostname, not the rest of the url path. That would go in the "path"
field if you want it, but typically git does not even bother to store
paths, and just keys on whole domains (see "credential.useHttpPath" in
"git help config" for more details).

You can also specify a URL using the special key "url", which is then
parsed into its components. So for example:

  $ git credential-store --file my-store store
  url=https://bitbucket.org/CompanyName/ProjectName.git
  username=foo
  password=bar
  [blank line to end]

  $ cat my-store
  https://foo:bar@xxxxxxxxxxxxx/CompanyName/ProjectName.git

  $ git credential-store --file my-store get
  url=https://bitbucket.org/

  [blank line ends our input, the rest is output]
  username=foo
  password=bar

> Here's what the ~/git.store file looks like:
>         https://MyUserName:MyPassword@xxxxxxxxxxxxx%2fCompanyName%2fProjectName.git
> 
> I tried changing the %2f by / inside the git.store file and also tried // but it's still showing the same fatal error.
> Perhaps I don't use the host=  property correctly.

Right. It should be:

  https://MyUserName:MyPassword@xxxxxxxxxxxxx/CompanyName/ProjectName.git

Though as before, you can omit "CompanyName/ProjectName.git" completely,
to cover the whole domain.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]