gvalkov / jenkins-autojobs

Automatically create Jenkins jobs from template jobs and branches in a SCM repository
http://jenkins-autojobs.rtfd.org
Other
49 stars 39 forks source link

Compatibility with mercurial plugin 1.50, filtering hg branches by age #20

Closed ThomasMatern closed 9 years ago

ThomasMatern commented 10 years ago

Hi

The mercurial plugin v1.50 stores the branch in a different place, my fix should work for both versions Also, I needed a way for ignore old branches and added a 'maxbranchage' field to the yaml file which specifies the max allowed age of the last commit to any branch in days. Set to 0 to get all branches.

gvalkov commented 10 years ago

Thank you for contributing this - I have been neglecting the mercurial plugin lately, to be honest. I'll try to get this reviewed and merged by the end of the week.

gvalkov commented 10 years ago

Hello.

I merged the plugin fix, but I'm having some reservations for the max_brach_age feature:

  1. peer.local() may return None which breaks hg_branch_iter_remote().
  2. No support for max_branch_age in hg_branch_iter_local().
  3. No tests. See tests_hg.py and development.
  4. No documentaton. See doc/yaml-config.jinja2 and doc/hg-config.yaml.jinja2.

I would be willing to do 3 and 4 provided that you take care of 1 and 2.

Regards, Georgi

ThomasMatern commented 10 years ago

Hi Georgi

I will have a look at 1. and come up with a fix.

With regards to 2.: the hg_branch_iter_local() is broken anyway - it doesn't support the 'python' parameter that is passed to it by list_branches. The sample config file is using something like "file:////path/to/repo" which is not a file and always runs through hg_branch_iter_remote. I did not find a nice way to query the branch age through the hg command line without invoking it for each branch. Maybe we should drop support for hg_branch_iter_local and always use the file:/// notation?

Cheers Thomas

On Fri, Sep 19, 2014 at 10:48 AM, Georgi Valkov notifications@github.com wrote:

Hello.

I merged the plugin fix, but I'm having some reservations for the max_brach_age feature:

  1. peer.local() may return None which breaks hg_branch_iter_remote().
  2. No support for max_branch_age in hg_branch_iter_local().
  3. No tests. See tests_hg.py https://github.com/gvalkov/jenkins-autojobs/blob/master/tests/test_hg.py and development http://jenkins-autojobs.readthedocs.org/en/latest/devel.html.
  4. No documentaton. See doc/yaml-config.jinja2 https://github.com/gvalkov/jenkins-autojobs/blob/master/doc/yaml-config.jinja2 and doc/hg-config.yaml.jinja2 https://github.com/gvalkov/jenkins-autojobs/blob/master/doc/hg-config.yaml.jinja2 .

I would be willing to do 3 and 4 provided that you take care of 1 and 2.

Regards, Georgi

— Reply to this email directly or view it on GitHub https://github.com/gvalkov/jenkins-autojobs/pull/20#issuecomment-56114491 .

gvalkov commented 9 years ago

Hello @ThomasMatern,

Any luck with regard to the first issue? I can't seem to find a way to fetch the branch age if the repositry isn't local. I carried your work over to b49224f5e7b66cf6244fda5aa6cdc5a243826be3, but this issue is a show-stopper for now.

Thanks, G.

ThomasMatern commented 9 years ago

Hi @gvalkov

Sorry for the bad news but I have 'fixed' this in a very different way - I left the company I was working for and nobody has picked this up.

Cheers Thomas