we have continual integration for several project. Some of them are stored in git, some of them in subversion. When someone broke the build, TeamCity send an email with some details. I understand that email address of the comitee is stored in git repository. But how TeamCity get the email address of the subversion user?
Sometime it sends email, sometime not. Does it compare username of subversion and username of TeamCity login? and what about users who never haven't logged in TeamCity?
It's configured in user's account settings. To open it, click the arrow next to your username (in the top right corner of the screen) and select My Settings & Tools from the drop-down list. There you'll be able to manage your VCS usernames and email address.
Related
Background:
I have two GitHub accounts: a main account and a rarely-used account.
If I remember correctly, I have used both of them with the copy of Sourcetree on my laptop.
I currently have just my main GitHub account listed in my Sourcetree's Tools-->Options-->Authentication settings page.
Problem:
When I try to push a branch from my laptop to my GitHub remote for my main account, it fails, with the git error message indicating that I had actually tried to push with my rarely-used account, even though it's nowhere to be found in my Sourcetree settings pages.
The Atlassian team provided a solution for this (here):
Open the repo
Click "Settings"
Double click on the "origin" item in the listing
Edit the url to add your username before the URL of the repo. Here are some examples:
https://USERNAME#contoso.com/repo/blah.git
https://USERNAME#github.com/host/repo_name
You should be prompted for a password the next time you try to push or pull
I was able to solve the problem by opening up my Sourcetree userhosts file, located at (on Windows 10): C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree\userhosts, as hinted at in Atlassian's documentation for how to reset your Sourctree settings.
The file only contained these lines:
github.com
<my-rarely-used-account>#gmail.com
I deleted that second line which referenced my rarely-used account, restarted Sourcetree, tried to push again, and this time it prompted me for my GitHub password, and I could see that the username was (correctly) my main GitHub username. I entered my password and the push succeeded.
Why doesn't Egit accept username and password when fetching from remote?
These are the steps I follow:
In Git Repositories view I expand Project -> Remotes -> origin
Right click on origin -> fetch
Login mask appears; I insert User and Password
Repeat step 3 other two times
An error message appears: https://companyname.visualstudio.com/.../projectname: not authorized
Credentials are correct and I am authorized because I use them daily with any kind of git interface: TortoiseGit, SmartGit, Git Bash, ...
I did research but didn't find this problem. Also similar questions don't address this problem.
Update: I used a workaround following this guide. I created an access token from the Visual Studio Team Services account and I'm using that as password.
My git installation is using Git Credential Manager (GitHub page, Microsoft guide to GCM) to store credentials, in fact when I ran for the first time git through the interfaces I mentioned above and tried to connect to the Team Services Git repository the Microsoft Account login window popped up and that was it. Also I can tell it from runnig the command git config --list and getting credential.helper=manager.
Eclipse has the Team Explorer Everywhere plug-in installed, so it should interact with Git Credential Manager and accept the Microsoft Account credentials, but it doesn't. So this is still an open issue.
I was facing the same issue
From git side
settings-->developer settings-->Personal access tokens-->generate new token-->copy that token and use that token as password.
The way to fix this is to go to
Window->Preferences->Team->Git
And then change the HTTP client from Apache HTTP to Java Built-in HTTP
The Git clients you mention uses "native" git, and the credentials are provided transparently during the communication with the server.
Eclipse git client (jgit+egit) is full-java based, and unfortunately you can't use native git in Eclipse.
Either your Git server has user+password locally (not so enterprise-ish!) or you could use Kerberos tickets in Eclipse git; but before you run Eclipse you should do a kinit to create a ticket with your user logon, that is accessible from java process. (Normally the ticket is in your user home directory)
Example using kinit:
I m not so sure about the TFS plugin, but maybe in your case it is worth to install it and see if it helps you instead of the embedded egit, see https://msdn.microsoft.com/en-us/library/hh301122(v=vs.120).aspx
I had the same issue, not able to update the username in eclipse pop up while pushing to Git. Irrespective of username, I have provided the generated git credentials password and it worked.
Use personal access token for https. Fine graned tokens are preferred.
Refer. https://cse132.engineering.wustl.edu/files/githubEclipseAuth/githubEclipseAuth.html
I am working on a project shared through github and eclipse, and I can commit without problems, my partner however, entered the wrong identifiers(username and password) the first time he remote pushed. Thus, every time he tries to push and commit on the repository, eclipse uses those wrong identifiers to log to github and it fails. Is there a way to change those identifiers?
If he entered the wrong username, he can go on Window/Preferences/ search for git and on Configuration section, he can change this.
Otherwise if entered the wrong password, he can search for secure and on the Secure storage section, on Contents tab, he can change the password on git section
I just connected to GIT from Eclipse Juno using EGit, and successfully cloned a certain remote repository. During the clone I entered my Github username and password, but chose not to save them.
Then I tried to "Fetch from Upstream". I got this error:
https://github.com/biunlp/nlp-lab.git: not authorized
I had no chance of entering my username and password...
This is strange since I connected to this repository in order to clone...
Update 2022: In what follows, always use:
a App password, not your account password (see blog post).
So create your app password.
a BitBucket Cloud, since BitBucket server will be discontinued in Feb. 2024.
A. To specify credentials individually for each remote
Open Git repositories view,
open "Remotes > origin > <your push url>"
click "Change Credentials..."
(From User Guide - Resource Context Menu)
B. To specify credentials per server
If you want to access multiple repositories on the same server without providing the same credentials multiple times, you may use .netrc. With this, eGit will use the configuration you provide.
Create a text file called .netrc (_netrc in Windows) in the user home directory.
Add content to the file in this form:
machine my.server1.com
login yourUserName
password yourPassword
machine my.server2.com
login yourUserName
password yourPassword
The Stash documentation contains more information about .netrc
Security issue The problem with using .netrc this way is that the password is visible in plain text. Refer to this answer in Stackoverflow to solve that problem.
More secure option (2022): EGit (from issue 441198) can be made (with an extension) to recognize a native Git credential helper, using a secure encrypted cache:
install a native Git
install the GCM (Git Credential Manager), which is cross-platform, and already package with Git For Windows for instance.
instruct EGit to look for credentials in the GCM: gitflow-incremental-builder/gitflow-incremental-builder
register your password or token in said GCM
printf "Host=my.server1.com\nprotocol=https\nusername=yourUsername1\npassword=passwd1" | \
git credential-manager-core store
# and:
printf "Host=my.server1.com\nprotocol=https\nusername=yourUsername1\npassword=passwd1" | \
git credential-manager-core store
Look for executable git-credential-manager-core, and add its folder to your %PATH%/$PATH.
You can try:
eclipse/myeclipse > menu
window > preferences > general > security >
content > click "delete" > ok
If you're using Two Factor Authentication on GitHub, the "not authorized" error can be returned even if you are using the correct username and password. This can be resolved by generating a personal access token.
After generating the secure access token, we'll use this instead of a password. Make sure not to leave the page before you're done, because once you leave the page, you'll never see it again (thankfully it can be regenerated, but anything using the previously generated token will cease to authenticate).
This assumes that you've successfully installed EGit and that you've successfully cloned a repository.
Go to your GitHub.com settings, and in the left hand pane click Personal access tokens.
Click Generate new token. Select the scopes that you'd like this token to be able to use, and generate it.
Copy the token. It should look something like this: 9731f5cf519e9abb53e6ba9f5134075438944888 (don't worry, this is invalid).
Back in Eclipse (Juno, since that's OP's version), click Window > Show View > Other.... Under Git, select Git Repositories.
A new pane appears, from which you can open (repository name) > Remotes > origin.
Right click on a node and choose Change Credentials.... Enter your username for User, and your secure access token for the Password.
I had a similar problem when I changed my password on the remote repository.
Here is how I fixed it on Eclipse on Mac:
Important Note: These instructions have the side effect of clearing all passwords and other secure information. I was fine with that, but you will want to consider that before you follow these instructions.
Click Eclipse -> Preferences on menu.
Expect a popup window called Preferences.
Expand the "General" tree item.
Double click the "Security" tree item.
Expect the main pane of the popup to change to "See 'Secure Storage' for..."
Click 'Secure Storage'.
Expect the main pane to change to tabbed window.
Click the "Contents" tab.
Click "Delete".
Accept a warning that all your secure information is deleted.
Click "Cancel" or "Apply" to exit the popup window.
Click the 'Git Pull' icon and expect to be prompted for username and password.
This worked for me:
Go to Git profile-> Settings -> developer settings-> personal access tokens
delete if any existing token and generate a new token [provide note, specify no.of days and repo checked] ->Copy the new token generated
Goto eclipse and now when the same login prompt appears, try providing the personal token generated as password instead of Git password.
Bitbucket Cloud recently stopped supporting account passwords for Git authentication. From march 2022.
So use app password. Please read more information on below links.
Bitbuckect Announcement
Bitbuckect blog
App password
I have 2 repositories and I'm using the same username to access them, but with different passwords (the 2 repos are on the same server but I need different credentials for each repo). In Eclipse (Version: Indigo Service Release 1, Build id: 20110916-0149) with the Subclipse SVN plugin if I click 'Remember password' for one repository, then it won't work for the other (since it's the same username, so it'll prompt for password).
Is it possible to have the credentials stored "per repository" and not global (i.e. to have 2 accounts with same username but different password, one for repo1 and the other for repo2)?
Not an answer, but a hint what to check further:
Go to your Subversion configuration directory. Under Windows it is: c:\Users\<USERNAME>\AppData\Roaming\Subversion\
There you should find the directory auth/svn.simple.
It contains for each SVN repository (not: server) a file with information about the repo and the user ID and password that SVN uses to authenticate to the server.
V 65
<http://server.name:80> Subversion MYREPO
This indicates, that it could be different for each repo. I have two entries for the same server, but different repos. Because we use LDAP, the crypted passwords are the same
So you could delete the entries, and try the following steps again:
Restart eclipse
Delete your checkout locations
Delete the password information inside eclipse
Ensure that there is nothing cached in auth/svn.simple.
Create a new checkout location in Eclipse, and store your password. You should now have a new entry for that repository only.
If you create another checkout location for the different repository, you should have the option to define user ID and password again. And this should result then in a different entry.
I hope that helps to debug your problem.