You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Peter Hansson (JIRA)" <ji...@apache.org> on 2016/05/30 19:40:13 UTC

[jira] [Updated] (SCM-826) Allow multiple identities on same SCM host

     [ https://issues.apache.org/jira/browse/SCM-826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Hansson updated SCM-826:
------------------------------
    Description: 
It is no longer uncommon for a developer to have several identities on a single SCM host (just think of sites such as GitHub and BitBucket).

The current scheme for centralizing credentials is to put them in settings.xml and then Maven SCM Plugin will match the host name in {{<scm>}} section of the POM with the {{<id>}} section from {{<server>}} in settings.xml.

As far as I know (pretty much undocumented) this scheme will currently only work for a single identity at the VCS host.

My proposal is to expand on the current scheme so that it will allow some form of *longest match* which would include a potential prefixed username in the SCM URL  (e.g. john@github.com) or matching on the URL path (github.com/apache rather than just matching on the hostname itself).

Here's an example of how I envisage it:

{code:xml}
<settings>
  <servers>
    <!-- Would match any GitHub URL with user1 prefixed in URL -->
    <server>
      <id>user1@github.com</id>
      <username>user1</username>
      <password>mysecret</password>
    </server>

    <!-- Would match any GitHub URL with user2 prefixed in URL -->
    <server>
      <id>user2@github.com</id>
      <username>user2</username>
      <password>mysecret</password>
    </server>

    <!-- Would match URLs from host github.com where path 
           is 'apache' and also user2 is prefixed in URL -->
    <server>
      <id>user2@github.com/apache</id>
      <username>user2</username>
      <password>mysecret</password>
    </server>

    <!-- default -->
    <server>
      <id>github.com</id>
      <username>user1</username>
      <password>mysecret</password>
    </server>
{code}

This enhancement would be completely backwards compatible, is simple to implement and will solve a lot of use cases in one go.



  was:
It is no longer uncommon for a developer to have several identities on a single VCS (just think of sites such as GitHub and BitBucket).

The current scheme for centralizing credentials is to put them in settings.xml and then Maven SCM Plugin will match the host name in {{<scm>}} section of the POM with the {{<id>}} section from {{<server>}} in settings.xml.

As far as I know (pretty much undocumented) this scheme will currently only work for a single identity at the VCS host.

My proposal is to expand on the current scheme so that it will allow some form of *longest match* which would include a potential prefixed username in the SCM URL  (e.g. john@github.com) or matching on the URL path (github.com/apache rather than just matching on the hostname itself).

Here's an example of how I envisage it:

{code:xml}
<settings>
  <servers>
    <!-- Would match any GitHub URL with user1 prefixed in URL -->
    <server>
      <id>user1@github.com</id>
      <username>user1</username>
      <password>mysecret</password>
    </server>

    <!-- Would match any GitHub URL with user2 prefixed in URL -->
    <server>
      <id>user2@github.com</id>
      <username>user2</username>
      <password>mysecret</password>
    </server>

    <!-- Would match URLs from host github.com where path 
           is 'apache' and also user2 is prefixed in URL -->
    <server>
      <id>user2@github.com/apache</id>
      <username>user2</username>
      <password>mysecret</password>
    </server>

    <!-- default -->
    <server>
      <id>github.com</id>
      <username>user1</username>
      <password>mysecret</password>
    </server>
{code}

This enhancement would be completely backwards compatible, is simple to implement and will solve a lot of use cases in one go.



        Summary: Allow multiple identities on same SCM host  (was: Allow multiple identities on same VCS)

> Allow multiple identities on same SCM host
> ------------------------------------------
>
>                 Key: SCM-826
>                 URL: https://issues.apache.org/jira/browse/SCM-826
>             Project: Maven SCM
>          Issue Type: Improvement
>          Components: maven-plugin
>            Reporter: Peter Hansson
>
> It is no longer uncommon for a developer to have several identities on a single SCM host (just think of sites such as GitHub and BitBucket).
> The current scheme for centralizing credentials is to put them in settings.xml and then Maven SCM Plugin will match the host name in {{<scm>}} section of the POM with the {{<id>}} section from {{<server>}} in settings.xml.
> As far as I know (pretty much undocumented) this scheme will currently only work for a single identity at the VCS host.
> My proposal is to expand on the current scheme so that it will allow some form of *longest match* which would include a potential prefixed username in the SCM URL  (e.g. john@github.com) or matching on the URL path (github.com/apache rather than just matching on the hostname itself).
> Here's an example of how I envisage it:
> {code:xml}
> <settings>
>   <servers>
>     <!-- Would match any GitHub URL with user1 prefixed in URL -->
>     <server>
>       <id>user1@github.com</id>
>       <username>user1</username>
>       <password>mysecret</password>
>     </server>
>     <!-- Would match any GitHub URL with user2 prefixed in URL -->
>     <server>
>       <id>user2@github.com</id>
>       <username>user2</username>
>       <password>mysecret</password>
>     </server>
>     <!-- Would match URLs from host github.com where path 
>            is 'apache' and also user2 is prefixed in URL -->
>     <server>
>       <id>user2@github.com/apache</id>
>       <username>user2</username>
>       <password>mysecret</password>
>     </server>
>     <!-- default -->
>     <server>
>       <id>github.com</id>
>       <username>user1</username>
>       <password>mysecret</password>
>     </server>
> {code}
> This enhancement would be completely backwards compatible, is simple to implement and will solve a lot of use cases in one go.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)