maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hervé BOUTEMY <herve.bout...@free.fr>
Subject Re: What is the correct Git SCM URL for a branch?
Date Sat, 24 Aug 2013 14:49:48 GMT
I made some research and tests and here are my findings

for the scm url, ie. web access like we have ViewVC url for svn, git provides 
GitWeb equivalent to ViewVC (even if a lot of other solutions exist [1]), 
which is what is configured on Apache git http
Then the GitWeb url format is in the git documentation [2]

With this format, you can refer to branches, tags and revisions, like 
following examples:

branches:
  HEAD:
    https://git-wip-us.apache.org/repos/asf/maven.git/tree/HEAD
  maven-3.0.x:
    https://git-wip-us.apache.org/repos/asf/maven.git/tree/heads/maven-3.0.x
  maven-2.2.x:
    https://git-wip-us.apache.org/repos/asf/maven.git/tree/heads/maven-2.2.x

tags:
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/tags/maven-3.1.0
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/tags/maven-3.0.5
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/tags/maven-2.2.1

revisions: (same examples as previous tags)
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/5a0e6574404b4964522d90c3438e25574a95466c
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/fbdd91ba01387485598935fe7d340261239e6a31
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/238f83f8230b1e0ad3239ca7e4f849591331c801


>From the GitWeb url format documentation [2], we should be able to navigate 
into the reporitory directories by ading ":/<path>", but it fails on Apache 
GitWeb installation:
  https://git-wip-us.apache.org/repos/asf/maven.git/tree/HEAD:/maven-core
it works on Git's GitWeb installation
  http://repo.or.cz/w/git.git/tree/tags/v1.8.2:/gitweb

I don't know why Apache GitWeb is failing: previous version? some 
configuration?
I know that even if the feature worked, this wouldn't permit us to let Maven 
calculate automatically child scm url from parent, since the format requires 
':/' to be added for the first directory:
  http://repo.or.cz/w/git.git/tree/tags/v1.8.2
  http://repo.or.cz/w/git.git/tree/tags/v1.8.2:/gitweb
For actuel Maven to correctly calculate the second from the first, we would 
need to write
  http://repo.or.cz/w/git.git/tree/tags/v1.8.2:
or  http://repo.or.cz/w/git.git/tree/tags/v1.8.2:/
which are both unsupported by GitWeb actually

Notice GitHub's url format works like a charm:
https://github.com/apache/maven/tree/maven-3.1.0
https://github.com/apache/maven/tree/maven-3.1.0/maven-core
https://github.com/apache/maven/tree/maven-3.0.x
https://github.com/apache/maven/tree/maven-3.0.x/maven-core


Should we configure scm url to point to GitHub mirror instead of Apache 
canonical repo?

I still didn't had a look at the way release plugin can transform branch url 
to release url during pom.xml modification: I wanted to share these findings 
first

I had some thought about scm connection and developerConnection, but it's 
another story and this mail is already quite long: we'll see it after we 
improve web access support.

Regards,

Hervé


[1] 
https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools#Web_Interfaces

[2] http://git-scm.com/docs/gitweb.html#_actions,_and_urls

Le samedi 10 août 2013 13:12:00 Dennis Lundberg a écrit :
> Hi,
> 
> I'm looking at the sources for Maven core in Git, which I'm learning
> as I go along.
> 
> "master" is at version 3.1.1-SNAPSHOT and has this in its pom.xml
>   <scm>
>    
> <connection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.git</conn
> ection>
> <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.
> git</developerConnection>
> <url>https://git-wip-us.apache.org/repos/asf?p=maven.git</url>
> <tag>HEAD</tag>
>   </scm>
> 
> The head "maven-3.0.x" is at version 3.0.6-SNAPSHOT and has this in its
> pom.xml <scm>
>    
> <connection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.git</conn
> ection>
> <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/maven.
> git</developerConnection>
> <url>https://git-wip-us.apache.org/repos/asf?p=maven.git</url>
> <tag>HEAD</tag>
>   </scm>
> 
> Since this is identical to what is in "master" I don't think this
> would work if you tried to do a release using the Release Plugin.
> Wouldn't that release what is specified in <tag> i.e. "HEAD". Now, I
> have looked through our documentation and used Google to find a
> solution, but to no avail. From what I have gathered we should change
> the value of <tag>, but to what? Would it involve
> "ref/heads/maven-3.0.x"?
> 
> The head "maven-2.2.x" is at version 2.2.2-RC1-SNAPSHOT and has this
> in its pom.xml
>   <scm>
>    
> <connection>scm:svn:http://svn.apache.org/repos/asf/maven/maven-2/branches/
> maven-2.2.x</connection>
> <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/maven-2
> /branches/maven-2.2.x</developerConnection>
> <url>http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x</url>
> </scm>
> 
> Obviously this has not been updated since the move to Git, which is
> one of the things I'm trying to fix.
> 
> Hopefully someone who has made a release using Maven Release Plugin
> from a Git branch can shed some light on this.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Mime
View raw message