A basic question about Hudson and Subversion when having many branches

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

A basic question about Hudson and Subversion when having many branches

Kevin Wu
Hi folks,

I have a trunk and many branches.

I want a single Hudson job to control all these things, instead of creating one job for each branch, not to mention the fact that the number of branches will increase in the future.

The most important thing is, when branch A is changed and updated, I want Hudson only to build branch A, not all branches and trunk.

In a word: how can I make Hudson discriminate which directory has been changed and run the corresponding script?
How to implement this?
--
Best wishes,
Kevin Wu
Reply | Threaded
Open this post in threaded view
|

Re: A basic question about Hudson and Subversion when having many branches

Srinivas Naresh Bhimisetty
Not sure how much work it is, but may be you'll have to extend the Subversion SCM plugin and the Poll SCM plugin.

- Naresh

On Fri, Jul 16, 2010 at 8:01 AM, Kevin Wu <[hidden email]> wrote:
Hi folks,

I have a trunk and many branches.

I want a single Hudson job to control all these things, instead of creating one job for each branch, not to mention the fact that the number of branches will increase in the future.

The most important thing is, when branch A is changed and updated, I want Hudson only to build branch A, not all branches and trunk.

In a word: how can I make Hudson discriminate which directory has been changed and run the corresponding script?
How to implement this?
--
Best wishes,
Kevin Wu

Reply | Threaded
Open this post in threaded view
|

Re: A basic question about Hudson and Subversion when having many branches

Paul Weiss-2
I'd say its a lot more work than that.  The issue is that you need to be  
able to maintain workspaces for each branch.

What I'd sort of like is like a job macro.  It would be like a regular  
parameterized job, except that one parameter would be designated as a  
"branch parameter" and would take on a number of pre-configured values  
(e.g. trunk, branches/release/V1-1, branches/sandbox/job).  Hudson, would  
essentially translated this into one job for each value of the branch  
parameter, will separate polling, separate workspace, etc.

It would be similar to a matrix job, except for the fact that it would  
need to maintain separate workspaces and polling schedule.

-P

On Fri, 16 Jul 2010 03:03:57 -0400, Srinivas Naresh Bhimisetty  
<[hidden email]> wrote:

> Not sure how much work it is, but may be you'll have to extend the
> Subversion SCM plugin and the Poll SCM plugin.
>
> - Naresh
>
> On Fri, Jul 16, 2010 at 8:01 AM, Kevin Wu <[hidden email]> wrote:
>
>> Hi folks,
>>
>> I have a trunk and many branches.
>>
>> I want a single Hudson job to control all these things, instead of  
>> creating
>> one job for each branch, not to mention the fact that the number of  
>> branches
>> will increase in the future.
>>
>> The most important thing is, when branch A is changed and updated, I  
>> want
>> Hudson only to build branch A, not all branches and trunk.
>>
>> In a word: how can I make Hudson discriminate which directory has been
>> changed and run the corresponding script?
>> How to implement this?
>> --
>> Best wishes,
>> Kevin Wu

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

Reply | Threaded
Open this post in threaded view
|

Re: A basic question about Hudson and Subversion when having many branches

stephenconnolly
I have an idea of how to solve this issue.... but no time to implement it!

On 16 July 2010 13:47, Paul G. Weiss <[hidden email]> wrote:
I'd say its a lot more work than that.  The issue is that you need to be able to maintain workspaces for each branch.

What I'd sort of like is like a job macro.  It would be like a regular parameterized job, except that one parameter would be designated as a "branch parameter" and would take on a number of pre-configured values (e.g. trunk, branches/release/V1-1, branches/sandbox/job).  Hudson, would essentially translated this into one job for each value of the branch parameter, will separate polling, separate workspace, etc.

It would be similar to a matrix job, except for the fact that it would need to maintain separate workspaces and polling schedule.

-P


On Fri, 16 Jul 2010 03:03:57 -0400, Srinivas Naresh Bhimisetty <[hidden email]> wrote:

Not sure how much work it is, but may be you'll have to extend the
Subversion SCM plugin and the Poll SCM plugin.

- Naresh

On Fri, Jul 16, 2010 at 8:01 AM, Kevin Wu <[hidden email]> wrote:

Hi folks,

I have a trunk and many branches.

I want a single Hudson job to control all these things, instead of creating
one job for each branch, not to mention the fact that the number of branches
will increase in the future.

The most important thing is, when branch A is changed and updated, I want
Hudson only to build branch A, not all branches and trunk.

In a word: how can I make Hudson discriminate which directory has been
changed and run the corresponding script?
How to implement this?
--
Best wishes,
Kevin Wu

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


Reply | Threaded
Open this post in threaded view
|

Re: A basic question about Hudson and Subversion when having many branches

Paul Weiss-2
On Fri, 16 Jul 2010 09:20:14 -0400, Stephen Connolly  
<[hidden email]> wrote:

> I have an idea of how to solve this issue.... but no time to implement  
> it!
>

Can you sketch out your idea?
-P


