BTW, the following patch resolves my compile errors, but not sure if the 
cast to (Item) is the best choice.

diff --git a/src/test/java/hudson/plugins/git/GitSCMTest.java 
b/src/test/java/hudson/plugins/git/GitSCMTest.java
index 3a14b10..a39e60c 100644
--- a/src/test/java/hudson/plugins/git/GitSCMTest.java
+++ b/src/test/java/hudson/plugins/git/GitSCMTest.java
@@ -1203,7 +1203,7 @@
                                 false, 
Collections.<SubmoduleConfig>emptyList(),
                                 browser, null, null);
         p.setScm(scm);
-        configRoundtrip(p);
+        configRoundtrip((Item)p);
         assertEqualDataBoundBeans(scm,p.getScm());
         assertEquals("Wrong key", "git " + url, scm.getKey());
     }
@@ -1215,7 +1215,7 @@
         FreeStyleProject p = createFreeStyleProject();
         GitSCM scm = new GitSCM("https://github.com/jenkinsci/jenkins";);
         p.setScm(scm);
-        configRoundtrip(p);
+        configRoundtrip((Item)p);
         assertEqualDataBoundBeans(scm,p.getScm());
     }
 


On Wednesday, December 30, 2015 at 10:29:37 AM UTC-7, Michael Giroux wrote:
>
> Not making any changes to code, just trying to examine primary project 
> source to understand what is being changed in the PRs.
> I cloned the primary git repo from 
> https://github.com/jenkinsci/git-plugin.git so I could get some context 
> for the PRs which show only the code being changed.  Getting compile errors 
> on unmodified project.
>
> Eclipse version 4.5 (Mars), JDK  1.8.0 (also tried JDK 1.7.0)
>
>
> On Wednesday, December 30, 2015 at 9:53:36 AM UTC-7, Mark Waite wrote:
>>
>> Don't attempt to evaluate the two pull requests in the same repository.  
>> They are two different ideas that might meet your need.  I suspect that one 
>> or the other will eventually be merged, but not both.
>>
>> Mark Waite
>>
>> On Wed, Dec 30, 2015 at 7:21 AM Michael Giroux <[email protected]> wrote:
>>
>>> Mark, I'm taking a look at the two pull requests.  I cloned the repo so 
>>> I can view code in Eclipse, but I'm getting compile errors in 
>>> GitSCMTest.java:
>>>
>>> Description Resource Path Location Type
>>> The method configRoundtrip(FreeStyleProject) is ambiguous for the type 
>>> GitSCMTest GitSCMTest.java /git/src/test/java/hudson/plugins/git line 
>>> 1206 Java Problem
>>>
>>> Suggestions?
>>>
>>> Michael
>>>
>>> On Tuesday, December 29, 2015 at 10:47:14 PM UTC-7, Mark Waite wrote:
>>>
>>>> There is a pending pull request to the git plugin which provides a new 
>>>> environment variable, GIT_SHORT_BRANCH_NAME.  The semantics of that 
>>>> proposed environment variable are not quite what you're describing, but 
>>>> you 
>>>> might review the pull request to see if it is close enough for your use 
>>>> case.  See https://github.com/jenkinsci/git-plugin/pull/347 and 
>>>> https://github.com/jenkinsci/git-plugin/pull/304 for two different 
>>>> possibilities.
>>>>
>>>> Mark Waite
>>>>
>>>> On Tue, Dec 29, 2015 at 8:36 PM Michael Giroux <[email protected]> 
>>>> wrote:
>>>>
>>> Yes.  
>>>>>
>>>>> The issue I'm describing is a result of using the Git Parameter plugin 
>>>>> which allows the user to select a branch, + the Git plugin which allows 
>>>>> configuration of the branch to build and the local branch name, + maven 
>>>>> release plugin which relies on local branch name for push to remote + 
>>>>> Stash 
>>>>> Webhook to Jenkins with triggers a build of any arbitrary branch.
>>>>>
>>>>> I will admit that one solution is to create two jobs in Jenkins to 
>>>>> allow building of any arbitrary branch as triggered by the Stash web hook 
>>>>> for jenkins, and a second job that is configured to build a branch 
>>>>> specified by user supplied parameter values.  
>>>>>
>>>>> The problem occurs when when attempting to configure a single jenkins 
>>>>> build that allows for manual specification of branch via the Git 
>>>>> parameter, 
>>>>> and builds kicked off by the Stash web hook to jenkins.
>>>>>
>>>>> 1. to allow the jenkins web hook to initiate a build, it is necessary 
>>>>> to configure the build to build any branch (leaving branch to build as 
>>>>> blank).
>>>>> 2. to allow a maven release to build, you MUST specify a local branch 
>>>>> name.  Otherwise, the push to stash fails the build does not have a local 
>>>>> branch name.
>>>>> 3. To meet condittion #1, the default value for the Git parameter must 
>>>>> be "**" so that the branch to build is ANY (** or empty)
>>>>>
>>>>> So basically, the issue is that if a build is configured to build any 
>>>>> branch, and also has maven release configured, you need some way to get 
>>>>> the 
>>>>> code checked out to a local branch (additional behaviors) with the same 
>>>>> name as the branch being built, and there is currently no way to do that.
>>>>>
>>>>> I tried to put "${GIT_BRANCH/*\//}" into the "checkout to local 
>>>>> branch" but this did not work.  It seems this field does not resolve 
>>>>> environment variable references using full bash variable reference 
>>>>> notation.  Perhaps this is the solution.  Extend the "checkout to local 
>>>>> branch" to provide full bash resolution of the variable name.
>>>>>
>>>>>
>>>>> On Tuesday, December 29, 2015 at 10:03:25 AM UTC-7, Michael Giroux 
>>>>> wrote:
>>>>>>
>>>>>> Using Jenkins 1.609.3, Git plugin 2.4.0.
>>>>>>
>>>>>> We have configured most of our jobs to allow jobs to be initiated by 
>>>>>> the Stash Webhook to Jenkins.  To allow developers to manually initiate 
>>>>>> a 
>>>>>> build of any branch, the jobs use the Git Parameter to set a BRANCH 
>>>>>> variable.
>>>>>>
>>>>>> Using this configuration, the Git Parameter is configured to set "**" 
>>>>>> as the default branch to build.  This allows the Stash Webhook to 
>>>>>> initiate 
>>>>>> a build of any branch.  In order to allow the job to perform a maven 
>>>>>> release, we have configured the Git SCM to checkout to local branch 
>>>>>> "master".  This all works well as long as we are not doing a maven 
>>>>>> release, 
>>>>>> or when we do a maven release on the master branch.  The strategy breaks 
>>>>>> down if the developer attempts a maven release on another branch when 
>>>>>> the 
>>>>>> maven release:prepare goal tries to push pom updates.  Note that the 
>>>>>> maven 
>>>>>> release plugin uses the current local branch in the push as "git push 
>>>>>> url 
>>>>>> localBranch:localBranch"  As a result, when the build is for 
>>>>>> "some_branch" 
>>>>>> which has been checked out to local branch "master" we get an error on 
>>>>>> "git 
>>>>>> push ... master:master" because the remote "master" is not in sync with 
>>>>>> the 
>>>>>> local.  No surprises here since the local "master" is actually 
>>>>>> "some_branch".
>>>>>>
>>>>>> To resolve this, we have deleted the "checkout to local branch" 
>>>>>> additional action, and added a pre-build step that does the following:'
>>>>>> # checkout to a local branch using the remote branch name
>>>>>> LOCAL_GIT_BRANCH=${GIT_BRANCH/*\//}
>>>>>> git rev-parse --quiet --verify ${LOCAL_GIT_BRANCH} && git branch -D 
>>>>>> ${LOCAL_GIT_BRANCH}
>>>>>> git checkout -b ${LOCAL_GIT_BRANCH} ${GIT_COMMIT}
>>>>>>
>>>>>> With this in place, the build checks the code out to a local branch 
>>>>>> with the same name as the remote branch allowing the maven 
>>>>>> release:prepare 
>>>>>> goal to push changes to the branch that is being build.
>>>>>>
>>>>>> NOTE that we have tried to configure the "checkout to local branch" 
>>>>>> using the property that is configured by the Git ($BRANCH) but that 
>>>>>> results 
>>>>>> in local branch names of "origin/master", "origin/some_branch", ...  
>>>>>> This 
>>>>>> results in release:prepare doing pushes as "git push ... 
>>>>>> origin/some_branch:origin/some_branch" which results in a new remote 
>>>>>> branch 
>>>>>> named "origin/some_branch"  We have seen repos with branches named 
>>>>>> "origin/master".  As a result, the desired branch is not updated, and a 
>>>>>> new 
>>>>>> branch is created.
>>>>>>
>>>>>> QUESTION/SUGGESTION/...
>>>>>> It would be nice to have an option in the Git plugin to "checkout to 
>>>>>> local branch" that derives the local branch name from the remote branch 
>>>>>> name, without having to add our pre-build step.  Thus, if I select 
>>>>>> "origin/some_branch" from the Git parameter, I could checkout to local 
>>>>>> branch using the Git Parameter $BRANCH which would resolve to 
>>>>>> "some_branch" 
>>>>>> sans the "origin/" prefix.
>>>>>>
>>>>>> Steps to Reproduce:
>>>>>> 1. configure a parameterized job with a git parameter using "BRANCH" 
>>>>>> as the parameter name
>>>>>> 2. configure the Git scm additional behavour to checkout to local 
>>>>>> branch "$BRANCH"
>>>>>> 3. configure job with as a maven release.
>>>>>> 4. perform a maven releae, selecting one of the branches from the 
>>>>>> list of Git Parameter options.
>>>>>> 5. observe console output to examine the "git push" commands 
>>>>>> generated by the release:prepare goal.
>>>>>>
>>>>>>
>>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Jenkins Users" group.
>>>>>
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>
>>>>
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/jenkinsci-users/37f6bc2d-d43e-44ff-a877-c525e5007842%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/jenkinsci-users/37f6bc2d-d43e-44ff-a877-c525e5007842%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/cbaf764b-e3d9-480e-980c-23b772fd4a43%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/jenkinsci-users/cbaf764b-e3d9-480e-980c-23b772fd4a43%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/25050720-c0f3-465d-bc83-4d191c1c7bf6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to