Git repository for Hudson?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Git repository for Hudson?

Ken Liu
Hi Kohsuke -

I discovered today that you have created a repository on github tracking the hudson svn repo.

Could you share about this and how you are using it? Are you pushing from the github repo to the svn repository? I have only recently starting using git but am loving it, and it would be much more convenient than using the very slow svn repo on java.net.

Ken
Reply | Threaded
Open this post in threaded view
|

Re: Git repository for Hudson?

Kohsuke Kawaguchi
Administrator
Ken Liu wrote:
> Hi Kohsuke -
> I discovered today that you have created a repository on github tracking the
> hudson svn repo.
> http://github.com/kohsuke/hudson
>
> Could you share about this and how you are using it? Are you pushing from
> the github repo to the svn repository? I have only recently starting using
> git but am loving it, and it would be much more convenient than using the
> very slow svn repo on java.net.

This is a read-only git-svn tracking from the trunk of Hudson. You still
need to use Subversion for committing changes. Sorry, I know it's slow
but bare with us...

>
> Ken
>


--
Kohsuke Kawaguchi
Sun Microsystems                   http://weblogs.java.net/blog/kohsuke/

smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Git repository for Hudson?

B Smith-Mannschott
In reply to this post by Ken Liu
On Mon, Sep 14, 2009 at 09:06, Ken Liu <[hidden email]> wrote:
> Hi Kohsuke -
> I discovered today that you have created a repository on github tracking the
> hudson svn repo.
> http://github.com/kohsuke/hudson
> Could you share about this and how you are using it? Are you pushing from
> the github repo to the svn repository? I have only recently starting using
> git but am loving it, and it would be much more convenient than using the
> very slow svn repo on java.net.
> Ken

Just a random data-point.

Hudson's Subversion repository is structured in a way that makes a
conversion to git quite difficult if you want to do more than just
track the trunk.  The problem is that the trunk is one giant
mult-module build, but individual sub-modules within the trunk have
differing release cycles and version numbers, so branches and tags are
not made of the whole trunk, but rather of subtrees.git-svn has to
work *extra* *hard* trying to figure out WTF happened when importing
such a layout. (In git's model of the world, tags and branches only
every apply to the whole repository.)

The long and the short of it is: a full conversion, which I performed
a few weeks back from a local svnsync mirror of the hudson repository
took about 2 1/2 weeks on my 2.4 GHz Core2 system and uncovered a
memory leak in git-svn. (It would have gone faster if I'd killed
git-svn once a day or so and resumed again with git svn fetch.)

The resulting conversion worked, but the history is pretty messy.
(Again, because branching and tagging is not consistently of whole
codelines*, but rather mostly of subtrees.) The "solution" to this
would be to put each cohesive (wrt release and version number) subtree
into its own project*. but that would increase -- or at least make
more visible -- the configuration management overhead of grouping the
correct versions of the correct sub-modules together for each hudson
release.)

*codeline: a trunk, tag or branch
*project: a directory with the subdirectories "trunk", "tags", and "branches".

// Ben

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Git repository for Hudson?

Andrew Bayer
It'd probably be simpler to just aim at importing hudson/main as its own repository - it and its submodules are all versioned together. Things get more confusing when you start looking at tools, backend, plugins, etc, but main is all connected.

(also, go Oberlin Computer Science! =) )

A.

On Tue, Sep 15, 2009 at 3:56 AM, B Smith-Mannschott <[hidden email]> wrote:
On Mon, Sep 14, 2009 at 09:06, Ken Liu <[hidden email]> wrote:
> Hi Kohsuke -
> I discovered today that you have created a repository on github tracking the
> hudson svn repo.
> http://github.com/kohsuke/hudson
> Could you share about this and how you are using it? Are you pushing from
> the github repo to the svn repository? I have only recently starting using
> git but am loving it, and it would be much more convenient than using the
> very slow svn repo on java.net.
> Ken

Just a random data-point.

Hudson's Subversion repository is structured in a way that makes a
conversion to git quite difficult if you want to do more than just
track the trunk.  The problem is that the trunk is one giant
mult-module build, but individual sub-modules within the trunk have
differing release cycles and version numbers, so branches and tags are
not made of the whole trunk, but rather of subtrees.git-svn has to
work *extra* *hard* trying to figure out WTF happened when importing
such a layout. (In git's model of the world, tags and branches only
every apply to the whole repository.)

The long and the short of it is: a full conversion, which I performed
a few weeks back from a local svnsync mirror of the hudson repository
took about 2 1/2 weeks on my 2.4 GHz Core2 system and uncovered a
memory leak in git-svn. (It would have gone faster if I'd killed
git-svn once a day or so and resumed again with git svn fetch.)

The resulting conversion worked, but the history is pretty messy.
(Again, because branching and tagging is not consistently of whole
codelines*, but rather mostly of subtrees.) The "solution" to this
would be to put each cohesive (wrt release and version number) subtree
into its own project*. but that would increase -- or at least make
more visible -- the configuration management overhead of grouping the
correct versions of the correct sub-modules together for each hudson
release.)

*codeline: a trunk, tag or branch
*project: a directory with the subdirectories "trunk", "tags", and "branches".

// Ben

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Git repository for Hudson?

Ken Liu
In reply to this post by Kohsuke Kawaguchi
So am I correct in assuming that "hudsonSFBay" on Github is some automated process pushing changes from svn?

Ken

On Mon, Sep 14, 2009 at 4:04 PM, Kohsuke Kawaguchi <[hidden email]> wrote:
Ken Liu wrote:
> Hi Kohsuke -
> I discovered today that you have created a repository on github tracking the
> hudson svn repo.
> http://github.com/kohsuke/hudson
>
> Could you share about this and how you are using it? Are you pushing from
> the github repo to the svn repository? I have only recently starting using
> git but am loving it, and it would be much more convenient than using the
> very slow svn repo on java.net.

This is a read-only git-svn tracking from the trunk of Hudson. You still
need to use Subversion for committing changes. Sorry, I know it's slow
but bare with us...

>
> Ken
>


--
Kohsuke Kawaguchi
Sun Microsystems                   http://weblogs.java.net/blog/kohsuke/

Reply | Threaded
Open this post in threaded view
|

Re: Git repository for Hudson?

Kohsuke Kawaguchi
Administrator
Ken Liu wrote:
> So am I correct in assuming that "hudsonSFBay" on Github is some automated
> process pushing changes from svn?

Yes.

--
Kohsuke Kawaguchi
Sun Microsystems                   http://weblogs.java.net/blog/kohsuke/

smime.p7s (4K) Download Attachment