> On 16 July 2010 13:47, Paul G. Weiss <[hidden email]> wrote:
>
>> I'd say its a lot more work than that.  The issue is that you need to be
>> able to maintain workspaces for each branch.
>>
>> What I'd sort of like is like a job macro.  It would be like a regular
>> parameterized job, except that one parameter would be designated as a
>> "branch parameter" and would take on a number of pre-configured values  
>> (e.g.
>> trunk, branches/release/V1-1, branches/sandbox/job).  Hudson, would
>> essentially translated this into one job for each value of the branch
>> parameter, will separate polling, separate workspace, etc.
>>
>> It would be similar to a matrix job, except for the fact that it would  
>> need
>> to maintain separate workspaces and polling schedule.
>>
>> -P
>>
>>
>> On Fri, 16 Jul 2010 03:03:57 -0400, Srinivas Naresh Bhimisetty <
>> [hidden email]> wrote:
>>
>>  Not sure how much work it is, but may be you'll have to extend the
>>> Subversion SCM plugin and the Poll SCM plugin.
>>>
>>> - Naresh
>>>
>>> On Fri, Jul 16, 2010 at 8:01 AM, Kevin Wu <[hidden email]>  
>>> wrote:
>>>
>>>  Hi folks,
>>>>
>>>> I have a trunk and many branches.
>>>>
>>>> I want a single Hudson job to control all these things, instead of
>>>> creating
>>>> one job for each branch, not to mention the fact that the number of
>>>> branches
>>>> will increase in the future.
>>>>
>>>> The most important thing is, when branch A is changed and updated, I  
>>>> want
>>>> Hudson only to build branch A, not all branches and trunk.
>>>>
>>>> In a word: how can I make Hudson discriminate which directory has been
>>>> changed and run the corresponding script?
>>>> How to implement this?
>>>> --
>>>> Best wishes,
>>>> Kevin Wu
>>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>

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

Reply | Threaded
Open this post in threaded view
|

Re: A basic question about Hudson and Subversion when having many branches

stephenconnolly
It would be like a matrix project only with just one axis which is the SCM details

On 21 July 2010 12:22, Paul G. Weiss <[hidden email]> wrote:
On Fri, 16 Jul 2010 09:20:14 -0400, Stephen Connolly <[hidden email]> wrote:

I have an idea of how to solve this issue.... but no time to implement it!


Can you sketch out your idea?
-P



On 16 July 2010 13:47, Paul G. Weiss <[hidden email]> wrote:

I'd say its a lot more work than that.  The issue is that you need to be
able to maintain workspaces for each branch.

What I'd sort of like is like a job macro.  It would be like a regular
parameterized job, except that one parameter would be designated as a
"branch parameter" and would take on a number of pre-configured values (e.g.
trunk, branches/release/V1-1, branches/sandbox/job).  Hudson, would
essentially translated this into one job for each value of the branch
parameter, will separate polling, separate workspace, etc.

It would be similar to a matrix job, except for the fact that it would need
to maintain separate workspaces and polling schedule.

-P


On Fri, 16 Jul 2010 03:03:57 -0400, Srinivas Naresh Bhimisetty <
[hidden email]> wrote:

 Not sure how much work it is, but may be you'll have to extend the
Subversion SCM plugin and the Poll SCM plugin.

- Naresh

On Fri, Jul 16, 2010 at 8:01 AM, Kevin Wu <[hidden email]> wrote:

 Hi folks,

I have a trunk and many branches.

I want a single Hudson job to control all these things, instead of
creating
one job for each branch, not to mention the fact that the number of
branches
will increase in the future.

The most important thing is, when branch A is changed and updated, I want
Hudson only to build branch A, not all branches and trunk.

In a word: how can I make Hudson discriminate which directory has been
changed and run the corresponding script?
How to implement this?
--
Best wishes,
Kevin Wu


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


Reply | Threaded
Open this post in threaded view
|

Re: A basic question about Hudson and Subversion when having many branches

GLundh
In reply to this post by Paul Weiss-2
Paul G. Weiss wrote
I'd say its a lot more work than that.  The issue is that you need to be  
able to maintain workspaces for each branch.

What I'd sort of like is like a job macro. It would be like a regular  
parametrized job, except that one parameter would be designated as a  
"branch parameter" and would take on a number of pre-configured values  
(e.g. trunk, branches/release/V1-1, branches/sandbox/job).  Hudson, would  
essentially translated this into one job for each value of the branch  
parameter, will separate polling, separate workspace, etc.

It would be similar to a matrix job, except for the fact that it would  
need to maintain separate workspaces and polling schedule.

-P
We had a very similar idea, that I started looking at/implementing a few months ago, but it was put on halt for two reasons:

1. New requirements to allow fully separate configurations per branch. Due to this issue, It was far more convenient to just use the Nested View Plugin to sort jobs for various branches and use Groovy scripts to setup/rename new projects when new branches was introduced.

2. We had to deal with other more prioritized stuff.

But I'm glad to share our ideas and some screenshots (the current code is incomplete and was on a more proof-of-concept status, so it's really no use of sharing it).

The work was focused on a new project type, where you could define one (or several) parameters which was used to create new subprojects "on-the-fly" to help sorting and separating stats.

Eg:

0. Parameterized build scheduled

1. Expand "Filter parameters".

2. Look-up SubProject tied to that parameter.

3. If SubProject does not exists -> Create one.

4. Execute SubProject.

Maybe some screens better can explain the approach:









Br
Gustaf Lundh - Sony Ericsson