Ah! I found something:

These two runs reference the same commit 
https://github.com/apache/incubator-mxnet/pull/12615/commits/d724c8cbffb90bb4ba64397eadaa1ef667f88ccc.
 But the SCM output is different:

http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-12615/2/pipeline/980/
```
Cloning the remote Git repository

Cloning with configured refspecs honoured and without tags

Cloning repository https://github.com/apache/incubator-mxnet.git

 > git init /home/jenkins_slave/workspace/ut-clojure-cpu # timeout=10

Fetching upstream changes from https://github.com/apache/incubator-mxnet.git

 > git --version # timeout=10

using GIT_ASKPASS to set credentials 

 > git fetch --no-tags --progress https://github.com/apache/incubator-mxnet.git 
 > +refs/pull/12615/head:refs/remotes/origin/PR-12615 
 > +refs/heads/master:refs/remotes/origin/master

 > git config remote.origin.url https://github.com/apache/incubator-mxnet.git # 
 > timeout=10

 > git config --add remote.origin.fetch 
 > +refs/pull/12615/head:refs/remotes/origin/PR-12615 # timeout=10

 > git config --add remote.origin.fetch 
 > +refs/heads/master:refs/remotes/origin/master # timeout=10

 > git config remote.origin.url https://github.com/apache/incubator-mxnet.git # 
 > timeout=10

Fetching without tags

Fetching upstream changes from https://github.com/apache/incubator-mxnet.git

using GIT_ASKPASS to set credentials 

 > git fetch --no-tags --progress https://github.com/apache/incubator-mxnet.git 
 > +refs/pull/12615/head:refs/remotes/origin/PR-12615 
 > +refs/heads/master:refs/remotes/origin/master

Merging remotes/origin/master commit 7797584450186d36e52c902c3b606f4b4676e0a3 
into PR head commit d724c8cbffb90bb4ba64397eadaa1ef667f88ccc

 > git config core.sparsecheckout # timeout=10

 > git checkout -f d724c8cbffb90bb4ba64397eadaa1ef667f88ccc

 > git merge 7797584450186d36e52c902c3b606f4b4676e0a3 # timeout=10

 > git rev-parse HEAD^{commit} # timeout=10

Merge succeeded, producing d724c8cbffb90bb4ba64397eadaa1ef667f88ccc

Checking out Revision d724c8cbffb90bb4ba64397eadaa1ef667f88ccc (PR-12615)

 > git config core.sparsecheckout # timeout=10

 > git checkout -f d724c8cbffb90bb4ba64397eadaa1ef667f88ccc

Commit message: "Always use latest commit"
```

http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-12615/3/pipeline/980
```
Cloning the remote Git repository

Cloning with configured refspecs honoured and without tags

Cloning repository https://github.com/apache/incubator-mxnet.git

 > git init /home/jenkins_slave/workspace/ut-clojure-cpu # timeout=10

Fetching upstream changes from https://github.com/apache/incubator-mxnet.git

 > git --version # timeout=10

using GIT_ASKPASS to set credentials 

 > git fetch --no-tags --progress https://github.com/apache/incubator-mxnet.git 
 > +refs/pull/12615/head:refs/remotes/origin/PR-12615 
 > +refs/heads/master:refs/remotes/origin/master

 > git config remote.origin.url https://github.com/apache/incubator-mxnet.git # 
 > timeout=10

 > git config --add remote.origin.fetch 
 > +refs/pull/12615/head:refs/remotes/origin/PR-12615 # timeout=10

 > git config --add remote.origin.fetch 
 > +refs/heads/master:refs/remotes/origin/master # timeout=10

 > git config remote.origin.url https://github.com/apache/incubator-mxnet.git # 
 > timeout=10

Fetching without tags

Fetching upstream changes from https://github.com/apache/incubator-mxnet.git

using GIT_ASKPASS to set credentials 

 > git fetch --no-tags --progress https://github.com/apache/incubator-mxnet.git 
 > +refs/pull/12615/head:refs/remotes/origin/PR-12615 
 > +refs/heads/master:refs/remotes/origin/master

Merging remotes/origin/master commit 3401e6e116615730882b9bede5b6abbb51b9a547 
into PR head commit d724c8cbffb90bb4ba64397eadaa1ef667f88ccc

 > git config core.sparsecheckout # timeout=10

 > git checkout -f d724c8cbffb90bb4ba64397eadaa1ef667f88ccc

 > git merge 3401e6e116615730882b9bede5b6abbb51b9a547 # timeout=10

 > git rev-parse HEAD^{commit} # timeout=10

Merge succeeded, producing 2aeb7ad9247d0aded866fb8990572addee451c39

Checking out Revision 2aeb7ad9247d0aded866fb8990572addee451c39 (PR-12615)

 > git config core.sparsecheckout # timeout=10

 > git checkout -f 2aeb7ad9247d0aded866fb8990572addee451c39

Commit message: "Merge commit '3401e6e116615730882b9bede5b6abbb51b9a547' into 
HEAD"
```


The key difference here is that during the first run, my PRs base was the same 
as the HEAD of the master branch: 
https://github.com/apache/incubator-mxnet/commit/7797584450186d36e52c902c3b606f4b4676e0a3
 and my branch was 2 commits ahead and 0 behind. Thus, no merge was necessary 
but a simple fast-forward was applied.

During the second run, 
https://github.com/apache/incubator-mxnet/commit/3401e6e116615730882b9bede5b6abbb51b9a547
 was pushed to the master branch and thus my branch was 2 commits ahead and 1 
behind. This requires a merge commit.

This means that I don't have to make this logic conditional on whether the 
current run is part of a PR or a regular branch but rather parse the current 
contexts' HEAD and check whether it matches "Merge commit '$HASH$' into HEAD".

[ Full content available at: 
https://github.com/apache/incubator-mxnet/pull/12615 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to