maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Hansson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (SCM-826) Allow multiple identities on same VCS
Date Sun, 29 May 2016 07:08:12 GMT
Peter Hansson created SCM-826:
---------------------------------

             Summary: Allow multiple identities on same VCS
                 Key: SCM-826
                 URL: https://issues.apache.org/jira/browse/SCM-826
             Project: Maven SCM
          Issue Type: Improvement
          Components: maven-scm-api
            Reporter: Peter Hansson


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 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)

Mime
View raw message