Studio should save my username/password (similar to SVN) so that I'm not always prompted to re-enter my credentials.
|
940 KB
I think we should discuss and decide where/how to store the following Git credential info: user.name/user.email (used for commit author), and remote URL username/passwords (remote operations: fetch, pull, push, etc.). Current implementation stores user.name/user.email in mount point (not the "standard" way) and does not store username/passwords per remote URL. This page: http://git-scm.com/docs/git-config#FILES specifies the Git config files and their usages for user.name/user.email. Here are two new proposals:
1. Move user.name/user.email from mount point to Git local config file (i.e. in <repo>/.git/config). Store Git username/password (one per remote URL) in mount point.
2. Similar to Atlassian's SourceTree, add a check box: "Allow ADS to modify your global Git configuration files". If checked, store user.name/user.email in Git global config file (i.e. in ~/.gitconfig). Store Git username/password (one per remote URL) in mount point.
I think #2 is more comparable to other Git tools. However, we'll have to migrate existing ADS Git users' name/email properties from mount point to ~/.gitconfig which could be tricky.
Thoughts?
The config for each mount should be self contained in one file as it currently is.
The config for each mount should be self contained in one file as it currently is.
I have attached a screen shot on how SourceTree handles Author name/email in .gitconfig. Note that these are used for commit commands (which is different from remote log in). Perhaps we can put these two attributes in ADS's File->Options->Version Control->Git section.
I have attached a screen shot on how SourceTree handles Author name/email in .gitconfig. Note that these are used for commit commands (which is different from remote log in). Perhaps we can put these two attributes in ADS's File->Options->Version Control->Git section.
ADS->File->Options->Version Control->Git now shows/saves the [user] section of the Git user config file (i.e. ~/.gitconfig), which should also reflect the latest values in user config file if it is edited externally. Note that internally, the jGit library still uses Git config files and does not use ADS's options values.
ADS->File->Options->Version Control->Git now shows/saves the [user] section of the Git user config file (i.e. ~/.gitconfig), which should also reflect the latest values in user config file if it is edited externally. Note that internally, the jGit library still uses Git config files and does not use ADS's options values.
Verified using ADStudio 14 Dev 11, the username and password are retained when using an HTTPS remote.
Other issues regarding this should be added separately.
The new options modify the Git config file as expected.
However, reopening this issue for the bellow typos regarding the added options value:
* the description for the "Full Name" option is missing a right parenthesis and a final dot (a dot seems to be used in case of the descriptions from the other options)
* the name for the "Email address" option should be "Email Address" (the other names seem to respect this rule of capitalizing the first letter of each word if it's not a linking word); the final dot in the descriptor is missing as above
Verified using ADStudio 14 Dev 11, the username and password are retained when using an HTTPS remote.
Other issues regarding this should be added separately.
The new options modify the Git config file as expected.
However, reopening this issue for the bellow typos regarding the added options value:
* the description for the "Full Name" option is missing a right parenthesis and a final dot (a dot seems to be used in case of the descriptions from the other options)
* the name for the "Email address" option should be "Email Address" (the other names seem to respect this rule of capitalizing the first letter of each word if it's not a linking word); the final dot in the descriptor is missing as above
Issue #8092 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
No fixed build |
No time estimate |
I think we should discuss and decide where/how to store the following Git credential info: user.name/user.email (used for commit author), and remote URL username/passwords (remote operations: fetch, pull, push, etc.). Current implementation stores user.name/user.email in mount point (not the "standard" way) and does not store username/passwords per remote URL. This page: http://git-scm.com/docs/git-config#FILES specifies the Git config files and their usages for user.name/user.email. Here are two new proposals:
1. Move user.name/user.email from mount point to Git local config file (i.e. in <repo>/.git/config). Store Git username/password (one per remote URL) in mount point.
2. Similar to Atlassian's SourceTree, add a check box: "Allow ADS to modify your global Git configuration files". If checked, store user.name/user.email in Git global config file (i.e. in ~/.gitconfig). Store Git username/password (one per remote URL) in mount point.
I think #2 is more comparable to other Git tools. However, we'll have to migrate existing ADS Git users' name/email properties from mount point to ~/.gitconfig which could be tricky.
Thoughts?