Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 362846

Summary: Issues creating and pushing new maven+git project to private remote repository
Product: [Technology] EGit Reporter: wj <wjohnsonga>
Component: CoreAssignee: Project Inbox <egit.core-inbox>
Status: NEW --- QA Contact:
Severity: major    
Priority: P3 CC: remy.suen
Version: unspecified   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description wj CLA 2011-11-03 17:49:22 EDT
Build Identifier: 20110916-0149

 followed the basic tutorials (http://wiki.eclipse.org/EGit/User_Guide)

	1) Configured SSH: Eclipse > Preferences > Network Connections > SSH2
		Key Management: generated RSA key with passphrase
		General: added Private Key (select .ssh/rsa_id file using Finder)
	2) Prepared remote git site
		Created remote "test" git *private* repository on both github and bitbucket
		Added public rsa key to account on each git provider
	3) Created maven test project. File > New > Other … [Maven > Maven Project]
		"New Maven Project": select "default workspace" and "create simple project"; set group and artifact id
	4) Shared "test" project using git
		<Context menu on "test" project> Team > Share… > git, etc.
	5) Added initial project files (pom, .settings, etc.) and commit (local repository)

	*6) Push changes to remote repository
		<Context menu on "test" project> Team > Remote > Push
		"Push to Another Repository" Dialog
		

Issues:
(In all cases, my work-around was to use the CLI mvn in OSX.)

1)
Bug: Before the remote site was added to "known_hosts", the connection failed with a dialog saying the remote site was untrusted, but it never provided an opportunity to accept the host as does CLI mvn. The error dialog could only be dismissed with OK.

4)
Should Ignored Resources (Eclipse > Preferences > Team Ignored Resources) include, by default, maven-generated directories such as "target", "test-output", etc.?

*6) 
I can't get this step to work. No matter what changes I make in SSH/Push configuration dialogs, I get an Auth: failed message. Note that the remotes are *private* repositories.

In a terminal window from within the test project local repository directory, the following mvn commands work fine:
$ git remote add origin git@github.com:username/test.git
$ git push origin master

When I added and committed another file and tried a second push using Eclipse, I got a different dialog using the remote 'origin' created by CLI mvn. Clicking Finish with the defaults resulted in the following error details:
Can't connect to any repository: git@github.com:username/test.git (An internal Exception occurred during push: git@github.com:username/test.git: Auth fail)


Some observations on usability of the "Push to another Repository" Dialog:

- Authorization/authentication failure messages are cryptic and the details mimic the headline. No further clues are provided: no summary of the interaction with the remote site or helpful text on what logs or configuration files to examine, etc.

- In the "Push to Another Repository" dialog, the fields URI/Host/Path/Protocol/Port/User are presented. When I copy-and-paste the URI from the git provider, some of these fields are filed in, and others not. Which of the others are required (e.g. protocol)?
Does "password" mean "passphrase" of the private rsa key or "password" of the remote account? In ssh, I would assume the remote account password is irrelevant. 
Should fields that are not relevant once a protocol is selected be disabled?
I notice a slight difference in syntax between the string copied from the git site (git@github.com:username/test.git) and the resulting string in the URI (git@github.com/username/test.git) after it is copied and ssh has been selected as protocol. Does the change in ':' to '/' matter?

Reproducible: Always