<matrixRun _class='hudson.matrix.MatrixRun'><action _class='hudson.matrix.MatrixChildParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>sha1</name><value>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommit</name><value>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommitAuthor</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommitAuthorEmail</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbAuthorRepoGitUrl</name><value>https://github.com/cneira/bcc.git</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthor</name><value>Carlos Neira</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorEmail</name><value>cneirabustos@gmail.com</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorLogin</name><value>cneira</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorLoginMention</name><value>@cneira</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullId</name><value>1901</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTargetBranch</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbSourceBranch</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorEmail</name><value>cneirabustos@gmail.com</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorLogin</name><value>cneira</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorLoginMention</name><value>@cneira</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullDescription</name><value>GitHub pull request #1901 of commit 222821c8be2c3aa862ddd7e4bf2a10965ae0639f, has merge conflicts.</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullTitle</name><value>added new helper bpf_get_current_pidns_info and an example </value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullLink</name><value>https://github.com/iovisor/bcc/pull/1901</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullLongDescription</name><value>To fix issue https://github.com/iovisor/bcc/issues/1329 , I have created a new bpf helper, patch is included in the that issue. \r\nThis change is for bcc to be able to use that helper, also I created an example for this helper in tracing/examples.\r\n</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbCommentBody</name><value>@yonghong-song, to be able to use this helper, first the k\r\npatch for kernel version 4.9.115 in #1329 should be integrated in upstream. Could you take a look at the code and example provided in #1329?.\r\n\r\n@pchaigno thanks, I'll do that.</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbGhRepository</name><value>iovisor/bcc</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbCredentialsId</name><value>6d3daf13-69b8-48b1-9c8f-ec5353264113</value></parameter></action><action></action><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UpstreamCause'><shortDescription>Started by upstream project "bcc-pr" build number 605</shortDescription><upstreamBuild>605</upstreamBuild><upstreamProject>bcc-pr</upstreamProject><upstreamUrl>job/bcc-pr/</upstreamUrl></cause></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginpr2794merge _class='hudson.plugins.git.util.Build'><buildNumber>379</buildNumber><marked><SHA1>9299dd90b2ad159a0259ebc4f4247e13e53cca94</SHA1><branch><SHA1>9299dd90b2ad159a0259ebc4f4247e13e53cca94</SHA1><name>refs/remotes/origin/pr/2794/merge</name></branch></marked><revision><SHA1>9299dd90b2ad159a0259ebc4f4247e13e53cca94</SHA1><branch><SHA1>9299dd90b2ad159a0259ebc4f4247e13e53cca94</SHA1><name>refs/remotes/origin/pr/2794/merge</name></branch></revision></refsremotesoriginpr2794merge><refsremotesoriginpr2721merge _class='hudson.plugins.git.util.Build'><buildNumber>277</buildNumber><marked><SHA1>3802f7f817b2b10b7e12e3649ccbdd329fa5a2cb</SHA1><branch><SHA1>3802f7f817b2b10b7e12e3649ccbdd329fa5a2cb</SHA1><name>refs/remotes/origin/pr/2721/merge</name></branch></marked><revision><SHA1>3802f7f817b2b10b7e12e3649ccbdd329fa5a2cb</SHA1><branch><SHA1>3802f7f817b2b10b7e12e3649ccbdd329fa5a2cb</SHA1><name>refs/remotes/origin/pr/2721/merge</name></branch></revision></refsremotesoriginpr2721merge><refsremotesoriginpr2741merge _class='hudson.plugins.git.util.Build'><buildNumber>307</buildNumber><marked><SHA1>5ad0875eeb0fe50acc8b4df44723cc9f3dafc0ee</SHA1><branch><SHA1>5ad0875eeb0fe50acc8b4df44723cc9f3dafc0ee</SHA1><name>refs/remotes/origin/pr/2741/merge</name></branch></marked><revision><SHA1>5ad0875eeb0fe50acc8b4df44723cc9f3dafc0ee</SHA1><branch><SHA1>5ad0875eeb0fe50acc8b4df44723cc9f3dafc0ee</SHA1><name>refs/remotes/origin/pr/2741/merge</name></branch></revision></refsremotesoriginpr2741merge><refsremotesoriginpr2892merge _class='hudson.plugins.git.util.Build'><buildNumber>468</buildNumber><marked><SHA1>331deb0fb36dc4ade6dd259d4ff3c9aed596a486</SHA1><branch><SHA1>331deb0fb36dc4ade6dd259d4ff3c9aed596a486</SHA1><name>refs/remotes/origin/pr/2892/merge</name></branch></marked><revision><SHA1>331deb0fb36dc4ade6dd259d4ff3c9aed596a486</SHA1><branch><SHA1>331deb0fb36dc4ade6dd259d4ff3c9aed596a486</SHA1><name>refs/remotes/origin/pr/2892/merge</name></branch></revision></refsremotesoriginpr2892merge><refsremotesoriginpr2603merge _class='hudson.plugins.git.util.Build'><buildNumber>136</buildNumber><marked><SHA1>23728cf12d8ce3aef2d9f81ca3c070897f8c80a6</SHA1><branch><SHA1>23728cf12d8ce3aef2d9f81ca3c070897f8c80a6</SHA1><name>refs/remotes/origin/pr/2603/merge</name></branch></marked><revision><SHA1>23728cf12d8ce3aef2d9f81ca3c070897f8c80a6</SHA1><branch><SHA1>23728cf12d8ce3aef2d9f81ca3c070897f8c80a6</SHA1><name>refs/remotes/origin/pr/2603/merge</name></branch></revision></refsremotesoriginpr2603merge><refsremotesoriginpr2643merge _class='hudson.plugins.git.util.Build'><buildNumber>168</buildNumber><marked><SHA1>b0a01cdb85a5ff139911b10da29f0164ad707814</SHA1><branch><SHA1>b0a01cdb85a5ff139911b10da29f0164ad707814</SHA1><name>refs/remotes/origin/pr/2643/merge</name></branch></marked><revision><SHA1>b0a01cdb85a5ff139911b10da29f0164ad707814</SHA1><branch><SHA1>b0a01cdb85a5ff139911b10da29f0164ad707814</SHA1><name>refs/remotes/origin/pr/2643/merge</name></branch></revision></refsremotesoriginpr2643merge><refsremotesoriginpr3002merge _class='hudson.plugins.git.util.Build'><buildNumber>588</buildNumber><marked><SHA1>0f2f5967954cc35b1db1cafbf61a3c489c4f2699</SHA1><branch><SHA1>0f2f5967954cc35b1db1cafbf61a3c489c4f2699</SHA1><name>refs/remotes/origin/pr/3002/merge</name></branch></marked><revision><SHA1>0f2f5967954cc35b1db1cafbf61a3c489c4f2699</SHA1><branch><SHA1>0f2f5967954cc35b1db1cafbf61a3c489c4f2699</SHA1><name>refs/remotes/origin/pr/3002/merge</name></branch></revision></refsremotesoriginpr3002merge><refsremotesoriginpr2598merge _class='hudson.plugins.git.util.Build'><buildNumber>129</buildNumber><marked><SHA1>4f7cb2798b1548cee4c2b9311a9920e4db7699ee</SHA1><branch><SHA1>4f7cb2798b1548cee4c2b9311a9920e4db7699ee</SHA1><name>refs/remotes/origin/pr/2598/merge</name></branch></marked><revision><SHA1>4f7cb2798b1548cee4c2b9311a9920e4db7699ee</SHA1><branch><SHA1>4f7cb2798b1548cee4c2b9311a9920e4db7699ee</SHA1><name>refs/remotes/origin/pr/2598/merge</name></branch></revision></refsremotesoriginpr2598merge><refsremotesoriginpr2970merge _class='hudson.plugins.git.util.Build'><buildNumber>570</buildNumber><marked><SHA1>6e00c0942c3838afbed39b37c64e7dcfcf52a064</SHA1><branch><SHA1>6e00c0942c3838afbed39b37c64e7dcfcf52a064</SHA1><name>refs/remotes/origin/pr/2970/merge</name></branch></marked><revision><SHA1>6e00c0942c3838afbed39b37c64e7dcfcf52a064</SHA1><branch><SHA1>6e00c0942c3838afbed39b37c64e7dcfcf52a064</SHA1><name>refs/remotes/origin/pr/2970/merge</name></branch></revision></refsremotesoriginpr2970merge><refsremotesoriginpr2990merge _class='hudson.plugins.git.util.Build'><buildNumber>574</buildNumber><marked><SHA1>cf2ac0a831c6635b470c5d9aad6ebd4e9e06d681</SHA1><branch><SHA1>cf2ac0a831c6635b470c5d9aad6ebd4e9e06d681</SHA1><name>refs/remotes/origin/pr/2990/merge</name></branch></marked><revision><SHA1>cf2ac0a831c6635b470c5d9aad6ebd4e9e06d681</SHA1><branch><SHA1>cf2ac0a831c6635b470c5d9aad6ebd4e9e06d681</SHA1><name>refs/remotes/origin/pr/2990/merge</name></branch></revision></refsremotesoriginpr2990merge><refsremotesoriginpr2545merge _class='hudson.plugins.git.util.Build'><buildNumber>83</buildNumber><marked><SHA1>c69606c28417cd0625f269db3da79731b247c017</SHA1><branch><SHA1>c69606c28417cd0625f269db3da79731b247c017</SHA1><name>refs/remotes/origin/pr/2545/merge</name></branch></marked><revision><SHA1>c69606c28417cd0625f269db3da79731b247c017</SHA1><branch><SHA1>c69606c28417cd0625f269db3da79731b247c017</SHA1><name>refs/remotes/origin/pr/2545/merge</name></branch></revision></refsremotesoriginpr2545merge><refsremotesoriginpr2482merge _class='hudson.plugins.git.util.Build'><buildNumber>46</buildNumber><marked><SHA1>5ff59d53da54fa98c77dc2676fe208e7d6d0bad7</SHA1><branch><SHA1>5ff59d53da54fa98c77dc2676fe208e7d6d0bad7</SHA1><name>refs/remotes/origin/pr/2482/merge</name></branch></marked><revision><SHA1>5ff59d53da54fa98c77dc2676fe208e7d6d0bad7</SHA1><branch><SHA1>5ff59d53da54fa98c77dc2676fe208e7d6d0bad7</SHA1><name>refs/remotes/origin/pr/2482/merge</name></branch></revision></refsremotesoriginpr2482merge><refsremotesoriginpr2988merge _class='hudson.plugins.git.util.Build'><buildNumber>571</buildNumber><marked><SHA1>7b1918d945c43ef640fb5e2e5fe67fb9db8f3e07</SHA1><branch><SHA1>7b1918d945c43ef640fb5e2e5fe67fb9db8f3e07</SHA1><name>refs/remotes/origin/pr/2988/merge</name></branch></marked><revision><SHA1>7b1918d945c43ef640fb5e2e5fe67fb9db8f3e07</SHA1><branch><SHA1>7b1918d945c43ef640fb5e2e5fe67fb9db8f3e07</SHA1><name>refs/remotes/origin/pr/2988/merge</name></branch></revision></refsremotesoriginpr2988merge><refsremotesoriginpr3015merge _class='hudson.plugins.git.util.Build'><buildNumber>600</buildNumber><marked><SHA1>6b8a0dff152a580c52d780e77da8e09595844601</SHA1><branch><SHA1>6b8a0dff152a580c52d780e77da8e09595844601</SHA1><name>refs/remotes/origin/pr/3015/merge</name></branch></marked><revision><SHA1>6b8a0dff152a580c52d780e77da8e09595844601</SHA1><branch><SHA1>6b8a0dff152a580c52d780e77da8e09595844601</SHA1><name>refs/remotes/origin/pr/3015/merge</name></branch></revision></refsremotesoriginpr3015merge><refsremotesoriginpr2650merge _class='hudson.plugins.git.util.Build'><buildNumber>179</buildNumber><marked><SHA1>fa46c1790e6623f7ed0a1da2e93e0dfe4004952e</SHA1><branch><SHA1>fa46c1790e6623f7ed0a1da2e93e0dfe4004952e</SHA1><name>refs/remotes/origin/pr/2650/merge</name></branch></marked><revision><SHA1>fa46c1790e6623f7ed0a1da2e93e0dfe4004952e</SHA1><branch><SHA1>fa46c1790e6623f7ed0a1da2e93e0dfe4004952e</SHA1><name>refs/remotes/origin/pr/2650/merge</name></branch></revision></refsremotesoriginpr2650merge><refsremotesoriginpr2560merge _class='hudson.plugins.git.util.Build'><buildNumber>93</buildNumber><marked><SHA1>8e21e2c84f886e4d57a01e82e15a425426dd5407</SHA1><branch><SHA1>8e21e2c84f886e4d57a01e82e15a425426dd5407</SHA1><name>refs/remotes/origin/pr/2560/merge</name></branch></marked><revision><SHA1>8e21e2c84f886e4d57a01e82e15a425426dd5407</SHA1><branch><SHA1>8e21e2c84f886e4d57a01e82e15a425426dd5407</SHA1><name>refs/remotes/origin/pr/2560/merge</name></branch></revision></refsremotesoriginpr2560merge><refsremotesoriginpr2930merge _class='hudson.plugins.git.util.Build'><buildNumber>503</buildNumber><marked><SHA1>e847e7bcdeae2fea37b847ca0f0b0a94dbd460d3</SHA1><branch><SHA1>e847e7bcdeae2fea37b847ca0f0b0a94dbd460d3</SHA1><name>refs/remotes/origin/pr/2930/merge</name></branch></marked><revision><SHA1>e847e7bcdeae2fea37b847ca0f0b0a94dbd460d3</SHA1><branch><SHA1>e847e7bcdeae2fea37b847ca0f0b0a94dbd460d3</SHA1><name>refs/remotes/origin/pr/2930/merge</name></branch></revision></refsremotesoriginpr2930merge><refsremotesoriginpr2812merge _class='hudson.plugins.git.util.Build'><buildNumber>396</buildNumber><marked><SHA1>3200e9ecd1f161fab167e4a7ea022f6f55888bc1</SHA1><branch><SHA1>3200e9ecd1f161fab167e4a7ea022f6f55888bc1</SHA1><name>refs/remotes/origin/pr/2812/merge</name></branch></marked><revision><SHA1>3200e9ecd1f161fab167e4a7ea022f6f55888bc1</SHA1><branch><SHA1>3200e9ecd1f161fab167e4a7ea022f6f55888bc1</SHA1><name>refs/remotes/origin/pr/2812/merge</name></branch></revision></refsremotesoriginpr2812merge><refsremotesoriginpr2950merge _class='hudson.plugins.git.util.Build'><buildNumber>529</buildNumber><marked><SHA1>583a40bc9e5594894736894e925cbda0985a5f07</SHA1><branch><SHA1>583a40bc9e5594894736894e925cbda0985a5f07</SHA1><name>refs/remotes/origin/pr/2950/merge</name></branch></marked><revision><SHA1>583a40bc9e5594894736894e925cbda0985a5f07</SHA1><branch><SHA1>583a40bc9e5594894736894e925cbda0985a5f07</SHA1><name>refs/remotes/origin/pr/2950/merge</name></branch></revision></refsremotesoriginpr2950merge><refsremotesoriginpr2520merge _class='hudson.plugins.git.util.Build'><buildNumber>68</buildNumber><marked><SHA1>b4a50e67d279dba7de22c5f15f8ce64b67a744f1</SHA1><branch><SHA1>b4a50e67d279dba7de22c5f15f8ce64b67a744f1</SHA1><name>refs/remotes/origin/pr/2520/merge</name></branch></marked><revision><SHA1>b4a50e67d279dba7de22c5f15f8ce64b67a744f1</SHA1><branch><SHA1>b4a50e67d279dba7de22c5f15f8ce64b67a744f1</SHA1><name>refs/remotes/origin/pr/2520/merge</name></branch></revision></refsremotesoriginpr2520merge><refsremotesoriginpr2540merge _class='hudson.plugins.git.util.Build'><buildNumber>80</buildNumber><marked><SHA1>9f7df6f7b4c3a817e3ae935510e19734d3e2c48f</SHA1><branch><SHA1>9f7df6f7b4c3a817e3ae935510e19734d3e2c48f</SHA1><name>refs/remotes/origin/pr/2540/merge</name></branch></marked><revision><SHA1>9f7df6f7b4c3a817e3ae935510e19734d3e2c48f</SHA1><branch><SHA1>9f7df6f7b4c3a817e3ae935510e19734d3e2c48f</SHA1><name>refs/remotes/origin/pr/2540/merge</name></branch></revision></refsremotesoriginpr2540merge><refsremotesoriginpr2804merge _class='hudson.plugins.git.util.Build'><buildNumber>386</buildNumber><marked><SHA1>7c11560c24c10ad51f830ebe8db3551fd965b1d5</SHA1><branch><SHA1>7c11560c24c10ad51f830ebe8db3551fd965b1d5</SHA1><name>refs/remotes/origin/pr/2804/merge</name></branch></marked><revision><SHA1>7c11560c24c10ad51f830ebe8db3551fd965b1d5</SHA1><branch><SHA1>7c11560c24c10ad51f830ebe8db3551fd965b1d5</SHA1><name>refs/remotes/origin/pr/2804/merge</name></branch></revision></refsremotesoriginpr2804merge><refsremotesoriginpr2714merge _class='hudson.plugins.git.util.Build'><buildNumber>287</buildNumber><marked><SHA1>6b324d3caf684e53a99469e4bb9b88db0aac2d80</SHA1><branch><SHA1>6b324d3caf684e53a99469e4bb9b88db0aac2d80</SHA1><name>refs/remotes/origin/pr/2714/merge</name></branch></marked><revision><SHA1>6b324d3caf684e53a99469e4bb9b88db0aac2d80</SHA1><branch><SHA1>6b324d3caf684e53a99469e4bb9b88db0aac2d80</SHA1><name>refs/remotes/origin/pr/2714/merge</name></branch></revision></refsremotesoriginpr2714merge><refsremotesoriginpr2962merge _class='hudson.plugins.git.util.Build'><buildNumber>543</buildNumber><marked><SHA1>2fb19cb81d782398e00443c869072d01eaf2c51e</SHA1><branch><SHA1>2fb19cb81d782398e00443c869072d01eaf2c51e</SHA1><name>refs/remotes/origin/pr/2962/merge</name></branch></marked><revision><SHA1>2fb19cb81d782398e00443c869072d01eaf2c51e</SHA1><branch><SHA1>2fb19cb81d782398e00443c869072d01eaf2c51e</SHA1><name>refs/remotes/origin/pr/2962/merge</name></branch></revision></refsremotesoriginpr2962merge><refsremotesoriginpr2902merge _class='hudson.plugins.git.util.Build'><buildNumber>472</buildNumber><marked><SHA1>84bbaf4a997feea2879d702e00a61baf553f2302</SHA1><branch><SHA1>84bbaf4a997feea2879d702e00a61baf553f2302</SHA1><name>refs/remotes/origin/pr/2902/merge</name></branch></marked><revision><SHA1>84bbaf4a997feea2879d702e00a61baf553f2302</SHA1><branch><SHA1>84bbaf4a997feea2879d702e00a61baf553f2302</SHA1><name>refs/remotes/origin/pr/2902/merge</name></branch></revision></refsremotesoriginpr2902merge><refsremotesoriginpr2922merge _class='hudson.plugins.git.util.Build'><buildNumber>483</buildNumber><marked><SHA1>280d29a42a07a6c027ade595699001d59bac6694</SHA1><branch><SHA1>280d29a42a07a6c027ade595699001d59bac6694</SHA1><name>refs/remotes/origin/pr/2922/merge</name></branch></marked><revision><SHA1>280d29a42a07a6c027ade595699001d59bac6694</SHA1><branch><SHA1>280d29a42a07a6c027ade595699001d59bac6694</SHA1><name>refs/remotes/origin/pr/2922/merge</name></branch></revision></refsremotesoriginpr2922merge><refsremotesoriginpr2942merge _class='hudson.plugins.git.util.Build'><buildNumber>517</buildNumber><marked><SHA1>4dca8e11effb934b1adec08fbd5304788ddedd49</SHA1><branch><SHA1>4dca8e11effb934b1adec08fbd5304788ddedd49</SHA1><name>refs/remotes/origin/pr/2942/merge</name></branch></marked><revision><SHA1>4dca8e11effb934b1adec08fbd5304788ddedd49</SHA1><branch><SHA1>4dca8e11effb934b1adec08fbd5304788ddedd49</SHA1><name>refs/remotes/origin/pr/2942/merge</name></branch></revision></refsremotesoriginpr2942merge><refsremotesoriginpr2696merge _class='hudson.plugins.git.util.Build'><buildNumber>226</buildNumber><marked><SHA1>31fd3b74cc31a8b0332007703dadc2604c8e1517</SHA1><branch><SHA1>31fd3b74cc31a8b0332007703dadc2604c8e1517</SHA1><name>refs/remotes/origin/pr/2696/merge</name></branch></marked><revision><SHA1>31fd3b74cc31a8b0332007703dadc2604c8e1517</SHA1><branch><SHA1>31fd3b74cc31a8b0332007703dadc2604c8e1517</SHA1><name>refs/remotes/origin/pr/2696/merge</name></branch></revision></refsremotesoriginpr2696merge><refsremotesoriginpr2844merge _class='hudson.plugins.git.util.Build'><buildNumber>416</buildNumber><marked><SHA1>663405d773119e221a6c0120b724fb6a37a97d6e</SHA1><branch><SHA1>663405d773119e221a6c0120b724fb6a37a97d6e</SHA1><name>refs/remotes/origin/pr/2844/merge</name></branch></marked><revision><SHA1>663405d773119e221a6c0120b724fb6a37a97d6e</SHA1><branch><SHA1>663405d773119e221a6c0120b724fb6a37a97d6e</SHA1><name>refs/remotes/origin/pr/2844/merge</name></branch></revision></refsremotesoriginpr2844merge><refsremotesoriginpr2754merge _class='hudson.plugins.git.util.Build'><buildNumber>314</buildNumber><marked><SHA1>eda2f81a5d5cfe74da1d96957d46c892b124a20b</SHA1><branch><SHA1>eda2f81a5d5cfe74da1d96957d46c892b124a20b</SHA1><name>refs/remotes/origin/pr/2754/merge</name></branch></marked><revision><SHA1>eda2f81a5d5cfe74da1d96957d46c892b124a20b</SHA1><branch><SHA1>eda2f81a5d5cfe74da1d96957d46c892b124a20b</SHA1><name>refs/remotes/origin/pr/2754/merge</name></branch></revision></refsremotesoriginpr2754merge><refsremotesoriginpr2774merge _class='hudson.plugins.git.util.Build'><buildNumber>356</buildNumber><marked><SHA1>4612e644d4ecce50caee1a5f5055cb1c2e384338</SHA1><branch><SHA1>4612e644d4ecce50caee1a5f5055cb1c2e384338</SHA1><name>refs/remotes/origin/pr/2774/merge</name></branch></marked><revision><SHA1>4612e644d4ecce50caee1a5f5055cb1c2e384338</SHA1><branch><SHA1>4612e644d4ecce50caee1a5f5055cb1c2e384338</SHA1><name>refs/remotes/origin/pr/2774/merge</name></branch></revision></refsremotesoriginpr2774merge><refsremotesoriginpr2824merge _class='hudson.plugins.git.util.Build'><buildNumber>402</buildNumber><marked><SHA1>a5011d33fc0e5daad182abd977983d25e2c36a0d</SHA1><branch><SHA1>a5011d33fc0e5daad182abd977983d25e2c36a0d</SHA1><name>refs/remotes/origin/pr/2824/merge</name></branch></marked><revision><SHA1>a5011d33fc0e5daad182abd977983d25e2c36a0d</SHA1><branch><SHA1>a5011d33fc0e5daad182abd977983d25e2c36a0d</SHA1><name>refs/remotes/origin/pr/2824/merge</name></branch></revision></refsremotesoriginpr2824merge><refsremotesoriginpr2864merge _class='hudson.plugins.git.util.Build'><buildNumber>432</buildNumber><marked><SHA1>05982367a240b248659b0a0307d40eb517e54658</SHA1><branch><SHA1>05982367a240b248659b0a0307d40eb517e54658</SHA1><name>refs/remotes/origin/pr/2864/merge</name></branch></marked><revision><SHA1>05982367a240b248659b0a0307d40eb517e54658</SHA1><branch><SHA1>05982367a240b248659b0a0307d40eb517e54658</SHA1><name>refs/remotes/origin/pr/2864/merge</name></branch></revision></refsremotesoriginpr2864merge><refsremotesoriginpr2746merge _class='hudson.plugins.git.util.Build'><buildNumber>312</buildNumber><marked><SHA1>99a3bdd804775683d810aefe1b12f627dc98d101</SHA1><branch><SHA1>99a3bdd804775683d810aefe1b12f627dc98d101</SHA1><name>refs/remotes/origin/pr/2746/merge</name></branch></marked><revision><SHA1>99a3bdd804775683d810aefe1b12f627dc98d101</SHA1><branch><SHA1>99a3bdd804775683d810aefe1b12f627dc98d101</SHA1><name>refs/remotes/origin/pr/2746/merge</name></branch></revision></refsremotesoriginpr2746merge><refsremotesoriginpr2884merge _class='hudson.plugins.git.util.Build'><buildNumber>451</buildNumber><marked><SHA1>7730c642edc9a2485942249b71bc0235a2d5bff9</SHA1><branch><SHA1>7730c642edc9a2485942249b71bc0235a2d5bff9</SHA1><name>refs/remotes/origin/pr/2884/merge</name></branch></marked><revision><SHA1>7730c642edc9a2485942249b71bc0235a2d5bff9</SHA1><branch><SHA1>7730c642edc9a2485942249b71bc0235a2d5bff9</SHA1><name>refs/remotes/origin/pr/2884/merge</name></branch></revision></refsremotesoriginpr2884merge><refsremotesoriginpr2811merge _class='hudson.plugins.git.util.Build'><buildNumber>421</buildNumber><marked><SHA1>4db524c7f31e4d5cc01d499547af74830e77914f</SHA1><branch><SHA1>4db524c7f31e4d5cc01d499547af74830e77914f</SHA1><name>refs/remotes/origin/pr/2811/merge</name></branch></marked><revision><SHA1>4db524c7f31e4d5cc01d499547af74830e77914f</SHA1><branch><SHA1>4db524c7f31e4d5cc01d499547af74830e77914f</SHA1><name>refs/remotes/origin/pr/2811/merge</name></branch></revision></refsremotesoriginpr2811merge><refsremotesoriginpr2989merge _class='hudson.plugins.git.util.Build'><buildNumber>576</buildNumber><marked><SHA1>b58a59b946a2ef3a106e75a72c32ce5920a69f0b</SHA1><branch><SHA1>b58a59b946a2ef3a106e75a72c32ce5920a69f0b</SHA1><name>refs/remotes/origin/pr/2989/merge</name></branch></marked><revision><SHA1>b58a59b946a2ef3a106e75a72c32ce5920a69f0b</SHA1><branch><SHA1>b58a59b946a2ef3a106e75a72c32ce5920a69f0b</SHA1><name>refs/remotes/origin/pr/2989/merge</name></branch></revision></refsremotesoriginpr2989merge><refsremotesoriginpr2468merge _class='hudson.plugins.git.util.Build'><buildNumber>28</buildNumber><marked><SHA1>dafbbd9951a6780ca0367bedfcf27222ab13ab22</SHA1><branch><SHA1>dafbbd9951a6780ca0367bedfcf27222ab13ab22</SHA1><name>refs/remotes/origin/pr/2468/merge</name></branch></marked><revision><SHA1>dafbbd9951a6780ca0367bedfcf27222ab13ab22</SHA1><branch><SHA1>dafbbd9951a6780ca0367bedfcf27222ab13ab22</SHA1><name>refs/remotes/origin/pr/2468/merge</name></branch></revision></refsremotesoriginpr2468merge><refsremotesoriginpr2481merge _class='hudson.plugins.git.util.Build'><buildNumber>41</buildNumber><marked><SHA1>efc51715bf825d55c735f17035562b91e7d1b5c7</SHA1><branch><SHA1>efc51715bf825d55c735f17035562b91e7d1b5c7</SHA1><name>refs/remotes/origin/pr/2481/merge</name></branch></marked><revision><SHA1>efc51715bf825d55c735f17035562b91e7d1b5c7</SHA1><branch><SHA1>efc51715bf825d55c735f17035562b91e7d1b5c7</SHA1><name>refs/remotes/origin/pr/2481/merge</name></branch></revision></refsremotesoriginpr2481merge><refsremotesoriginpr2684merge _class='hudson.plugins.git.util.Build'><buildNumber>213</buildNumber><marked><SHA1>e45fff282e1c129e08358e254e5223062a586e36</SHA1><branch><SHA1>e45fff282e1c129e08358e254e5223062a586e36</SHA1><name>refs/remotes/origin/pr/2684/merge</name></branch></marked><revision><SHA1>e45fff282e1c129e08358e254e5223062a586e36</SHA1><branch><SHA1>e45fff282e1c129e08358e254e5223062a586e36</SHA1><name>refs/remotes/origin/pr/2684/merge</name></branch></revision></refsremotesoriginpr2684merge><refsremotesoriginpr2706merge _class='hudson.plugins.git.util.Build'><buildNumber>238</buildNumber><marked><SHA1>6aa3c6562aaa861af1bd98dae36cdbdbbffaca54</SHA1><branch><SHA1>6aa3c6562aaa861af1bd98dae36cdbdbbffaca54</SHA1><name>refs/remotes/origin/pr/2706/merge</name></branch></marked><revision><SHA1>6aa3c6562aaa861af1bd98dae36cdbdbbffaca54</SHA1><branch><SHA1>6aa3c6562aaa861af1bd98dae36cdbdbbffaca54</SHA1><name>refs/remotes/origin/pr/2706/merge</name></branch></revision></refsremotesoriginpr2706merge><refsremotesoriginpr2956merge _class='hudson.plugins.git.util.Build'><buildNumber>538</buildNumber><marked><SHA1>1a841536b41b683cb106836872fe55d85397f154</SHA1><branch><SHA1>1a841536b41b683cb106836872fe55d85397f154</SHA1><name>refs/remotes/origin/pr/2956/merge</name></branch></marked><revision><SHA1>1a841536b41b683cb106836872fe55d85397f154</SHA1><branch><SHA1>1a841536b41b683cb106836872fe55d85397f154</SHA1><name>refs/remotes/origin/pr/2956/merge</name></branch></revision></refsremotesoriginpr2956merge><refsremotesoriginpr2858merge _class='hudson.plugins.git.util.Build'><buildNumber>426</buildNumber><marked><SHA1>fe3926643d9a2272f5ec907af9812ea3e9e380be</SHA1><branch><SHA1>fe3926643d9a2272f5ec907af9812ea3e9e380be</SHA1><name>refs/remotes/origin/pr/2858/merge</name></branch></marked><revision><SHA1>fe3926643d9a2272f5ec907af9812ea3e9e380be</SHA1><branch><SHA1>fe3926643d9a2272f5ec907af9812ea3e9e380be</SHA1><name>refs/remotes/origin/pr/2858/merge</name></branch></revision></refsremotesoriginpr2858merge><refsremotesoriginpr2996merge _class='hudson.plugins.git.util.Build'><buildNumber>581</buildNumber><marked><SHA1>74cecacd85502e045bcf2e46e64cf67e52614103</SHA1><branch><SHA1>74cecacd85502e045bcf2e46e64cf67e52614103</SHA1><name>refs/remotes/origin/pr/2996/merge</name></branch></marked><revision><SHA1>74cecacd85502e045bcf2e46e64cf67e52614103</SHA1><branch><SHA1>74cecacd85502e045bcf2e46e64cf67e52614103</SHA1><name>refs/remotes/origin/pr/2996/merge</name></branch></revision></refsremotesoriginpr2996merge><refsremotesoriginpr2474merge _class='hudson.plugins.git.util.Build'><buildNumber>31</buildNumber><marked><SHA1>4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5</SHA1><branch><SHA1>4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5</SHA1><name>refs/remotes/origin/pr/2474/merge</name></branch></marked><revision><SHA1>4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5</SHA1><branch><SHA1>4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5</SHA1><name>refs/remotes/origin/pr/2474/merge</name></branch></revision></refsremotesoriginpr2474merge><refsremotesoriginpr2880merge _class='hudson.plugins.git.util.Build'><buildNumber>443</buildNumber><marked><SHA1>1a4293180f1b58cab8e1b7df8d67dbaaa89094f4</SHA1><branch><SHA1>1a4293180f1b58cab8e1b7df8d67dbaaa89094f4</SHA1><name>refs/remotes/origin/pr/2880/merge</name></branch></marked><revision><SHA1>1a4293180f1b58cab8e1b7df8d67dbaaa89094f4</SHA1><branch><SHA1>1a4293180f1b58cab8e1b7df8d67dbaaa89094f4</SHA1><name>refs/remotes/origin/pr/2880/merge</name></branch></revision></refsremotesoriginpr2880merge><refsremotesoriginpr2805merge _class='hudson.plugins.git.util.Build'><buildNumber>385</buildNumber><marked><SHA1>53c865e43514fbca6430e84fcc552ec9559370d4</SHA1><branch><SHA1>53c865e43514fbca6430e84fcc552ec9559370d4</SHA1><name>refs/remotes/origin/pr/2805/merge</name></branch></marked><revision><SHA1>53c865e43514fbca6430e84fcc552ec9559370d4</SHA1><branch><SHA1>53c865e43514fbca6430e84fcc552ec9559370d4</SHA1><name>refs/remotes/origin/pr/2805/merge</name></branch></revision></refsremotesoriginpr2805merge><refsremotesoriginpr2655merge _class='hudson.plugins.git.util.Build'><buildNumber>182</buildNumber><marked><SHA1>cf21b632cfe56fbe3cfe95a141727fc1e8160051</SHA1><branch><SHA1>cf21b632cfe56fbe3cfe95a141727fc1e8160051</SHA1><name>refs/remotes/origin/pr/2655/merge</name></branch></marked><revision><SHA1>cf21b632cfe56fbe3cfe95a141727fc1e8160051</SHA1><branch><SHA1>cf21b632cfe56fbe3cfe95a141727fc1e8160051</SHA1><name>refs/remotes/origin/pr/2655/merge</name></branch></revision></refsremotesoriginpr2655merge><refsremotesoriginpr3010merge _class='hudson.plugins.git.util.Build'><buildNumber>594</buildNumber><marked><SHA1>6c69de792dcf7a9344c44c16993a6d9eebe85469</SHA1><branch><SHA1>6c69de792dcf7a9344c44c16993a6d9eebe85469</SHA1><name>refs/remotes/origin/pr/3010/merge</name></branch></marked><revision><SHA1>6c69de792dcf7a9344c44c16993a6d9eebe85469</SHA1><branch><SHA1>6c69de792dcf7a9344c44c16993a6d9eebe85469</SHA1><name>refs/remotes/origin/pr/3010/merge</name></branch></revision></refsremotesoriginpr3010merge><refsremotesoriginpr2903merge _class='hudson.plugins.git.util.Build'><buildNumber>474</buildNumber><marked><SHA1>829c8ab126f9fb17816de5acc2e127a45d955556</SHA1><branch><SHA1>829c8ab126f9fb17816de5acc2e127a45d955556</SHA1><name>refs/remotes/origin/pr/2903/merge</name></branch></marked><revision><SHA1>829c8ab126f9fb17816de5acc2e127a45d955556</SHA1><branch><SHA1>829c8ab126f9fb17816de5acc2e127a45d955556</SHA1><name>refs/remotes/origin/pr/2903/merge</name></branch></revision></refsremotesoriginpr2903merge><refsremotesoriginpr2983merge _class='hudson.plugins.git.util.Build'><buildNumber>567</buildNumber><marked><SHA1>f76e16bb155df15cea9a0ac94222b2c5a7169554</SHA1><branch><SHA1>f76e16bb155df15cea9a0ac94222b2c5a7169554</SHA1><name>refs/remotes/origin/pr/2983/merge</name></branch></marked><revision><SHA1>f76e16bb155df15cea9a0ac94222b2c5a7169554</SHA1><branch><SHA1>f76e16bb155df15cea9a0ac94222b2c5a7169554</SHA1><name>refs/remotes/origin/pr/2983/merge</name></branch></revision></refsremotesoriginpr2983merge><refsremotesoriginpr2532merge _class='hudson.plugins.git.util.Build'><buildNumber>77</buildNumber><marked><SHA1>617e0ca4fc895f2ff7bcd521313204db9f41e929</SHA1><branch><SHA1>617e0ca4fc895f2ff7bcd521313204db9f41e929</SHA1><name>refs/remotes/origin/pr/2532/merge</name></branch></marked><revision><SHA1>617e0ca4fc895f2ff7bcd521313204db9f41e929</SHA1><branch><SHA1>617e0ca4fc895f2ff7bcd521313204db9f41e929</SHA1><name>refs/remotes/origin/pr/2532/merge</name></branch></revision></refsremotesoriginpr2532merge><refsremotesoriginpr2637merge _class='hudson.plugins.git.util.Build'><buildNumber>163</buildNumber><marked><SHA1>d2de12709686a74a0483bdb9b7bf5715d64f5459</SHA1><branch><SHA1>d2de12709686a74a0483bdb9b7bf5715d64f5459</SHA1><name>refs/remotes/origin/pr/2637/merge</name></branch></marked><revision><SHA1>d2de12709686a74a0483bdb9b7bf5715d64f5459</SHA1><branch><SHA1>d2de12709686a74a0483bdb9b7bf5715d64f5459</SHA1><name>refs/remotes/origin/pr/2637/merge</name></branch></revision></refsremotesoriginpr2637merge><refsremotesoriginpr2775merge _class='hudson.plugins.git.util.Build'><buildNumber>359</buildNumber><marked><SHA1>55a2dbead17168bc867a64f79cc84dbedfa85014</SHA1><branch><SHA1>55a2dbead17168bc867a64f79cc84dbedfa85014</SHA1><name>refs/remotes/origin/pr/2775/merge</name></branch></marked><revision><SHA1>55a2dbead17168bc867a64f79cc84dbedfa85014</SHA1><branch><SHA1>55a2dbead17168bc867a64f79cc84dbedfa85014</SHA1><name>refs/remotes/origin/pr/2775/merge</name></branch></revision></refsremotesoriginpr2775merge><refsremotesoriginpr2585merge _class='hudson.plugins.git.util.Build'><buildNumber>108</buildNumber><marked><SHA1>fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce</SHA1><branch><SHA1>fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce</SHA1><name>refs/remotes/origin/pr/2585/merge</name></branch></marked><revision><SHA1>fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce</SHA1><branch><SHA1>fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce</SHA1><name>refs/remotes/origin/pr/2585/merge</name></branch></revision></refsremotesoriginpr2585merge><refsremotesoriginpr2324merge _class='hudson.plugins.git.util.Build'><buildNumber>13</buildNumber><marked><SHA1>91925f723c4424884963ac2f5e8d3cbeae01c304</SHA1><branch><SHA1>91925f723c4424884963ac2f5e8d3cbeae01c304</SHA1><name>refs/remotes/origin/pr/2324/merge</name></branch></marked><revision><SHA1>91925f723c4424884963ac2f5e8d3cbeae01c304</SHA1><branch><SHA1>91925f723c4424884963ac2f5e8d3cbeae01c304</SHA1><name>refs/remotes/origin/pr/2324/merge</name></branch></revision></refsremotesoriginpr2324merge><refsremotesoriginpr2602merge _class='hudson.plugins.git.util.Build'><buildNumber>134</buildNumber><marked><SHA1>00430a10e0e8cf4b18c98d364cc221713ff89dac</SHA1><branch><SHA1>00430a10e0e8cf4b18c98d364cc221713ff89dac</SHA1><name>refs/remotes/origin/pr/2602/merge</name></branch></marked><revision><SHA1>00430a10e0e8cf4b18c98d364cc221713ff89dac</SHA1><branch><SHA1>00430a10e0e8cf4b18c98d364cc221713ff89dac</SHA1><name>refs/remotes/origin/pr/2602/merge</name></branch></revision></refsremotesoriginpr2602merge><refsremotesoriginpr2817merge _class='hudson.plugins.git.util.Build'><buildNumber>404</buildNumber><marked><SHA1>de8db6d838e28fcb830ab35284cf0a3f521ff3f1</SHA1><branch><SHA1>de8db6d838e28fcb830ab35284cf0a3f521ff3f1</SHA1><name>refs/remotes/origin/pr/2817/merge</name></branch></marked><revision><SHA1>de8db6d838e28fcb830ab35284cf0a3f521ff3f1</SHA1><branch><SHA1>de8db6d838e28fcb830ab35284cf0a3f521ff3f1</SHA1><name>refs/remotes/origin/pr/2817/merge</name></branch></revision></refsremotesoriginpr2817merge><refsremotesoriginpr2845merge _class='hudson.plugins.git.util.Build'><buildNumber>418</buildNumber><marked><SHA1>a39050bc4a0cf6f41c235097c954c7a2ce211453</SHA1><branch><SHA1>a39050bc4a0cf6f41c235097c954c7a2ce211453</SHA1><name>refs/remotes/origin/pr/2845/merge</name></branch></marked><revision><SHA1>a39050bc4a0cf6f41c235097c954c7a2ce211453</SHA1><branch><SHA1>a39050bc4a0cf6f41c235097c954c7a2ce211453</SHA1><name>refs/remotes/origin/pr/2845/merge</name></branch></revision></refsremotesoriginpr2845merge><refsremotesoriginpr2885merge _class='hudson.plugins.git.util.Build'><buildNumber>469</buildNumber><marked><SHA1>b0bf7999eaac3a456e6b34cc4ae776f867d09549</SHA1><branch><SHA1>b0bf7999eaac3a456e6b34cc4ae776f867d09549</SHA1><name>refs/remotes/origin/pr/2885/merge</name></branch></marked><revision><SHA1>b0bf7999eaac3a456e6b34cc4ae776f867d09549</SHA1><branch><SHA1>b0bf7999eaac3a456e6b34cc4ae776f867d09549</SHA1><name>refs/remotes/origin/pr/2885/merge</name></branch></revision></refsremotesoriginpr2885merge><refsremotesoriginpr2642merge _class='hudson.plugins.git.util.Build'><buildNumber>169</buildNumber><marked><SHA1>78e340bdd6032223e3628d6e4742b2241dc28617</SHA1><branch><SHA1>78e340bdd6032223e3628d6e4742b2241dc28617</SHA1><name>refs/remotes/origin/pr/2642/merge</name></branch></marked><revision><SHA1>78e340bdd6032223e3628d6e4742b2241dc28617</SHA1><branch><SHA1>78e340bdd6032223e3628d6e4742b2241dc28617</SHA1><name>refs/remotes/origin/pr/2642/merge</name></branch></revision></refsremotesoriginpr2642merge><refsremotesoriginpr2677merge _class='hudson.plugins.git.util.Build'><buildNumber>203</buildNumber><marked><SHA1>d9ea5660e60a3104cb8e10d4ce713732b772092c</SHA1><branch><SHA1>d9ea5660e60a3104cb8e10d4ce713732b772092c</SHA1><name>refs/remotes/origin/pr/2677/merge</name></branch></marked><revision><SHA1>d9ea5660e60a3104cb8e10d4ce713732b772092c</SHA1><branch><SHA1>d9ea5660e60a3104cb8e10d4ce713732b772092c</SHA1><name>refs/remotes/origin/pr/2677/merge</name></branch></revision></refsremotesoriginpr2677merge><refsremotesoriginpr2475merge _class='hudson.plugins.git.util.Build'><buildNumber>39</buildNumber><marked><SHA1>1b71700f5754c2ba95550261d52dd3c01ddc5078</SHA1><branch><SHA1>1b71700f5754c2ba95550261d52dd3c01ddc5078</SHA1><name>refs/remotes/origin/pr/2475/merge</name></branch></marked><revision><SHA1>1b71700f5754c2ba95550261d52dd3c01ddc5078</SHA1><branch><SHA1>1b71700f5754c2ba95550261d52dd3c01ddc5078</SHA1><name>refs/remotes/origin/pr/2475/merge</name></branch></revision></refsremotesoriginpr2475merge><refsremotesoriginpr2747merge _class='hudson.plugins.git.util.Build'><buildNumber>313</buildNumber><marked><SHA1>89ef1c22901ce712630c144d77e10231118b3ccf</SHA1><branch><SHA1>89ef1c22901ce712630c144d77e10231118b3ccf</SHA1><name>refs/remotes/origin/pr/2747/merge</name></branch></marked><revision><SHA1>89ef1c22901ce712630c144d77e10231118b3ccf</SHA1><branch><SHA1>89ef1c22901ce712630c144d77e10231118b3ccf</SHA1><name>refs/remotes/origin/pr/2747/merge</name></branch></revision></refsremotesoriginpr2747merge><refsremotesoriginpr2787merge _class='hudson.plugins.git.util.Build'><buildNumber>371</buildNumber><marked><SHA1>e572692cdb2e4c194dd7912f521fc481ae9c013a</SHA1><branch><SHA1>e572692cdb2e4c194dd7912f521fc481ae9c013a</SHA1><name>refs/remotes/origin/pr/2787/merge</name></branch></marked><revision><SHA1>e572692cdb2e4c194dd7912f521fc481ae9c013a</SHA1><branch><SHA1>e572692cdb2e4c194dd7912f521fc481ae9c013a</SHA1><name>refs/remotes/origin/pr/2787/merge</name></branch></revision></refsremotesoriginpr2787merge><refsremotesoriginpr2544merge _class='hudson.plugins.git.util.Build'><buildNumber>85</buildNumber><marked><SHA1>558239695fde72e2b72d4c65890caf49029e8549</SHA1><branch><SHA1>558239695fde72e2b72d4c65890caf49029e8549</SHA1><name>refs/remotes/origin/pr/2544/merge</name></branch></marked><revision><SHA1>558239695fde72e2b72d4c65890caf49029e8549</SHA1><branch><SHA1>558239695fde72e2b72d4c65890caf49029e8549</SHA1><name>refs/remotes/origin/pr/2544/merge</name></branch></revision></refsremotesoriginpr2544merge><refsremotesoriginpr2683merge _class='hudson.plugins.git.util.Build'><buildNumber>212</buildNumber><marked><SHA1>b28a1962ad7465973acd9a658971992864d45cc7</SHA1><branch><SHA1>b28a1962ad7465973acd9a658971992864d45cc7</SHA1><name>refs/remotes/origin/pr/2683/merge</name></branch></marked><revision><SHA1>b28a1962ad7465973acd9a658971992864d45cc7</SHA1><branch><SHA1>b28a1962ad7465973acd9a658971992864d45cc7</SHA1><name>refs/remotes/origin/pr/2683/merge</name></branch></revision></refsremotesoriginpr2683merge><refsremotesoriginpr2579merge _class='hudson.plugins.git.util.Build'><buildNumber>139</buildNumber><marked><SHA1>e76a69df2fa545ce7c8e1046c35c0a52c501f8ff</SHA1><branch><SHA1>e76a69df2fa545ce7c8e1046c35c0a52c501f8ff</SHA1><name>refs/remotes/origin/pr/2579/merge</name></branch></marked><revision><SHA1>e76a69df2fa545ce7c8e1046c35c0a52c501f8ff</SHA1><branch><SHA1>e76a69df2fa545ce7c8e1046c35c0a52c501f8ff</SHA1><name>refs/remotes/origin/pr/2579/merge</name></branch></revision></refsremotesoriginpr2579merge><refsremotesoriginpr2689merge _class='hudson.plugins.git.util.Build'><buildNumber>220</buildNumber><marked><SHA1>8108a74ca639d452b7b1147402a6518668ca471d</SHA1><branch><SHA1>8108a74ca639d452b7b1147402a6518668ca471d</SHA1><name>refs/remotes/origin/pr/2689/merge</name></branch></marked><revision><SHA1>8108a74ca639d452b7b1147402a6518668ca471d</SHA1><branch><SHA1>8108a74ca639d452b7b1147402a6518668ca471d</SHA1><name>refs/remotes/origin/pr/2689/merge</name></branch></revision></refsremotesoriginpr2689merge><refsremotesoriginpr2927merge _class='hudson.plugins.git.util.Build'><buildNumber>498</buildNumber><marked><SHA1>fc054caed95cf22afaa5bdac70e3ff603aa3ce56</SHA1><branch><SHA1>fc054caed95cf22afaa5bdac70e3ff603aa3ce56</SHA1><name>refs/remotes/origin/pr/2927/merge</name></branch></marked><revision><SHA1>fc054caed95cf22afaa5bdac70e3ff603aa3ce56</SHA1><branch><SHA1>fc054caed95cf22afaa5bdac70e3ff603aa3ce56</SHA1><name>refs/remotes/origin/pr/2927/merge</name></branch></revision></refsremotesoriginpr2927merge><refsremotesoriginpr2799merge _class='hudson.plugins.git.util.Build'><buildNumber>380</buildNumber><marked><SHA1>ad21f5304ff979c19332a430139b7ee25efa9afa</SHA1><branch><SHA1>ad21f5304ff979c19332a430139b7ee25efa9afa</SHA1><name>refs/remotes/origin/pr/2799/merge</name></branch></marked><revision><SHA1>ad21f5304ff979c19332a430139b7ee25efa9afa</SHA1><branch><SHA1>ad21f5304ff979c19332a430139b7ee25efa9afa</SHA1><name>refs/remotes/origin/pr/2799/merge</name></branch></revision></refsremotesoriginpr2799merge><refsremotesoriginpr2759merge _class='hudson.plugins.git.util.Build'><buildNumber>333</buildNumber><marked><SHA1>b11f889b41d25c55a2da410874a1e4bd5e872048</SHA1><branch><SHA1>b11f889b41d25c55a2da410874a1e4bd5e872048</SHA1><name>refs/remotes/origin/pr/2759/merge</name></branch></marked><revision><SHA1>b11f889b41d25c55a2da410874a1e4bd5e872048</SHA1><branch><SHA1>b11f889b41d25c55a2da410874a1e4bd5e872048</SHA1><name>refs/remotes/origin/pr/2759/merge</name></branch></revision></refsremotesoriginpr2759merge><refsremotesoriginpr2433merge _class='hudson.plugins.git.util.Build'><buildNumber>14</buildNumber><marked><SHA1>9ad62c67a8a6cc58284204b312ebe526c0df3288</SHA1><branch><SHA1>9ad62c67a8a6cc58284204b312ebe526c0df3288</SHA1><name>refs/remotes/origin/pr/2433/merge</name></branch></marked><revision><SHA1>9ad62c67a8a6cc58284204b312ebe526c0df3288</SHA1><branch><SHA1>9ad62c67a8a6cc58284204b312ebe526c0df3288</SHA1><name>refs/remotes/origin/pr/2433/merge</name></branch></revision></refsremotesoriginpr2433merge><refsremotesoriginpr2541merge _class='hudson.plugins.git.util.Build'><buildNumber>81</buildNumber><marked><SHA1>891eb501f5f98d2c4a744ce31fb15cf1861454c9</SHA1><branch><SHA1>891eb501f5f98d2c4a744ce31fb15cf1861454c9</SHA1><name>refs/remotes/origin/pr/2541/merge</name></branch></marked><revision><SHA1>891eb501f5f98d2c4a744ce31fb15cf1861454c9</SHA1><branch><SHA1>891eb501f5f98d2c4a744ce31fb15cf1861454c9</SHA1><name>refs/remotes/origin/pr/2541/merge</name></branch></revision></refsremotesoriginpr2541merge><refsremotesoriginpr2476merge _class='hudson.plugins.git.util.Build'><buildNumber>125</buildNumber><marked><SHA1>613abb5d302557b7a660569b70a39e250320cbb7</SHA1><branch><SHA1>613abb5d302557b7a660569b70a39e250320cbb7</SHA1><name>refs/remotes/origin/pr/2476/merge</name></branch></marked><revision><SHA1>613abb5d302557b7a660569b70a39e250320cbb7</SHA1><branch><SHA1>613abb5d302557b7a660569b70a39e250320cbb7</SHA1><name>refs/remotes/origin/pr/2476/merge</name></branch></revision></refsremotesoriginpr2476merge><refsremotesoriginpr2728merge _class='hudson.plugins.git.util.Build'><buildNumber>296</buildNumber><marked><SHA1>4467821dcc25e7089d401f19666c06473af49091</SHA1><branch><SHA1>4467821dcc25e7089d401f19666c06473af49091</SHA1><name>refs/remotes/origin/pr/2728/merge</name></branch></marked><revision><SHA1>4467821dcc25e7089d401f19666c06473af49091</SHA1><branch><SHA1>4467821dcc25e7089d401f19666c06473af49091</SHA1><name>refs/remotes/origin/pr/2728/merge</name></branch></revision></refsremotesoriginpr2728merge><refsremotesoriginpr2954merge _class='hudson.plugins.git.util.Build'><buildNumber>537</buildNumber><marked><SHA1>5baabcad7f4c399b0cb58949cdeb9b55450f6ddb</SHA1><branch><SHA1>5baabcad7f4c399b0cb58949cdeb9b55450f6ddb</SHA1><name>refs/remotes/origin/pr/2954/merge</name></branch></marked><revision><SHA1>5baabcad7f4c399b0cb58949cdeb9b55450f6ddb</SHA1><branch><SHA1>5baabcad7f4c399b0cb58949cdeb9b55450f6ddb</SHA1><name>refs/remotes/origin/pr/2954/merge</name></branch></revision></refsremotesoriginpr2954merge><refsremotesoriginpr2974merge _class='hudson.plugins.git.util.Build'><buildNumber>553</buildNumber><marked><SHA1>063226e605313daaa8f077daf6c52132f4ed429a</SHA1><branch><SHA1>063226e605313daaa8f077daf6c52132f4ed429a</SHA1><name>refs/remotes/origin/pr/2974/merge</name></branch></marked><revision><SHA1>063226e605313daaa8f077daf6c52132f4ed429a</SHA1><branch><SHA1>063226e605313daaa8f077daf6c52132f4ed429a</SHA1><name>refs/remotes/origin/pr/2974/merge</name></branch></revision></refsremotesoriginpr2974merge><refsremotesoriginpr2594merge _class='hudson.plugins.git.util.Build'><buildNumber>122</buildNumber><marked><SHA1>69303d81639871fac2613dd100c3230156cbb871</SHA1><branch><SHA1>69303d81639871fac2613dd100c3230156cbb871</SHA1><name>refs/remotes/origin/pr/2594/merge</name></branch></marked><revision><SHA1>69303d81639871fac2613dd100c3230156cbb871</SHA1><branch><SHA1>69303d81639871fac2613dd100c3230156cbb871</SHA1><name>refs/remotes/origin/pr/2594/merge</name></branch></revision></refsremotesoriginpr2594merge><refsremotesoriginpr3016merge _class='hudson.plugins.git.util.Build'><buildNumber>601</buildNumber><marked><SHA1>1fc04cb7b33297330300e77bce120403ef71602b</SHA1><branch><SHA1>1fc04cb7b33297330300e77bce120403ef71602b</SHA1><name>refs/remotes/origin/pr/3016/merge</name></branch></marked><revision><SHA1>1fc04cb7b33297330300e77bce120403ef71602b</SHA1><branch><SHA1>1fc04cb7b33297330300e77bce120403ef71602b</SHA1><name>refs/remotes/origin/pr/3016/merge</name></branch></revision></refsremotesoriginpr3016merge><refsremotesoriginpr2816merge _class='hudson.plugins.git.util.Build'><buildNumber>392</buildNumber><marked><SHA1>7b954a04400841630ca4eba6e1e761c3fdd79107</SHA1><branch><SHA1>7b954a04400841630ca4eba6e1e761c3fdd79107</SHA1><name>refs/remotes/origin/pr/2816/merge</name></branch></marked><revision><SHA1>7b954a04400841630ca4eba6e1e761c3fdd79107</SHA1><branch><SHA1>7b954a04400841630ca4eba6e1e761c3fdd79107</SHA1><name>refs/remotes/origin/pr/2816/merge</name></branch></revision></refsremotesoriginpr2816merge><refsremotesoriginpr2901merge _class='hudson.plugins.git.util.Build'><buildNumber>465</buildNumber><marked><SHA1>c8982ac9f446d1fc37bc670c3917342040e510fc</SHA1><branch><SHA1>c8982ac9f446d1fc37bc670c3917342040e510fc</SHA1><name>refs/remotes/origin/pr/2901/merge</name></branch></marked><revision><SHA1>c8982ac9f446d1fc37bc670c3917342040e510fc</SHA1><branch><SHA1>c8982ac9f446d1fc37bc670c3917342040e510fc</SHA1><name>refs/remotes/origin/pr/2901/merge</name></branch></revision></refsremotesoriginpr2901merge><refsremotesoriginpr2806merge _class='hudson.plugins.git.util.Build'><buildNumber>405</buildNumber><marked><SHA1>de1c343279c6609cf199f63a910fe0dbea3e4bb2</SHA1><branch><SHA1>de1c343279c6609cf199f63a910fe0dbea3e4bb2</SHA1><name>refs/remotes/origin/pr/2806/merge</name></branch></marked><revision><SHA1>de1c343279c6609cf199f63a910fe0dbea3e4bb2</SHA1><branch><SHA1>de1c343279c6609cf199f63a910fe0dbea3e4bb2</SHA1><name>refs/remotes/origin/pr/2806/merge</name></branch></revision></refsremotesoriginpr2806merge><refsremotesoriginpr2951merge _class='hudson.plugins.git.util.Build'><buildNumber>536</buildNumber><marked><SHA1>cd3507f75266cfee92fddb31d371594257e34513</SHA1><branch><SHA1>cd3507f75266cfee92fddb31d371594257e34513</SHA1><name>refs/remotes/origin/pr/2951/merge</name></branch></marked><revision><SHA1>cd3507f75266cfee92fddb31d371594257e34513</SHA1><branch><SHA1>cd3507f75266cfee92fddb31d371594257e34513</SHA1><name>refs/remotes/origin/pr/2951/merge</name></branch></revision></refsremotesoriginpr2951merge><refsremotesoriginpr2866merge _class='hudson.plugins.git.util.Build'><buildNumber>453</buildNumber><marked><SHA1>1bed68ac793a05a62d1a71f6c1963532e7196469</SHA1><branch><SHA1>1bed68ac793a05a62d1a71f6c1963532e7196469</SHA1><name>refs/remotes/origin/pr/2866/merge</name></branch></marked><revision><SHA1>1bed68ac793a05a62d1a71f6c1963532e7196469</SHA1><branch><SHA1>1bed68ac793a05a62d1a71f6c1963532e7196469</SHA1><name>refs/remotes/origin/pr/2866/merge</name></branch></revision></refsremotesoriginpr2866merge><refsremotesoriginpr2682merge _class='hudson.plugins.git.util.Build'><buildNumber>211</buildNumber><marked><SHA1>72c19b0d4798468cdbeb25e520ec6c407f53165a</SHA1><branch><SHA1>72c19b0d4798468cdbeb25e520ec6c407f53165a</SHA1><name>refs/remotes/origin/pr/2682/merge</name></branch></marked><revision><SHA1>72c19b0d4798468cdbeb25e520ec6c407f53165a</SHA1><branch><SHA1>72c19b0d4798468cdbeb25e520ec6c407f53165a</SHA1><name>refs/remotes/origin/pr/2682/merge</name></branch></revision></refsremotesoriginpr2682merge><refsremotesoriginpr2778merge _class='hudson.plugins.git.util.Build'><buildNumber>372</buildNumber><marked><SHA1>4f57844ec7a07d5721daae55d13a1fdffeb83b24</SHA1><branch><SHA1>4f57844ec7a07d5721daae55d13a1fdffeb83b24</SHA1><name>refs/remotes/origin/pr/2778/merge</name></branch></marked><revision><SHA1>4f57844ec7a07d5721daae55d13a1fdffeb83b24</SHA1><branch><SHA1>4f57844ec7a07d5721daae55d13a1fdffeb83b24</SHA1><name>refs/remotes/origin/pr/2778/merge</name></branch></revision></refsremotesoriginpr2778merge><refsremotesoriginpr2705merge _class='hudson.plugins.git.util.Build'><buildNumber>240</buildNumber><marked><SHA1>b049830044e2ddda0a8b63c3efab95a535d222d2</SHA1><branch><SHA1>b049830044e2ddda0a8b63c3efab95a535d222d2</SHA1><name>refs/remotes/origin/pr/2705/merge</name></branch></marked><revision><SHA1>b049830044e2ddda0a8b63c3efab95a535d222d2</SHA1><branch><SHA1>b049830044e2ddda0a8b63c3efab95a535d222d2</SHA1><name>refs/remotes/origin/pr/2705/merge</name></branch></revision></refsremotesoriginpr2705merge><refsremotesoriginpr2758merge _class='hudson.plugins.git.util.Build'><buildNumber>336</buildNumber><marked><SHA1>b669096b070e15ca1ffdf361a223e502306a59e9</SHA1><branch><SHA1>b669096b070e15ca1ffdf361a223e502306a59e9</SHA1><name>refs/remotes/origin/pr/2758/merge</name></branch></marked><revision><SHA1>b669096b070e15ca1ffdf361a223e502306a59e9</SHA1><branch><SHA1>b669096b070e15ca1ffdf361a223e502306a59e9</SHA1><name>refs/remotes/origin/pr/2758/merge</name></branch></revision></refsremotesoriginpr2758merge><refsremotesoriginpr2672merge _class='hudson.plugins.git.util.Build'><buildNumber>195</buildNumber><marked><SHA1>be95cda62a962270c2997699f2ea28c30ea5178d</SHA1><branch><SHA1>be95cda62a962270c2997699f2ea28c30ea5178d</SHA1><name>refs/remotes/origin/pr/2672/merge</name></branch></marked><revision><SHA1>be95cda62a962270c2997699f2ea28c30ea5178d</SHA1><branch><SHA1>be95cda62a962270c2997699f2ea28c30ea5178d</SHA1><name>refs/remotes/origin/pr/2672/merge</name></branch></revision></refsremotesoriginpr2672merge><refsremotesoriginpr2735merge _class='hudson.plugins.git.util.Build'><buildNumber>301</buildNumber><marked><SHA1>0f142af7421a4d1872bc0f0859eb687283a9bb16</SHA1><branch><SHA1>0f142af7421a4d1872bc0f0859eb687283a9bb16</SHA1><name>refs/remotes/origin/pr/2735/merge</name></branch></marked><revision><SHA1>0f142af7421a4d1872bc0f0859eb687283a9bb16</SHA1><branch><SHA1>0f142af7421a4d1872bc0f0859eb687283a9bb16</SHA1><name>refs/remotes/origin/pr/2735/merge</name></branch></revision></refsremotesoriginpr2735merge><refsremotesoriginpr2863merge _class='hudson.plugins.git.util.Build'><buildNumber>429</buildNumber><marked><SHA1>cceec634ac7a2918c1100da0fb5e10f21c28c52c</SHA1><branch><SHA1>cceec634ac7a2918c1100da0fb5e10f21c28c52c</SHA1><name>refs/remotes/origin/pr/2863/merge</name></branch></marked><revision><SHA1>cceec634ac7a2918c1100da0fb5e10f21c28c52c</SHA1><branch><SHA1>cceec634ac7a2918c1100da0fb5e10f21c28c52c</SHA1><name>refs/remotes/origin/pr/2863/merge</name></branch></revision></refsremotesoriginpr2863merge><refsremotesoriginpr2755merge _class='hudson.plugins.git.util.Build'><buildNumber>317</buildNumber><marked><SHA1>bfdac5894980e24d2cf2f305e3afa27a861ca70a</SHA1><branch><SHA1>bfdac5894980e24d2cf2f305e3afa27a861ca70a</SHA1><name>refs/remotes/origin/pr/2755/merge</name></branch></marked><revision><SHA1>bfdac5894980e24d2cf2f305e3afa27a861ca70a</SHA1><branch><SHA1>bfdac5894980e24d2cf2f305e3afa27a861ca70a</SHA1><name>refs/remotes/origin/pr/2755/merge</name></branch></revision></refsremotesoriginpr2755merge><refsremotesoriginpr2760merge _class='hudson.plugins.git.util.Build'><buildNumber>334</buildNumber><marked><SHA1>5b41da2590e11e08ebb152d8e06a02e2343fe961</SHA1><branch><SHA1>5b41da2590e11e08ebb152d8e06a02e2343fe961</SHA1><name>refs/remotes/origin/pr/2760/merge</name></branch></marked><revision><SHA1>5b41da2590e11e08ebb152d8e06a02e2343fe961</SHA1><branch><SHA1>5b41da2590e11e08ebb152d8e06a02e2343fe961</SHA1><name>refs/remotes/origin/pr/2760/merge</name></branch></revision></refsremotesoriginpr2760merge><refsremotesoriginpr2695merge _class='hudson.plugins.git.util.Build'><buildNumber>232</buildNumber><marked><SHA1>74e75992a9bf9ae222155f09fc655d2ab2e29ec4</SHA1><branch><SHA1>74e75992a9bf9ae222155f09fc655d2ab2e29ec4</SHA1><name>refs/remotes/origin/pr/2695/merge</name></branch></marked><revision><SHA1>74e75992a9bf9ae222155f09fc655d2ab2e29ec4</SHA1><branch><SHA1>74e75992a9bf9ae222155f09fc655d2ab2e29ec4</SHA1><name>refs/remotes/origin/pr/2695/merge</name></branch></revision></refsremotesoriginpr2695merge><refsremotesoriginpr2790merge _class='hudson.plugins.git.util.Build'><buildNumber>369</buildNumber><marked><SHA1>7d8824dd2e5be0c761259209cfd9f0c8875f6490</SHA1><branch><SHA1>7d8824dd2e5be0c761259209cfd9f0c8875f6490</SHA1><name>refs/remotes/origin/pr/2790/merge</name></branch></marked><revision><SHA1>7d8824dd2e5be0c761259209cfd9f0c8875f6490</SHA1><branch><SHA1>7d8824dd2e5be0c761259209cfd9f0c8875f6490</SHA1><name>refs/remotes/origin/pr/2790/merge</name></branch></revision></refsremotesoriginpr2790merge><refsremotesoriginpr2557merge _class='hudson.plugins.git.util.Build'><buildNumber>89</buildNumber><marked><SHA1>cffff1d404bb4f3e18c0e79362abf396a38a8878</SHA1><branch><SHA1>cffff1d404bb4f3e18c0e79362abf396a38a8878</SHA1><name>refs/remotes/origin/pr/2557/merge</name></branch></marked><revision><SHA1>cffff1d404bb4f3e18c0e79362abf396a38a8878</SHA1><branch><SHA1>cffff1d404bb4f3e18c0e79362abf396a38a8878</SHA1><name>refs/remotes/origin/pr/2557/merge</name></branch></revision></refsremotesoriginpr2557merge><refsremotesoriginpr2740merge _class='hudson.plugins.git.util.Build'><buildNumber>305</buildNumber><marked><SHA1>632e115fc91e37dc7b8d8eb8afabfd1c389ad041</SHA1><branch><SHA1>632e115fc91e37dc7b8d8eb8afabfd1c389ad041</SHA1><name>refs/remotes/origin/pr/2740/merge</name></branch></marked><revision><SHA1>632e115fc91e37dc7b8d8eb8afabfd1c389ad041</SHA1><branch><SHA1>632e115fc91e37dc7b8d8eb8afabfd1c389ad041</SHA1><name>refs/remotes/origin/pr/2740/merge</name></branch></revision></refsremotesoriginpr2740merge><refsremotesoriginpr2647merge _class='hudson.plugins.git.util.Build'><buildNumber>173</buildNumber><marked><SHA1>9df251e131dfc7831ed9a58243b6f43986ed6dc8</SHA1><branch><SHA1>9df251e131dfc7831ed9a58243b6f43986ed6dc8</SHA1><name>refs/remotes/origin/pr/2647/merge</name></branch></marked><revision><SHA1>9df251e131dfc7831ed9a58243b6f43986ed6dc8</SHA1><branch><SHA1>9df251e131dfc7831ed9a58243b6f43986ed6dc8</SHA1><name>refs/remotes/origin/pr/2647/merge</name></branch></revision></refsremotesoriginpr2647merge><refsremotesoriginpr2820merge _class='hudson.plugins.git.util.Build'><buildNumber>393</buildNumber><marked><SHA1>4a5ecc2c4292164ada7ad03baef2e2522dd1a4df</SHA1><branch><SHA1>4a5ecc2c4292164ada7ad03baef2e2522dd1a4df</SHA1><name>refs/remotes/origin/pr/2820/merge</name></branch></marked><revision><SHA1>4a5ecc2c4292164ada7ad03baef2e2522dd1a4df</SHA1><branch><SHA1>4a5ecc2c4292164ada7ad03baef2e2522dd1a4df</SHA1><name>refs/remotes/origin/pr/2820/merge</name></branch></revision></refsremotesoriginpr2820merge><refsremotesoriginpr2529merge _class='hudson.plugins.git.util.Build'><buildNumber>75</buildNumber><marked><SHA1>67e3335b1b17dd8b8bab7eee977f49228f84dbb3</SHA1><branch><SHA1>67e3335b1b17dd8b8bab7eee977f49228f84dbb3</SHA1><name>refs/remotes/origin/pr/2529/merge</name></branch></marked><revision><SHA1>67e3335b1b17dd8b8bab7eee977f49228f84dbb3</SHA1><branch><SHA1>67e3335b1b17dd8b8bab7eee977f49228f84dbb3</SHA1><name>refs/remotes/origin/pr/2529/merge</name></branch></revision></refsremotesoriginpr2529merge><refsremotesoriginpr2840merge _class='hudson.plugins.git.util.Build'><buildNumber>411</buildNumber><marked><SHA1>a01d0e33ddc2a730d620619ebce4fc4bf1a6f6d0</SHA1><branch><SHA1>a01d0e33ddc2a730d620619ebce4fc4bf1a6f6d0</SHA1><name>refs/remotes/origin/pr/2840/merge</name></branch></marked><revision><SHA1>a01d0e33ddc2a730d620619ebce4fc4bf1a6f6d0</SHA1><branch><SHA1>a01d0e33ddc2a730d620619ebce4fc4bf1a6f6d0</SHA1><name>refs/remotes/origin/pr/2840/merge</name></branch></revision></refsremotesoriginpr2840merge><refsremotesoriginpr3003merge _class='hudson.plugins.git.util.Build'><buildNumber>590</buildNumber><marked><SHA1>ec23f4fd56f1643bd0a6addba3c55cf5fe4df44a</SHA1><branch><SHA1>ec23f4fd56f1643bd0a6addba3c55cf5fe4df44a</SHA1><name>refs/remotes/origin/pr/3003/merge</name></branch></marked><revision><SHA1>ec23f4fd56f1643bd0a6addba3c55cf5fe4df44a</SHA1><branch><SHA1>ec23f4fd56f1643bd0a6addba3c55cf5fe4df44a</SHA1><name>refs/remotes/origin/pr/3003/merge</name></branch></revision></refsremotesoriginpr3003merge><refsremotesoriginpr2514merge _class='hudson.plugins.git.util.Build'><buildNumber>64</buildNumber><marked><SHA1>c0ab24305e23c54b9f8feb7148300253807e79ae</SHA1><branch><SHA1>c0ab24305e23c54b9f8feb7148300253807e79ae</SHA1><name>refs/remotes/origin/pr/2514/merge</name></branch></marked><revision><SHA1>c0ab24305e23c54b9f8feb7148300253807e79ae</SHA1><branch><SHA1>c0ab24305e23c54b9f8feb7148300253807e79ae</SHA1><name>refs/remotes/origin/pr/2514/merge</name></branch></revision></refsremotesoriginpr2514merge><refsremotesoriginpr2783merge _class='hudson.plugins.git.util.Build'><buildNumber>363</buildNumber><marked><SHA1>3a9f15ea2beac176fff2c861fedad901b9cbcabc</SHA1><branch><SHA1>3a9f15ea2beac176fff2c861fedad901b9cbcabc</SHA1><name>refs/remotes/origin/pr/2783/merge</name></branch></marked><revision><SHA1>3a9f15ea2beac176fff2c861fedad901b9cbcabc</SHA1><branch><SHA1>3a9f15ea2beac176fff2c861fedad901b9cbcabc</SHA1><name>refs/remotes/origin/pr/2783/merge</name></branch></revision></refsremotesoriginpr2783merge><refsremotesoriginpr2667merge _class='hudson.plugins.git.util.Build'><buildNumber>193</buildNumber><marked><SHA1>5990c479792da3f06d7a80c72726268403f40c1c</SHA1><branch><SHA1>5990c479792da3f06d7a80c72726268403f40c1c</SHA1><name>refs/remotes/origin/pr/2667/merge</name></branch></marked><revision><SHA1>5990c479792da3f06d7a80c72726268403f40c1c</SHA1><branch><SHA1>5990c479792da3f06d7a80c72726268403f40c1c</SHA1><name>refs/remotes/origin/pr/2667/merge</name></branch></revision></refsremotesoriginpr2667merge><refsremotesoriginpr2479merge _class='hudson.plugins.git.util.Build'><buildNumber>40</buildNumber><marked><SHA1>9ee03e84d780ee8ad86dd38514b687ac39453c3d</SHA1><branch><SHA1>9ee03e84d780ee8ad86dd38514b687ac39453c3d</SHA1><name>refs/remotes/origin/pr/2479/merge</name></branch></marked><revision><SHA1>9ee03e84d780ee8ad86dd38514b687ac39453c3d</SHA1><branch><SHA1>9ee03e84d780ee8ad86dd38514b687ac39453c3d</SHA1><name>refs/remotes/origin/pr/2479/merge</name></branch></revision></refsremotesoriginpr2479merge><refsremotesoriginpr2499merge _class='hudson.plugins.git.util.Build'><buildNumber>54</buildNumber><marked><SHA1>afadbc5266374da6486d1754269eda2d437c3021</SHA1><branch><SHA1>afadbc5266374da6486d1754269eda2d437c3021</SHA1><name>refs/remotes/origin/pr/2499/merge</name></branch></marked><revision><SHA1>afadbc5266374da6486d1754269eda2d437c3021</SHA1><branch><SHA1>afadbc5266374da6486d1754269eda2d437c3021</SHA1><name>refs/remotes/origin/pr/2499/merge</name></branch></revision></refsremotesoriginpr2499merge><refsremotesoriginpr2977merge _class='hudson.plugins.git.util.Build'><buildNumber>554</buildNumber><marked><SHA1>b22af7293cde32eae5da6cc5875d608857911c75</SHA1><branch><SHA1>b22af7293cde32eae5da6cc5875d608857911c75</SHA1><name>refs/remotes/origin/pr/2977/merge</name></branch></marked><revision><SHA1>b22af7293cde32eae5da6cc5875d608857911c75</SHA1><branch><SHA1>b22af7293cde32eae5da6cc5875d608857911c75</SHA1><name>refs/remotes/origin/pr/2977/merge</name></branch></revision></refsremotesoriginpr2977merge><refsremotesoriginpr2624merge _class='hudson.plugins.git.util.Build'><buildNumber>420</buildNumber><marked><SHA1>2790e79fe7ba856fb24e5b96beae7965cba21ea6</SHA1><branch><SHA1>2790e79fe7ba856fb24e5b96beae7965cba21ea6</SHA1><name>refs/remotes/origin/pr/2624/merge</name></branch></marked><revision><SHA1>2790e79fe7ba856fb24e5b96beae7965cba21ea6</SHA1><branch><SHA1>2790e79fe7ba856fb24e5b96beae7965cba21ea6</SHA1><name>refs/remotes/origin/pr/2624/merge</name></branch></revision></refsremotesoriginpr2624merge><refsremotesoriginpr2644merge _class='hudson.plugins.git.util.Build'><buildNumber>170</buildNumber><marked><SHA1>0e22a1b8cf0a38062c6b160d290afc36785b7a5e</SHA1><branch><SHA1>0e22a1b8cf0a38062c6b160d290afc36785b7a5e</SHA1><name>refs/remotes/origin/pr/2644/merge</name></branch></marked><revision><SHA1>0e22a1b8cf0a38062c6b160d290afc36785b7a5e</SHA1><branch><SHA1>0e22a1b8cf0a38062c6b160d290afc36785b7a5e</SHA1><name>refs/remotes/origin/pr/2644/merge</name></branch></revision></refsremotesoriginpr2644merge><refsremotesoriginpr2511merge _class='hudson.plugins.git.util.Build'><buildNumber>62</buildNumber><marked><SHA1>94addcad2706b0418b6c53fe544c8757be51b8be</SHA1><branch><SHA1>94addcad2706b0418b6c53fe544c8757be51b8be</SHA1><name>refs/remotes/origin/pr/2511/merge</name></branch></marked><revision><SHA1>94addcad2706b0418b6c53fe544c8757be51b8be</SHA1><branch><SHA1>94addcad2706b0418b6c53fe544c8757be51b8be</SHA1><name>refs/remotes/origin/pr/2511/merge</name></branch></revision></refsremotesoriginpr2511merge><refsremotesoriginpr2456merge _class='hudson.plugins.git.util.Build'><buildNumber>15</buildNumber><marked><SHA1>a994e764c1058aac223a68054f8d5decfbbab13b</SHA1><branch><SHA1>a994e764c1058aac223a68054f8d5decfbbab13b</SHA1><name>refs/remotes/origin/pr/2456/merge</name></branch></marked><revision><SHA1>a994e764c1058aac223a68054f8d5decfbbab13b</SHA1><branch><SHA1>a994e764c1058aac223a68054f8d5decfbbab13b</SHA1><name>refs/remotes/origin/pr/2456/merge</name></branch></revision></refsremotesoriginpr2456merge><refsremotesoriginpr2917merge _class='hudson.plugins.git.util.Build'><buildNumber>478</buildNumber><marked><SHA1>8cdd36e04f3844cfe6793b008ba9988d02dc678b</SHA1><branch><SHA1>8cdd36e04f3844cfe6793b008ba9988d02dc678b</SHA1><name>refs/remotes/origin/pr/2917/merge</name></branch></marked><revision><SHA1>8cdd36e04f3844cfe6793b008ba9988d02dc678b</SHA1><branch><SHA1>8cdd36e04f3844cfe6793b008ba9988d02dc678b</SHA1><name>refs/remotes/origin/pr/2917/merge</name></branch></revision></refsremotesoriginpr2917merge><refsremotesoriginpr2621merge _class='hudson.plugins.git.util.Build'><buildNumber>152</buildNumber><marked><SHA1>a0b50128a49295753b873d5dbd1db389acddd21d</SHA1><branch><SHA1>a0b50128a49295753b873d5dbd1db389acddd21d</SHA1><name>refs/remotes/origin/pr/2621/merge</name></branch></marked><revision><SHA1>a0b50128a49295753b873d5dbd1db389acddd21d</SHA1><branch><SHA1>a0b50128a49295753b873d5dbd1db389acddd21d</SHA1><name>refs/remotes/origin/pr/2621/merge</name></branch></revision></refsremotesoriginpr2621merge><refsremotesoriginpr2618merge _class='hudson.plugins.git.util.Build'><buildNumber>151</buildNumber><marked><SHA1>d8135f3bdc7185addefce575ea0fe3fb82b65b70</SHA1><branch><SHA1>d8135f3bdc7185addefce575ea0fe3fb82b65b70</SHA1><name>refs/remotes/origin/pr/2618/merge</name></branch></marked><revision><SHA1>d8135f3bdc7185addefce575ea0fe3fb82b65b70</SHA1><branch><SHA1>d8135f3bdc7185addefce575ea0fe3fb82b65b70</SHA1><name>refs/remotes/origin/pr/2618/merge</name></branch></revision></refsremotesoriginpr2618merge><refsremotesoriginpr2756merge _class='hudson.plugins.git.util.Build'><buildNumber>318</buildNumber><marked><SHA1>bac91f6e00c6a3f40bf28643d93f07d15c031629</SHA1><branch><SHA1>bac91f6e00c6a3f40bf28643d93f07d15c031629</SHA1><name>refs/remotes/origin/pr/2756/merge</name></branch></marked><revision><SHA1>bac91f6e00c6a3f40bf28643d93f07d15c031629</SHA1><branch><SHA1>bac91f6e00c6a3f40bf28643d93f07d15c031629</SHA1><name>refs/remotes/origin/pr/2756/merge</name></branch></revision></refsremotesoriginpr2756merge><refsremotesoriginpr2999merge _class='hudson.plugins.git.util.Build'><buildNumber>583</buildNumber><marked><SHA1>1975f12a6c7c69e0ae783f42d24f0d5248613d23</SHA1><branch><SHA1>1975f12a6c7c69e0ae783f42d24f0d5248613d23</SHA1><name>refs/remotes/origin/pr/2999/merge</name></branch></marked><revision><SHA1>1975f12a6c7c69e0ae783f42d24f0d5248613d23</SHA1><branch><SHA1>1975f12a6c7c69e0ae783f42d24f0d5248613d23</SHA1><name>refs/remotes/origin/pr/2999/merge</name></branch></revision></refsremotesoriginpr2999merge><refsremotesoriginpr2726merge _class='hudson.plugins.git.util.Build'><buildNumber>354</buildNumber><marked><SHA1>8a43e06c1c1d6c29f76f0b186ba054e4b6fa59dc</SHA1><branch><SHA1>8a43e06c1c1d6c29f76f0b186ba054e4b6fa59dc</SHA1><name>refs/remotes/origin/pr/2726/merge</name></branch></marked><revision><SHA1>8a43e06c1c1d6c29f76f0b186ba054e4b6fa59dc</SHA1><branch><SHA1>8a43e06c1c1d6c29f76f0b186ba054e4b6fa59dc</SHA1><name>refs/remotes/origin/pr/2726/merge</name></branch></revision></refsremotesoriginpr2726merge><refsremotesoriginpr2431merge _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>af079dd26be2ead11e98c6f113997fb2bc8c6684</SHA1><branch><SHA1>af079dd26be2ead11e98c6f113997fb2bc8c6684</SHA1><name>refs/remotes/origin/pr/2431/merge</name></branch></marked><revision><SHA1>af079dd26be2ead11e98c6f113997fb2bc8c6684</SHA1><branch><SHA1>af079dd26be2ead11e98c6f113997fb2bc8c6684</SHA1><name>refs/remotes/origin/pr/2431/merge</name></branch></revision></refsremotesoriginpr2431merge><refsremotesoriginpr2946merge _class='hudson.plugins.git.util.Build'><buildNumber>524</buildNumber><marked><SHA1>b721a4ee6a831ab62db7663ce5dc4962e336ba87</SHA1><branch><SHA1>b721a4ee6a831ab62db7663ce5dc4962e336ba87</SHA1><name>refs/remotes/origin/pr/2946/merge</name></branch></marked><revision><SHA1>b721a4ee6a831ab62db7663ce5dc4962e336ba87</SHA1><branch><SHA1>b721a4ee6a831ab62db7663ce5dc4962e336ba87</SHA1><name>refs/remotes/origin/pr/2946/merge</name></branch></revision></refsremotesoriginpr2946merge><refsremotesoriginpr2969merge _class='hudson.plugins.git.util.Build'><buildNumber>549</buildNumber><marked><SHA1>a70859aa5b6994efc9b2bbca6e1940733bbdef1c</SHA1><branch><SHA1>a70859aa5b6994efc9b2bbca6e1940733bbdef1c</SHA1><name>refs/remotes/origin/pr/2969/merge</name></branch></marked><revision><SHA1>a70859aa5b6994efc9b2bbca6e1940733bbdef1c</SHA1><branch><SHA1>a70859aa5b6994efc9b2bbca6e1940733bbdef1c</SHA1><name>refs/remotes/origin/pr/2969/merge</name></branch></revision></refsremotesoriginpr2969merge><refsremotesoriginpr2762merge _class='hudson.plugins.git.util.Build'><buildNumber>345</buildNumber><marked><SHA1>59cda250164e106aa526eda473e08633b2931b15</SHA1><branch><SHA1>59cda250164e106aa526eda473e08633b2931b15</SHA1><name>refs/remotes/origin/pr/2762/merge</name></branch></marked><revision><SHA1>59cda250164e106aa526eda473e08633b2931b15</SHA1><branch><SHA1>59cda250164e106aa526eda473e08633b2931b15</SHA1><name>refs/remotes/origin/pr/2762/merge</name></branch></revision></refsremotesoriginpr2762merge><refsremotesoriginpr2455merge _class='hudson.plugins.git.util.Build'><buildNumber>16</buildNumber><marked><SHA1>56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3</SHA1><branch><SHA1>56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3</SHA1><name>refs/remotes/origin/pr/2455/merge</name></branch></marked><revision><SHA1>56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3</SHA1><branch><SHA1>56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3</SHA1><name>refs/remotes/origin/pr/2455/merge</name></branch></revision></refsremotesoriginpr2455merge><refsremotesoriginpr2484merge _class='hudson.plugins.git.util.Build'><buildNumber>47</buildNumber><marked><SHA1>2decd91afa25e28529df6350b0870cbf7af0d6f0</SHA1><branch><SHA1>2decd91afa25e28529df6350b0870cbf7af0d6f0</SHA1><name>refs/remotes/origin/pr/2484/merge</name></branch></marked><revision><SHA1>2decd91afa25e28529df6350b0870cbf7af0d6f0</SHA1><branch><SHA1>2decd91afa25e28529df6350b0870cbf7af0d6f0</SHA1><name>refs/remotes/origin/pr/2484/merge</name></branch></revision></refsremotesoriginpr2484merge><refsremotesoriginpr2698merge _class='hudson.plugins.git.util.Build'><buildNumber>233</buildNumber><marked><SHA1>f5b5e3caec76af2231138f1562ccbeafe7daf338</SHA1><branch><SHA1>f5b5e3caec76af2231138f1562ccbeafe7daf338</SHA1><name>refs/remotes/origin/pr/2698/merge</name></branch></marked><revision><SHA1>f5b5e3caec76af2231138f1562ccbeafe7daf338</SHA1><branch><SHA1>f5b5e3caec76af2231138f1562ccbeafe7daf338</SHA1><name>refs/remotes/origin/pr/2698/merge</name></branch></revision></refsremotesoriginpr2698merge><refsremotesoriginpr2815merge _class='hudson.plugins.git.util.Build'><buildNumber>391</buildNumber><marked><SHA1>f62c652ed2bde7465e3989fa10f4621757eb74e4</SHA1><branch><SHA1>f62c652ed2bde7465e3989fa10f4621757eb74e4</SHA1><name>refs/remotes/origin/pr/2815/merge</name></branch></marked><revision><SHA1>f62c652ed2bde7465e3989fa10f4621757eb74e4</SHA1><branch><SHA1>f62c652ed2bde7465e3989fa10f4621757eb74e4</SHA1><name>refs/remotes/origin/pr/2815/merge</name></branch></revision></refsremotesoriginpr2815merge><refsremotesoriginpr2645merge _class='hudson.plugins.git.util.Build'><buildNumber>171</buildNumber><marked><SHA1>152af17e033c750ef3ec32c2d901da8cff909a19</SHA1><branch><SHA1>152af17e033c750ef3ec32c2d901da8cff909a19</SHA1><name>refs/remotes/origin/pr/2645/merge</name></branch></marked><revision><SHA1>152af17e033c750ef3ec32c2d901da8cff909a19</SHA1><branch><SHA1>152af17e033c750ef3ec32c2d901da8cff909a19</SHA1><name>refs/remotes/origin/pr/2645/merge</name></branch></revision></refsremotesoriginpr2645merge><refsremotesoriginpr2870merge _class='hudson.plugins.git.util.Build'><buildNumber>437</buildNumber><marked><SHA1>ee0913b523c28f6f3530f092c9430e4d1dccc54a</SHA1><branch><SHA1>ee0913b523c28f6f3530f092c9430e4d1dccc54a</SHA1><name>refs/remotes/origin/pr/2870/merge</name></branch></marked><revision><SHA1>ee0913b523c28f6f3530f092c9430e4d1dccc54a</SHA1><branch><SHA1>ee0913b523c28f6f3530f092c9430e4d1dccc54a</SHA1><name>refs/remotes/origin/pr/2870/merge</name></branch></revision></refsremotesoriginpr2870merge><refsremotesoriginpr2675merge _class='hudson.plugins.git.util.Build'><buildNumber>205</buildNumber><marked><SHA1>633b9e164d97b80e21e9b33f4344e2752e362857</SHA1><branch><SHA1>633b9e164d97b80e21e9b33f4344e2752e362857</SHA1><name>refs/remotes/origin/pr/2675/merge</name></branch></marked><revision><SHA1>633b9e164d97b80e21e9b33f4344e2752e362857</SHA1><branch><SHA1>633b9e164d97b80e21e9b33f4344e2752e362857</SHA1><name>refs/remotes/origin/pr/2675/merge</name></branch></revision></refsremotesoriginpr2675merge><refsremotesoriginpr2838merge _class='hudson.plugins.git.util.Build'><buildNumber>410</buildNumber><marked><SHA1>bbddc01a762baf9a32e1f6dc05225f011cdad3e9</SHA1><branch><SHA1>bbddc01a762baf9a32e1f6dc05225f011cdad3e9</SHA1><name>refs/remotes/origin/pr/2838/merge</name></branch></marked><revision><SHA1>bbddc01a762baf9a32e1f6dc05225f011cdad3e9</SHA1><branch><SHA1>bbddc01a762baf9a32e1f6dc05225f011cdad3e9</SHA1><name>refs/remotes/origin/pr/2838/merge</name></branch></revision></refsremotesoriginpr2838merge><refsremotesoriginpr2710merge _class='hudson.plugins.git.util.Build'><buildNumber>256</buildNumber><marked><SHA1>a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f</SHA1><branch><SHA1>a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f</SHA1><name>refs/remotes/origin/pr/2710/merge</name></branch></marked><revision><SHA1>a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f</SHA1><branch><SHA1>a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f</SHA1><name>refs/remotes/origin/pr/2710/merge</name></branch></revision></refsremotesoriginpr2710merge><refsremotesoriginpr2888merge _class='hudson.plugins.git.util.Build'><buildNumber>461</buildNumber><marked><SHA1>3840b0495daeca6468db72d0a0b19ff73a3c0982</SHA1><branch><SHA1>3840b0495daeca6468db72d0a0b19ff73a3c0982</SHA1><name>refs/remotes/origin/pr/2888/merge</name></branch></marked><revision><SHA1>3840b0495daeca6468db72d0a0b19ff73a3c0982</SHA1><branch><SHA1>3840b0495daeca6468db72d0a0b19ff73a3c0982</SHA1><name>refs/remotes/origin/pr/2888/merge</name></branch></revision></refsremotesoriginpr2888merge><refsremotesoriginpr2923merge _class='hudson.plugins.git.util.Build'><buildNumber>490</buildNumber><marked><SHA1>b0404098600605528be954eb1f9fdec70c980101</SHA1><branch><SHA1>b0404098600605528be954eb1f9fdec70c980101</SHA1><name>refs/remotes/origin/pr/2923/merge</name></branch></marked><revision><SHA1>b0404098600605528be954eb1f9fdec70c980101</SHA1><branch><SHA1>b0404098600605528be954eb1f9fdec70c980101</SHA1><name>refs/remotes/origin/pr/2923/merge</name></branch></revision></refsremotesoriginpr2923merge><refsremotesoriginpr3000merge _class='hudson.plugins.git.util.Build'><buildNumber>585</buildNumber><marked><SHA1>17db90e32bba7dea4402846d6a9e4a135b66a293</SHA1><branch><SHA1>17db90e32bba7dea4402846d6a9e4a135b66a293</SHA1><name>refs/remotes/origin/pr/3000/merge</name></branch></marked><revision><SHA1>17db90e32bba7dea4402846d6a9e4a135b66a293</SHA1><branch><SHA1>17db90e32bba7dea4402846d6a9e4a135b66a293</SHA1><name>refs/remotes/origin/pr/3000/merge</name></branch></revision></refsremotesoriginpr3000merge><refsremotesoriginpr2953merge _class='hudson.plugins.git.util.Build'><buildNumber>534</buildNumber><marked><SHA1>3750466d25de6a45db52a7af9de345e10f1fadf7</SHA1><branch><SHA1>3750466d25de6a45db52a7af9de345e10f1fadf7</SHA1><name>refs/remotes/origin/pr/2953/merge</name></branch></marked><revision><SHA1>3750466d25de6a45db52a7af9de345e10f1fadf7</SHA1><branch><SHA1>3750466d25de6a45db52a7af9de345e10f1fadf7</SHA1><name>refs/remotes/origin/pr/2953/merge</name></branch></revision></refsremotesoriginpr2953merge><refsremotesoriginpr2727merge _class='hudson.plugins.git.util.Build'><buildNumber>303</buildNumber><marked><SHA1>8cfd442fbc12f83d6484365d641bbba6b923dc35</SHA1><branch><SHA1>8cfd442fbc12f83d6484365d641bbba6b923dc35</SHA1><name>refs/remotes/origin/pr/2727/merge</name></branch></marked><revision><SHA1>8cfd442fbc12f83d6484365d641bbba6b923dc35</SHA1><branch><SHA1>8cfd442fbc12f83d6484365d641bbba6b923dc35</SHA1><name>refs/remotes/origin/pr/2727/merge</name></branch></revision></refsremotesoriginpr2727merge><refsremotesoriginpr2477merge _class='hudson.plugins.git.util.Build'><buildNumber>34</buildNumber><marked><SHA1>3976987e75ef26d8b4cee8f78d8ec6c81526d082</SHA1><branch><SHA1>3976987e75ef26d8b4cee8f78d8ec6c81526d082</SHA1><name>refs/remotes/origin/pr/2477/merge</name></branch></marked><revision><SHA1>3976987e75ef26d8b4cee8f78d8ec6c81526d082</SHA1><branch><SHA1>3976987e75ef26d8b4cee8f78d8ec6c81526d082</SHA1><name>refs/remotes/origin/pr/2477/merge</name></branch></revision></refsremotesoriginpr2477merge><refsremotesoriginpr2998merge _class='hudson.plugins.git.util.Build'><buildNumber>582</buildNumber><marked><SHA1>a4893e2eb2736a944b36a6453dfef24bfed201d4</SHA1><branch><SHA1>a4893e2eb2736a944b36a6453dfef24bfed201d4</SHA1><name>refs/remotes/origin/pr/2998/merge</name></branch></marked><revision><SHA1>a4893e2eb2736a944b36a6453dfef24bfed201d4</SHA1><branch><SHA1>a4893e2eb2736a944b36a6453dfef24bfed201d4</SHA1><name>refs/remotes/origin/pr/2998/merge</name></branch></revision></refsremotesoriginpr2998merge><refsremotesoriginpr2680merge _class='hudson.plugins.git.util.Build'><buildNumber>206</buildNumber><marked><SHA1>66847cfa8e01bb313a0e0354594958500b69bded</SHA1><branch><SHA1>66847cfa8e01bb313a0e0354594958500b69bded</SHA1><name>refs/remotes/origin/pr/2680/merge</name></branch></marked><revision><SHA1>66847cfa8e01bb313a0e0354594958500b69bded</SHA1><branch><SHA1>66847cfa8e01bb313a0e0354594958500b69bded</SHA1><name>refs/remotes/origin/pr/2680/merge</name></branch></revision></refsremotesoriginpr2680merge><refsremotesoriginpr2865merge _class='hudson.plugins.git.util.Build'><buildNumber>433</buildNumber><marked><SHA1>d2973468bc858dde5420510043558a1693f64d42</SHA1><branch><SHA1>d2973468bc858dde5420510043558a1693f64d42</SHA1><name>refs/remotes/origin/pr/2865/merge</name></branch></marked><revision><SHA1>d2973468bc858dde5420510043558a1693f64d42</SHA1><branch><SHA1>d2973468bc858dde5420510043558a1693f64d42</SHA1><name>refs/remotes/origin/pr/2865/merge</name></branch></revision></refsremotesoriginpr2865merge><refsremotesoriginpr2622merge _class='hudson.plugins.git.util.Build'><buildNumber>153</buildNumber><marked><SHA1>253a690c93dfb50040eaa4b308a180233090fc3a</SHA1><branch><SHA1>253a690c93dfb50040eaa4b308a180233090fc3a</SHA1><name>refs/remotes/origin/pr/2622/merge</name></branch></marked><revision><SHA1>253a690c93dfb50040eaa4b308a180233090fc3a</SHA1><branch><SHA1>253a690c93dfb50040eaa4b308a180233090fc3a</SHA1><name>refs/remotes/origin/pr/2622/merge</name></branch></revision></refsremotesoriginpr2622merge><refsremotesoriginpr2975merge _class='hudson.plugins.git.util.Build'><buildNumber>556</buildNumber><marked><SHA1>90140ce6b7275cf5d57e89613d0faebd89872088</SHA1><branch><SHA1>90140ce6b7275cf5d57e89613d0faebd89872088</SHA1><name>refs/remotes/origin/pr/2975/merge</name></branch></marked><revision><SHA1>90140ce6b7275cf5d57e89613d0faebd89872088</SHA1><branch><SHA1>90140ce6b7275cf5d57e89613d0faebd89872088</SHA1><name>refs/remotes/origin/pr/2975/merge</name></branch></revision></refsremotesoriginpr2975merge><refsremotesoriginpr2981merge _class='hudson.plugins.git.util.Build'><buildNumber>563</buildNumber><marked><SHA1>a239278db3a46fd4d93095b815ea03620e95de40</SHA1><branch><SHA1>a239278db3a46fd4d93095b815ea03620e95de40</SHA1><name>refs/remotes/origin/pr/2981/merge</name></branch></marked><revision><SHA1>a239278db3a46fd4d93095b815ea03620e95de40</SHA1><branch><SHA1>a239278db3a46fd4d93095b815ea03620e95de40</SHA1><name>refs/remotes/origin/pr/2981/merge</name></branch></revision></refsremotesoriginpr2981merge><refsremotesoriginpr2449merge _class='hudson.plugins.git.util.Build'><buildNumber>1</buildNumber><marked><SHA1>664c8152485a4208ef3647a9660c18e2c00c7469</SHA1><branch><SHA1>664c8152485a4208ef3647a9660c18e2c00c7469</SHA1><name>refs/remotes/origin/pr/2449/merge</name></branch></marked><revision><SHA1>664c8152485a4208ef3647a9660c18e2c00c7469</SHA1><branch><SHA1>664c8152485a4208ef3647a9660c18e2c00c7469</SHA1><name>refs/remotes/origin/pr/2449/merge</name></branch></revision></refsremotesoriginpr2449merge><refsremotesoriginpr2919merge _class='hudson.plugins.git.util.Build'><buildNumber>499</buildNumber><marked><SHA1>d2e87d35510ae08bfc65bd851b8e238e73ce4bde</SHA1><branch><SHA1>d2e87d35510ae08bfc65bd851b8e238e73ce4bde</SHA1><name>refs/remotes/origin/pr/2919/merge</name></branch></marked><revision><SHA1>d2e87d35510ae08bfc65bd851b8e238e73ce4bde</SHA1><branch><SHA1>d2e87d35510ae08bfc65bd851b8e238e73ce4bde</SHA1><name>refs/remotes/origin/pr/2919/merge</name></branch></revision></refsremotesoriginpr2919merge><refsremotesoriginpr2483merge _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>72c340c1c4c08e011e96ee53f45975e33b75de8a</SHA1><branch><SHA1>72c340c1c4c08e011e96ee53f45975e33b75de8a</SHA1><name>refs/remotes/origin/pr/2483/merge</name></branch></marked><revision><SHA1>72c340c1c4c08e011e96ee53f45975e33b75de8a</SHA1><branch><SHA1>72c340c1c4c08e011e96ee53f45975e33b75de8a</SHA1><name>refs/remotes/origin/pr/2483/merge</name></branch></revision></refsremotesoriginpr2483merge><refsremotesoriginpr2871merge _class='hudson.plugins.git.util.Build'><buildNumber>470</buildNumber><marked><SHA1>5a950031ef39829149ff7ac64cb27d0b5a1851bb</SHA1><branch><SHA1>5a950031ef39829149ff7ac64cb27d0b5a1851bb</SHA1><name>refs/remotes/origin/pr/2871/merge</name></branch></marked><revision><SHA1>5a950031ef39829149ff7ac64cb27d0b5a1851bb</SHA1><branch><SHA1>5a950031ef39829149ff7ac64cb27d0b5a1851bb</SHA1><name>refs/remotes/origin/pr/2871/merge</name></branch></revision></refsremotesoriginpr2871merge><refsremotesoriginpr2593merge _class='hudson.plugins.git.util.Build'><buildNumber>121</buildNumber><marked><SHA1>45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6</SHA1><branch><SHA1>45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6</SHA1><name>refs/remotes/origin/pr/2593/merge</name></branch></marked><revision><SHA1>45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6</SHA1><branch><SHA1>45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6</SHA1><name>refs/remotes/origin/pr/2593/merge</name></branch></revision></refsremotesoriginpr2593merge><refsremotesoriginpr2704merge _class='hudson.plugins.git.util.Build'><buildNumber>235</buildNumber><marked><SHA1>c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b</SHA1><branch><SHA1>c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b</SHA1><name>refs/remotes/origin/pr/2704/merge</name></branch></marked><revision><SHA1>c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b</SHA1><branch><SHA1>c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b</SHA1><name>refs/remotes/origin/pr/2704/merge</name></branch></revision></refsremotesoriginpr2704merge><refsremotesoriginpr2952merge _class='hudson.plugins.git.util.Build'><buildNumber>532</buildNumber><marked><SHA1>9464a0f942cd1fdc995220218f428ab2c182919f</SHA1><branch><SHA1>9464a0f942cd1fdc995220218f428ab2c182919f</SHA1><name>refs/remotes/origin/pr/2952/merge</name></branch></marked><revision><SHA1>9464a0f942cd1fdc995220218f428ab2c182919f</SHA1><branch><SHA1>9464a0f942cd1fdc995220218f428ab2c182919f</SHA1><name>refs/remotes/origin/pr/2952/merge</name></branch></revision></refsremotesoriginpr2952merge><refsremotesoriginpr2559merge _class='hudson.plugins.git.util.Build'><buildNumber>92</buildNumber><marked><SHA1>dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32</SHA1><branch><SHA1>dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32</SHA1><name>refs/remotes/origin/pr/2559/merge</name></branch></marked><revision><SHA1>dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32</SHA1><branch><SHA1>dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32</SHA1><name>refs/remotes/origin/pr/2559/merge</name></branch></revision></refsremotesoriginpr2559merge><refsremotesoriginpr2761merge _class='hudson.plugins.git.util.Build'><buildNumber>338</buildNumber><marked><SHA1>c933019a3aaf76cd83cb4a9212c8f94f050b9237</SHA1><branch><SHA1>c933019a3aaf76cd83cb4a9212c8f94f050b9237</SHA1><name>refs/remotes/origin/pr/2761/merge</name></branch></marked><revision><SHA1>c933019a3aaf76cd83cb4a9212c8f94f050b9237</SHA1><branch><SHA1>c933019a3aaf76cd83cb4a9212c8f94f050b9237</SHA1><name>refs/remotes/origin/pr/2761/merge</name></branch></revision></refsremotesoriginpr2761merge><refsremotesoriginpr2924merge _class='hudson.plugins.git.util.Build'><buildNumber>489</buildNumber><marked><SHA1>42de69ae6c89c4720009e7a61091329bc1500b6b</SHA1><branch><SHA1>42de69ae6c89c4720009e7a61091329bc1500b6b</SHA1><name>refs/remotes/origin/pr/2924/merge</name></branch></marked><revision><SHA1>42de69ae6c89c4720009e7a61091329bc1500b6b</SHA1><branch><SHA1>42de69ae6c89c4720009e7a61091329bc1500b6b</SHA1><name>refs/remotes/origin/pr/2924/merge</name></branch></revision></refsremotesoriginpr2924merge><refsremotesoriginpr2809merge _class='hudson.plugins.git.util.Build'><buildNumber>390</buildNumber><marked><SHA1>f7c96ecb843ca193a1f63f08abfa0a6d4292b225</SHA1><branch><SHA1>f7c96ecb843ca193a1f63f08abfa0a6d4292b225</SHA1><name>refs/remotes/origin/pr/2809/merge</name></branch></marked><revision><SHA1>f7c96ecb843ca193a1f63f08abfa0a6d4292b225</SHA1><branch><SHA1>f7c96ecb843ca193a1f63f08abfa0a6d4292b225</SHA1><name>refs/remotes/origin/pr/2809/merge</name></branch></revision></refsremotesoriginpr2809merge><refsremotesoriginpr2651merge _class='hudson.plugins.git.util.Build'><buildNumber>186</buildNumber><marked><SHA1>3977149475016b30cd21d64b7c802b8c0593d86a</SHA1><branch><SHA1>3977149475016b30cd21d64b7c802b8c0593d86a</SHA1><name>refs/remotes/origin/pr/2651/merge</name></branch></marked><revision><SHA1>3977149475016b30cd21d64b7c802b8c0593d86a</SHA1><branch><SHA1>3977149475016b30cd21d64b7c802b8c0593d86a</SHA1><name>refs/remotes/origin/pr/2651/merge</name></branch></revision></refsremotesoriginpr2651merge><refsremotesoriginpr2894merge _class='hudson.plugins.git.util.Build'><buildNumber>463</buildNumber><marked><SHA1>489a1694add8c9be8f732d5a81fcf775a57a07b8</SHA1><branch><SHA1>489a1694add8c9be8f732d5a81fcf775a57a07b8</SHA1><name>refs/remotes/origin/pr/2894/merge</name></branch></marked><revision><SHA1>489a1694add8c9be8f732d5a81fcf775a57a07b8</SHA1><branch><SHA1>489a1694add8c9be8f732d5a81fcf775a57a07b8</SHA1><name>refs/remotes/origin/pr/2894/merge</name></branch></revision></refsremotesoriginpr2894merge><refsremotesoriginpr3019merge _class='hudson.plugins.git.util.Build'><buildNumber>603</buildNumber><marked><SHA1>58d189634730f9a2c10458c57e2eddfcea626904</SHA1><branch><SHA1>58d189634730f9a2c10458c57e2eddfcea626904</SHA1><name>refs/remotes/origin/pr/3019/merge</name></branch></marked><revision><SHA1>58d189634730f9a2c10458c57e2eddfcea626904</SHA1><branch><SHA1>58d189634730f9a2c10458c57e2eddfcea626904</SHA1><name>refs/remotes/origin/pr/3019/merge</name></branch></revision></refsremotesoriginpr3019merge><refsremotesoriginpr2536merge _class='hudson.plugins.git.util.Build'><buildNumber>79</buildNumber><marked><SHA1>1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db</SHA1><branch><SHA1>1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db</SHA1><name>refs/remotes/origin/pr/2536/merge</name></branch></marked><revision><SHA1>1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db</SHA1><branch><SHA1>1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db</SHA1><name>refs/remotes/origin/pr/2536/merge</name></branch></revision></refsremotesoriginpr2536merge><refsremotesoriginpr2814merge _class='hudson.plugins.git.util.Build'><buildNumber>387</buildNumber><marked><SHA1>0583039646a7520ddb98355d84a5b76383b66b3d</SHA1><branch><SHA1>0583039646a7520ddb98355d84a5b76383b66b3d</SHA1><name>refs/remotes/origin/pr/2814/merge</name></branch></marked><revision><SHA1>0583039646a7520ddb98355d84a5b76383b66b3d</SHA1><branch><SHA1>0583039646a7520ddb98355d84a5b76383b66b3d</SHA1><name>refs/remotes/origin/pr/2814/merge</name></branch></revision></refsremotesoriginpr2814merge><refsremotesoriginpr2528merge _class='hudson.plugins.git.util.Build'><buildNumber>74</buildNumber><marked><SHA1>9a5313acfdcbed6003488622747de26938881d70</SHA1><branch><SHA1>9a5313acfdcbed6003488622747de26938881d70</SHA1><name>refs/remotes/origin/pr/2528/merge</name></branch></marked><revision><SHA1>9a5313acfdcbed6003488622747de26938881d70</SHA1><branch><SHA1>9a5313acfdcbed6003488622747de26938881d70</SHA1><name>refs/remotes/origin/pr/2528/merge</name></branch></revision></refsremotesoriginpr2528merge><refsremotesoriginpr2711merge _class='hudson.plugins.git.util.Build'><buildNumber>247</buildNumber><marked><SHA1>3ab8d18db9cdcb0b1494f851579b64661be29bd9</SHA1><branch><SHA1>3ab8d18db9cdcb0b1494f851579b64661be29bd9</SHA1><name>refs/remotes/origin/pr/2711/merge</name></branch></marked><revision><SHA1>3ab8d18db9cdcb0b1494f851579b64661be29bd9</SHA1><branch><SHA1>3ab8d18db9cdcb0b1494f851579b64661be29bd9</SHA1><name>refs/remotes/origin/pr/2711/merge</name></branch></revision></refsremotesoriginpr2711merge><refsremotesoriginpr2646merge _class='hudson.plugins.git.util.Build'><buildNumber>172</buildNumber><marked><SHA1>abcf671ab1536f855795f32ea21a3a956ec47449</SHA1><branch><SHA1>abcf671ab1536f855795f32ea21a3a956ec47449</SHA1><name>refs/remotes/origin/pr/2646/merge</name></branch></marked><revision><SHA1>abcf671ab1536f855795f32ea21a3a956ec47449</SHA1><branch><SHA1>abcf671ab1536f855795f32ea21a3a956ec47449</SHA1><name>refs/remotes/origin/pr/2646/merge</name></branch></revision></refsremotesoriginpr2646merge><refsremotesoriginpr2686merge _class='hudson.plugins.git.util.Build'><buildNumber>218</buildNumber><marked><SHA1>55af5d636555c663aa35d23f19a15f89ca81022a</SHA1><branch><SHA1>55af5d636555c663aa35d23f19a15f89ca81022a</SHA1><name>refs/remotes/origin/pr/2686/merge</name></branch></marked><revision><SHA1>55af5d636555c663aa35d23f19a15f89ca81022a</SHA1><branch><SHA1>55af5d636555c663aa35d23f19a15f89ca81022a</SHA1><name>refs/remotes/origin/pr/2686/merge</name></branch></revision></refsremotesoriginpr2686merge><refsremotesoriginpr2568merge _class='hudson.plugins.git.util.Build'><buildNumber>98</buildNumber><marked><SHA1>a848c84e4b957d6beedd7f1a13d89af330a30938</SHA1><branch><SHA1>a848c84e4b957d6beedd7f1a13d89af330a30938</SHA1><name>refs/remotes/origin/pr/2568/merge</name></branch></marked><revision><SHA1>a848c84e4b957d6beedd7f1a13d89af330a30938</SHA1><branch><SHA1>a848c84e4b957d6beedd7f1a13d89af330a30938</SHA1><name>refs/remotes/origin/pr/2568/merge</name></branch></revision></refsremotesoriginpr2568merge><refsremotesoriginpr2882merge _class='hudson.plugins.git.util.Build'><buildNumber>449</buildNumber><marked><SHA1>2c9e3a75a3b0aaebe4c095c4ac8b1a3131c672f6</SHA1><branch><SHA1>2c9e3a75a3b0aaebe4c095c4ac8b1a3131c672f6</SHA1><name>refs/remotes/origin/pr/2882/merge</name></branch></marked><revision><SHA1>2c9e3a75a3b0aaebe4c095c4ac8b1a3131c672f6</SHA1><branch><SHA1>2c9e3a75a3b0aaebe4c095c4ac8b1a3131c672f6</SHA1><name>refs/remotes/origin/pr/2882/merge</name></branch></revision></refsremotesoriginpr2882merge><refsremotesoriginpr2613merge _class='hudson.plugins.git.util.Build'><buildNumber>149</buildNumber><marked><SHA1>3e7e5d573ac51569a941050b64bd1a3196bfdc19</SHA1><branch><SHA1>3e7e5d573ac51569a941050b64bd1a3196bfdc19</SHA1><name>refs/remotes/origin/pr/2613/merge</name></branch></marked><revision><SHA1>3e7e5d573ac51569a941050b64bd1a3196bfdc19</SHA1><branch><SHA1>3e7e5d573ac51569a941050b64bd1a3196bfdc19</SHA1><name>refs/remotes/origin/pr/2613/merge</name></branch></revision></refsremotesoriginpr2613merge><refsremotesoriginpr2633merge _class='hudson.plugins.git.util.Build'><buildNumber>166</buildNumber><marked><SHA1>86d61cee80699305e53eba2d91d1a30b4326b34a</SHA1><branch><SHA1>86d61cee80699305e53eba2d91d1a30b4326b34a</SHA1><name>refs/remotes/origin/pr/2633/merge</name></branch></marked><revision><SHA1>86d61cee80699305e53eba2d91d1a30b4326b34a</SHA1><branch><SHA1>86d61cee80699305e53eba2d91d1a30b4326b34a</SHA1><name>refs/remotes/origin/pr/2633/merge</name></branch></revision></refsremotesoriginpr2633merge><refsremotesoriginpr3012merge _class='hudson.plugins.git.util.Build'><buildNumber>595</buildNumber><marked><SHA1>5d1aec3df1241efc2e4882a773c6d5a630ddc298</SHA1><branch><SHA1>5d1aec3df1241efc2e4882a773c6d5a630ddc298</SHA1><name>refs/remotes/origin/pr/3012/merge</name></branch></marked><revision><SHA1>5d1aec3df1241efc2e4882a773c6d5a630ddc298</SHA1><branch><SHA1>5d1aec3df1241efc2e4882a773c6d5a630ddc298</SHA1><name>refs/remotes/origin/pr/3012/merge</name></branch></revision></refsremotesoriginpr3012merge><refsremotesoriginpr2653merge _class='hudson.plugins.git.util.Build'><buildNumber>184</buildNumber><marked><SHA1>cd48db92401194e170bd105f796b1763144956d8</SHA1><branch><SHA1>cd48db92401194e170bd105f796b1763144956d8</SHA1><name>refs/remotes/origin/pr/2653/merge</name></branch></marked><revision><SHA1>cd48db92401194e170bd105f796b1763144956d8</SHA1><branch><SHA1>cd48db92401194e170bd105f796b1763144956d8</SHA1><name>refs/remotes/origin/pr/2653/merge</name></branch></revision></refsremotesoriginpr2653merge><refsremotesoriginpr2980merge _class='hudson.plugins.git.util.Build'><buildNumber>562</buildNumber><marked><SHA1>7805583196b0ab5aa71584d31c55c204bba5a569</SHA1><branch><SHA1>7805583196b0ab5aa71584d31c55c204bba5a569</SHA1><name>refs/remotes/origin/pr/2980/merge</name></branch></marked><revision><SHA1>7805583196b0ab5aa71584d31c55c204bba5a569</SHA1><branch><SHA1>7805583196b0ab5aa71584d31c55c204bba5a569</SHA1><name>refs/remotes/origin/pr/2980/merge</name></branch></revision></refsremotesoriginpr2980merge><refsremotesoriginpr2958merge _class='hudson.plugins.git.util.Build'><buildNumber>540</buildNumber><marked><SHA1>c70de035391f3b08500f0615f6061e0bd4bea6bb</SHA1><branch><SHA1>c70de035391f3b08500f0615f6061e0bd4bea6bb</SHA1><name>refs/remotes/origin/pr/2958/merge</name></branch></marked><revision><SHA1>c70de035391f3b08500f0615f6061e0bd4bea6bb</SHA1><branch><SHA1>c70de035391f3b08500f0615f6061e0bd4bea6bb</SHA1><name>refs/remotes/origin/pr/2958/merge</name></branch></revision></refsremotesoriginpr2958merge><refsremotesoriginpr2600merge _class='hudson.plugins.git.util.Build'><buildNumber>131</buildNumber><marked><SHA1>f51c10122b69be8edaefaa4d25e8a334d3a7ba9a</SHA1><branch><SHA1>f51c10122b69be8edaefaa4d25e8a334d3a7ba9a</SHA1><name>refs/remotes/origin/pr/2600/merge</name></branch></marked><revision><SHA1>f51c10122b69be8edaefaa4d25e8a334d3a7ba9a</SHA1><branch><SHA1>f51c10122b69be8edaefaa4d25e8a334d3a7ba9a</SHA1><name>refs/remotes/origin/pr/2600/merge</name></branch></revision></refsremotesoriginpr2600merge><refsremotesoriginpr2960merge _class='hudson.plugins.git.util.Build'><buildNumber>544</buildNumber><marked><SHA1>92b6389cb9ed48387a7753ed4e1df62b22656273</SHA1><branch><SHA1>92b6389cb9ed48387a7753ed4e1df62b22656273</SHA1><name>refs/remotes/origin/pr/2960/merge</name></branch></marked><revision><SHA1>92b6389cb9ed48387a7753ed4e1df62b22656273</SHA1><branch><SHA1>92b6389cb9ed48387a7753ed4e1df62b22656273</SHA1><name>refs/remotes/origin/pr/2960/merge</name></branch></revision></refsremotesoriginpr2960merge><refsremotesoriginpr2535merge _class='hudson.plugins.git.util.Build'><buildNumber>116</buildNumber><marked><SHA1>4f4daf6f78aaffa2276507474f03b06049d20dff</SHA1><branch><SHA1>4f4daf6f78aaffa2276507474f03b06049d20dff</SHA1><name>refs/remotes/origin/pr/2535/merge</name></branch></marked><revision><SHA1>4f4daf6f78aaffa2276507474f03b06049d20dff</SHA1><branch><SHA1>4f4daf6f78aaffa2276507474f03b06049d20dff</SHA1><name>refs/remotes/origin/pr/2535/merge</name></branch></revision></refsremotesoriginpr2535merge><refsremotesoriginpr2437merge _class='hudson.plugins.git.util.Build'><buildNumber>8</buildNumber><marked><SHA1>1d33111c31f8226d64a0feea11eb6bbb7195ea40</SHA1><branch><SHA1>1d33111c31f8226d64a0feea11eb6bbb7195ea40</SHA1><name>refs/remotes/origin/pr/2437/merge</name></branch></marked><revision><SHA1>1d33111c31f8226d64a0feea11eb6bbb7195ea40</SHA1><branch><SHA1>1d33111c31f8226d64a0feea11eb6bbb7195ea40</SHA1><name>refs/remotes/origin/pr/2437/merge</name></branch></revision></refsremotesoriginpr2437merge><refsremotesoriginpr2620merge _class='hudson.plugins.git.util.Build'><buildNumber>154</buildNumber><marked><SHA1>c895fd8cf60f128476d3e24581235b8b48861e6d</SHA1><branch><SHA1>c895fd8cf60f128476d3e24581235b8b48861e6d</SHA1><name>refs/remotes/origin/pr/2620/merge</name></branch></marked><revision><SHA1>c895fd8cf60f128476d3e24581235b8b48861e6d</SHA1><branch><SHA1>c895fd8cf60f128476d3e24581235b8b48861e6d</SHA1><name>refs/remotes/origin/pr/2620/merge</name></branch></revision></refsremotesoriginpr2620merge><refsremotesoriginpr2918merge _class='hudson.plugins.git.util.Build'><buildNumber>479</buildNumber><marked><SHA1>5719a1fbef76d3bba441e90864835386edb69b22</SHA1><branch><SHA1>5719a1fbef76d3bba441e90864835386edb69b22</SHA1><name>refs/remotes/origin/pr/2918/merge</name></branch></marked><revision><SHA1>5719a1fbef76d3bba441e90864835386edb69b22</SHA1><branch><SHA1>5719a1fbef76d3bba441e90864835386edb69b22</SHA1><name>refs/remotes/origin/pr/2918/merge</name></branch></revision></refsremotesoriginpr2918merge><refsremotesoriginpr2978merge _class='hudson.plugins.git.util.Build'><buildNumber>555</buildNumber><marked><SHA1>db10f0cb92f68dfc1ac61470edf27b0d8274a30f</SHA1><branch><SHA1>db10f0cb92f68dfc1ac61470edf27b0d8274a30f</SHA1><name>refs/remotes/origin/pr/2978/merge</name></branch></marked><revision><SHA1>db10f0cb92f68dfc1ac61470edf27b0d8274a30f</SHA1><branch><SHA1>db10f0cb92f68dfc1ac61470edf27b0d8274a30f</SHA1><name>refs/remotes/origin/pr/2978/merge</name></branch></revision></refsremotesoriginpr2978merge><refsremotesoriginpr2457merge _class='hudson.plugins.git.util.Build'><buildNumber>17</buildNumber><marked><SHA1>5bafc922036722f7902ec0c3ac4cd08233609e94</SHA1><branch><SHA1>5bafc922036722f7902ec0c3ac4cd08233609e94</SHA1><name>refs/remotes/origin/pr/2457/merge</name></branch></marked><revision><SHA1>5bafc922036722f7902ec0c3ac4cd08233609e94</SHA1><branch><SHA1>5bafc922036722f7902ec0c3ac4cd08233609e94</SHA1><name>refs/remotes/origin/pr/2457/merge</name></branch></revision></refsremotesoriginpr2457merge><refsremotesoriginpr2502merge _class='hudson.plugins.git.util.Build'><buildNumber>61</buildNumber><marked><SHA1>a0f4c55ce39b1a8edc6e6131e38be1983f0e835e</SHA1><branch><SHA1>a0f4c55ce39b1a8edc6e6131e38be1983f0e835e</SHA1><name>refs/remotes/origin/pr/2502/merge</name></branch></marked><revision><SHA1>a0f4c55ce39b1a8edc6e6131e38be1983f0e835e</SHA1><branch><SHA1>a0f4c55ce39b1a8edc6e6131e38be1983f0e835e</SHA1><name>refs/remotes/origin/pr/2502/merge</name></branch></revision></refsremotesoriginpr2502merge><refsremotesoriginpr2993merge _class='hudson.plugins.git.util.Build'><buildNumber>579</buildNumber><marked><SHA1>d5997d7625357c01d92207988eb84efeed49a209</SHA1><branch><SHA1>d5997d7625357c01d92207988eb84efeed49a209</SHA1><name>refs/remotes/origin/pr/2993/merge</name></branch></marked><revision><SHA1>d5997d7625357c01d92207988eb84efeed49a209</SHA1><branch><SHA1>d5997d7625357c01d92207988eb84efeed49a209</SHA1><name>refs/remotes/origin/pr/2993/merge</name></branch></revision></refsremotesoriginpr2993merge><refsremotesoriginpr2522merge _class='hudson.plugins.git.util.Build'><buildNumber>78</buildNumber><marked><SHA1>0c6b340f3d118071e9042ec77391e92a763fcae4</SHA1><branch><SHA1>0c6b340f3d118071e9042ec77391e92a763fcae4</SHA1><name>refs/remotes/origin/pr/2522/merge</name></branch></marked><revision><SHA1>0c6b340f3d118071e9042ec77391e92a763fcae4</SHA1><branch><SHA1>0c6b340f3d118071e9042ec77391e92a763fcae4</SHA1><name>refs/remotes/origin/pr/2522/merge</name></branch></revision></refsremotesoriginpr2522merge><refsremotesoriginpr2807merge _class='hudson.plugins.git.util.Build'><buildNumber>481</buildNumber><marked><SHA1>550193d38ab7a5288455685a9981ebb633a44542</SHA1><branch><SHA1>550193d38ab7a5288455685a9981ebb633a44542</SHA1><name>refs/remotes/origin/pr/2807/merge</name></branch></marked><revision><SHA1>550193d38ab7a5288455685a9981ebb633a44542</SHA1><branch><SHA1>550193d38ab7a5288455685a9981ebb633a44542</SHA1><name>refs/remotes/origin/pr/2807/merge</name></branch></revision></refsremotesoriginpr2807merge><refsremotesoriginpr2945merge _class='hudson.plugins.git.util.Build'><buildNumber>526</buildNumber><marked><SHA1>df4043219de559daec67418c22dd30ddfe3bf837</SHA1><branch><SHA1>df4043219de559daec67418c22dd30ddfe3bf837</SHA1><name>refs/remotes/origin/pr/2945/merge</name></branch></marked><revision><SHA1>df4043219de559daec67418c22dd30ddfe3bf837</SHA1><branch><SHA1>df4043219de559daec67418c22dd30ddfe3bf837</SHA1><name>refs/remotes/origin/pr/2945/merge</name></branch></revision></refsremotesoriginpr2945merge><refsremotesoriginpr2404merge _class='hudson.plugins.git.util.Build'><buildNumber>20</buildNumber><marked><SHA1>0e09566432350faeb1042a8f885a1d14db8c3079</SHA1><branch><SHA1>0e09566432350faeb1042a8f885a1d14db8c3079</SHA1><name>refs/remotes/origin/pr/2404/merge</name></branch></marked><revision><SHA1>0e09566432350faeb1042a8f885a1d14db8c3079</SHA1><branch><SHA1>0e09566432350faeb1042a8f885a1d14db8c3079</SHA1><name>refs/remotes/origin/pr/2404/merge</name></branch></revision></refsremotesoriginpr2404merge><refsremotesoriginpr3005merge _class='hudson.plugins.git.util.Build'><buildNumber>593</buildNumber><marked><SHA1>084c4e44b37ccc027d6a760be66ec5c19b661725</SHA1><branch><SHA1>084c4e44b37ccc027d6a760be66ec5c19b661725</SHA1><name>refs/remotes/origin/pr/3005/merge</name></branch></marked><revision><SHA1>084c4e44b37ccc027d6a760be66ec5c19b661725</SHA1><branch><SHA1>084c4e44b37ccc027d6a760be66ec5c19b661725</SHA1><name>refs/remotes/origin/pr/3005/merge</name></branch></revision></refsremotesoriginpr3005merge><refsremotesoriginpr2575merge _class='hudson.plugins.git.util.Build'><buildNumber>100</buildNumber><marked><SHA1>5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af</SHA1><branch><SHA1>5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af</SHA1><name>refs/remotes/origin/pr/2575/merge</name></branch></marked><revision><SHA1>5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af</SHA1><branch><SHA1>5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af</SHA1><name>refs/remotes/origin/pr/2575/merge</name></branch></revision></refsremotesoriginpr2575merge><refsremotesoriginpr2757merge _class='hudson.plugins.git.util.Build'><buildNumber>328</buildNumber><marked><SHA1>8a3f008b7cdf5149498723ac3d95cb9457550aa2</SHA1><branch><SHA1>8a3f008b7cdf5149498723ac3d95cb9457550aa2</SHA1><name>refs/remotes/origin/pr/2757/merge</name></branch></marked><revision><SHA1>8a3f008b7cdf5149498723ac3d95cb9457550aa2</SHA1><branch><SHA1>8a3f008b7cdf5149498723ac3d95cb9457550aa2</SHA1><name>refs/remotes/origin/pr/2757/merge</name></branch></revision></refsremotesoriginpr2757merge><refsremotesoriginpr2465merge _class='hudson.plugins.git.util.Build'><buildNumber>25</buildNumber><marked><SHA1>706056329559cf85fa329aa72da6d84cb7ebe575</SHA1><branch><SHA1>706056329559cf85fa329aa72da6d84cb7ebe575</SHA1><name>refs/remotes/origin/pr/2465/merge</name></branch></marked><revision><SHA1>706056329559cf85fa329aa72da6d84cb7ebe575</SHA1><branch><SHA1>706056329559cf85fa329aa72da6d84cb7ebe575</SHA1><name>refs/remotes/origin/pr/2465/merge</name></branch></revision></refsremotesoriginpr2465merge><refsremotesoriginpr2777merge _class='hudson.plugins.git.util.Build'><buildNumber>365</buildNumber><marked><SHA1>999f53701d77b9f9409129ef06ea875ffea0791a</SHA1><branch><SHA1>999f53701d77b9f9409129ef06ea875ffea0791a</SHA1><name>refs/remotes/origin/pr/2777/merge</name></branch></marked><revision><SHA1>999f53701d77b9f9409129ef06ea875ffea0791a</SHA1><branch><SHA1>999f53701d77b9f9409129ef06ea875ffea0791a</SHA1><name>refs/remotes/origin/pr/2777/merge</name></branch></revision></refsremotesoriginpr2777merge><refsremotesoriginpr2925merge _class='hudson.plugins.git.util.Build'><buildNumber>491</buildNumber><marked><SHA1>9216808fc0738564355e8766496579bc4143b50d</SHA1><branch><SHA1>9216808fc0738564355e8766496579bc4143b50d</SHA1><name>refs/remotes/origin/pr/2925/merge</name></branch></marked><revision><SHA1>9216808fc0738564355e8766496579bc4143b50d</SHA1><branch><SHA1>9216808fc0738564355e8766496579bc4143b50d</SHA1><name>refs/remotes/origin/pr/2925/merge</name></branch></revision></refsremotesoriginpr2925merge><refsremotesoriginpr2717merge _class='hudson.plugins.git.util.Build'><buildNumber>261</buildNumber><marked><SHA1>2d8d6faae172da6237135dfd334609b66c11276a</SHA1><branch><SHA1>2d8d6faae172da6237135dfd334609b66c11276a</SHA1><name>refs/remotes/origin/pr/2717/merge</name></branch></marked><revision><SHA1>2d8d6faae172da6237135dfd334609b66c11276a</SHA1><branch><SHA1>2d8d6faae172da6237135dfd334609b66c11276a</SHA1><name>refs/remotes/origin/pr/2717/merge</name></branch></revision></refsremotesoriginpr2717merge><refsremotesoriginpr2965merge _class='hudson.plugins.git.util.Build'><buildNumber>546</buildNumber><marked><SHA1>af3ce240e8c00c99191b8f2e9779f961b39e293f</SHA1><branch><SHA1>af3ce240e8c00c99191b8f2e9779f961b39e293f</SHA1><name>refs/remotes/origin/pr/2965/merge</name></branch></marked><revision><SHA1>af3ce240e8c00c99191b8f2e9779f961b39e293f</SHA1><branch><SHA1>af3ce240e8c00c99191b8f2e9779f961b39e293f</SHA1><name>refs/remotes/origin/pr/2965/merge</name></branch></revision></refsremotesoriginpr2965merge><refsremotesoriginpr2693merge _class='hudson.plugins.git.util.Build'><buildNumber>221</buildNumber><marked><SHA1>3d15e62972c2ffedcef0b227d3f1874aca7a3b26</SHA1><branch><SHA1>3d15e62972c2ffedcef0b227d3f1874aca7a3b26</SHA1><name>refs/remotes/origin/pr/2693/merge</name></branch></marked><revision><SHA1>3d15e62972c2ffedcef0b227d3f1874aca7a3b26</SHA1><branch><SHA1>3d15e62972c2ffedcef0b227d3f1874aca7a3b26</SHA1><name>refs/remotes/origin/pr/2693/merge</name></branch></revision></refsremotesoriginpr2693merge><detached _class='hudson.plugins.git.util.Build'><buildNumber>605</buildNumber><marked><SHA1>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</SHA1><branch><SHA1>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</SHA1><name>detached</name></branch></marked><revision><SHA1>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</SHA1><branch><SHA1>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</SHA1><name>detached</name></branch></revision></detached><refsremotesoriginpr2791merge _class='hudson.plugins.git.util.Build'><buildNumber>367</buildNumber><marked><SHA1>d22b7638f94492a876805d0a8f1be31cf169aa20</SHA1><branch><SHA1>d22b7638f94492a876805d0a8f1be31cf169aa20</SHA1><name>refs/remotes/origin/pr/2791/merge</name></branch></marked><revision><SHA1>d22b7638f94492a876805d0a8f1be31cf169aa20</SHA1><branch><SHA1>d22b7638f94492a876805d0a8f1be31cf169aa20</SHA1><name>refs/remotes/origin/pr/2791/merge</name></branch></revision></refsremotesoriginpr2791merge><refsremotesoriginpr2797merge _class='hudson.plugins.git.util.Build'><buildNumber>378</buildNumber><marked><SHA1>4b151d653e4e87dbb74e86a71179c71b61c90f9a</SHA1><branch><SHA1>4b151d653e4e87dbb74e86a71179c71b61c90f9a</SHA1><name>refs/remotes/origin/pr/2797/merge</name></branch></marked><revision><SHA1>4b151d653e4e87dbb74e86a71179c71b61c90f9a</SHA1><branch><SHA1>4b151d653e4e87dbb74e86a71179c71b61c90f9a</SHA1><name>refs/remotes/origin/pr/2797/merge</name></branch></revision></refsremotesoriginpr2797merge><refsremotesoriginpr2659merge _class='hudson.plugins.git.util.Build'><buildNumber>188</buildNumber><marked><SHA1>2fe89089de30f701a3b3a862099b2c099ea40e17</SHA1><branch><SHA1>2fe89089de30f701a3b3a862099b2c099ea40e17</SHA1><name>refs/remotes/origin/pr/2659/merge</name></branch></marked><revision><SHA1>2fe89089de30f701a3b3a862099b2c099ea40e17</SHA1><branch><SHA1>2fe89089de30f701a3b3a862099b2c099ea40e17</SHA1><name>refs/remotes/origin/pr/2659/merge</name></branch></revision></refsremotesoriginpr2659merge><refsremotesoriginpr2563merge _class='hudson.plugins.git.util.Build'><buildNumber>96</buildNumber><marked><SHA1>9cbc7ce9422ebe42da07520d6cee7b728d20cf39</SHA1><branch><SHA1>9cbc7ce9422ebe42da07520d6cee7b728d20cf39</SHA1><name>refs/remotes/origin/pr/2563/merge</name></branch></marked><revision><SHA1>9cbc7ce9422ebe42da07520d6cee7b728d20cf39</SHA1><branch><SHA1>9cbc7ce9422ebe42da07520d6cee7b728d20cf39</SHA1><name>refs/remotes/origin/pr/2563/merge</name></branch></revision></refsremotesoriginpr2563merge><refsremotesoriginpr2751merge _class='hudson.plugins.git.util.Build'><buildNumber>315</buildNumber><marked><SHA1>e3f39168e79048521492f83c98b9a7189cb25432</SHA1><branch><SHA1>e3f39168e79048521492f83c98b9a7189cb25432</SHA1><name>refs/remotes/origin/pr/2751/merge</name></branch></marked><revision><SHA1>e3f39168e79048521492f83c98b9a7189cb25432</SHA1><branch><SHA1>e3f39168e79048521492f83c98b9a7189cb25432</SHA1><name>refs/remotes/origin/pr/2751/merge</name></branch></revision></refsremotesoriginpr2751merge><refsremotesoriginpr2699merge _class='hudson.plugins.git.util.Build'><buildNumber>234</buildNumber><marked><SHA1>3782841ca9217857fda1bad4a25d258035abdbe7</SHA1><branch><SHA1>3782841ca9217857fda1bad4a25d258035abdbe7</SHA1><name>refs/remotes/origin/pr/2699/merge</name></branch></marked><revision><SHA1>3782841ca9217857fda1bad4a25d258035abdbe7</SHA1><branch><SHA1>3782841ca9217857fda1bad4a25d258035abdbe7</SHA1><name>refs/remotes/origin/pr/2699/merge</name></branch></revision></refsremotesoriginpr2699merge><refsremotesoriginpr2681merge _class='hudson.plugins.git.util.Build'><buildNumber>207</buildNumber><marked><SHA1>06a02c4b193710ed873851838d44032205645022</SHA1><branch><SHA1>06a02c4b193710ed873851838d44032205645022</SHA1><name>refs/remotes/origin/pr/2681/merge</name></branch></marked><revision><SHA1>06a02c4b193710ed873851838d44032205645022</SHA1><branch><SHA1>06a02c4b193710ed873851838d44032205645022</SHA1><name>refs/remotes/origin/pr/2681/merge</name></branch></revision></refsremotesoriginpr2681merge><refsremotesoriginpr2709merge _class='hudson.plugins.git.util.Build'><buildNumber>243</buildNumber><marked><SHA1>729f3df9e9a27b27f0cc7a6e9cedff9776414abc</SHA1><branch><SHA1>729f3df9e9a27b27f0cc7a6e9cedff9776414abc</SHA1><name>refs/remotes/origin/pr/2709/merge</name></branch></marked><revision><SHA1>729f3df9e9a27b27f0cc7a6e9cedff9776414abc</SHA1><branch><SHA1>729f3df9e9a27b27f0cc7a6e9cedff9776414abc</SHA1><name>refs/remotes/origin/pr/2709/merge</name></branch></revision></refsremotesoriginpr2709merge><refsremotesoriginpr2729merge _class='hudson.plugins.git.util.Build'><buildNumber>297</buildNumber><marked><SHA1>d6ebb37a7c0bd1f59579e691eb9863d8abf3b026</SHA1><branch><SHA1>d6ebb37a7c0bd1f59579e691eb9863d8abf3b026</SHA1><name>refs/remotes/origin/pr/2729/merge</name></branch></marked><revision><SHA1>d6ebb37a7c0bd1f59579e691eb9863d8abf3b026</SHA1><branch><SHA1>d6ebb37a7c0bd1f59579e691eb9863d8abf3b026</SHA1><name>refs/remotes/origin/pr/2729/merge</name></branch></revision></refsremotesoriginpr2729merge><refsremotesoriginpr2749merge _class='hudson.plugins.git.util.Build'><buildNumber>332</buildNumber><marked><SHA1>72ade9f9967018bd8476230034d763ed86e9a599</SHA1><branch><SHA1>72ade9f9967018bd8476230034d763ed86e9a599</SHA1><name>refs/remotes/origin/pr/2749/merge</name></branch></marked><revision><SHA1>72ade9f9967018bd8476230034d763ed86e9a599</SHA1><branch><SHA1>72ade9f9967018bd8476230034d763ed86e9a599</SHA1><name>refs/remotes/origin/pr/2749/merge</name></branch></revision></refsremotesoriginpr2749merge><refsremotesoriginpr2503merge _class='hudson.plugins.git.util.Build'><buildNumber>58</buildNumber><marked><SHA1>2c65607d510390b0e3795aae757a2bde4dc0f56f</SHA1><branch><SHA1>2c65607d510390b0e3795aae757a2bde4dc0f56f</SHA1><name>refs/remotes/origin/pr/2503/merge</name></branch></marked><revision><SHA1>2c65607d510390b0e3795aae757a2bde4dc0f56f</SHA1><branch><SHA1>2c65607d510390b0e3795aae757a2bde4dc0f56f</SHA1><name>refs/remotes/origin/pr/2503/merge</name></branch></revision></refsremotesoriginpr2503merge><refsremotesoriginpr2926merge _class='hudson.plugins.git.util.Build'><buildNumber>494</buildNumber><marked><SHA1>fc8ab67a08fc78200f13a2e307906e3147d01061</SHA1><branch><SHA1>fc8ab67a08fc78200f13a2e307906e3147d01061</SHA1><name>refs/remotes/origin/pr/2926/merge</name></branch></marked><revision><SHA1>fc8ab67a08fc78200f13a2e307906e3147d01061</SHA1><branch><SHA1>fc8ab67a08fc78200f13a2e307906e3147d01061</SHA1><name>refs/remotes/origin/pr/2926/merge</name></branch></revision></refsremotesoriginpr2926merge><refsremotesoriginpr2979merge _class='hudson.plugins.git.util.Build'><buildNumber>560</buildNumber><marked><SHA1>40daf9febe766ef6c15afd24d0ed779418afe485</SHA1><branch><SHA1>40daf9febe766ef6c15afd24d0ed779418afe485</SHA1><name>refs/remotes/origin/pr/2979/merge</name></branch></marked><revision><SHA1>40daf9febe766ef6c15afd24d0ed779418afe485</SHA1><branch><SHA1>40daf9febe766ef6c15afd24d0ed779418afe485</SHA1><name>refs/remotes/origin/pr/2979/merge</name></branch></revision></refsremotesoriginpr2979merge><refsremotesoriginpr2451merge _class='hudson.plugins.git.util.Build'><buildNumber>11</buildNumber><marked><SHA1>0de2759a56d8ec943a4cbaa861835ea9ca699734</SHA1><branch><SHA1>0de2759a56d8ec943a4cbaa861835ea9ca699734</SHA1><name>refs/remotes/origin/pr/2451/merge</name></branch></marked><revision><SHA1>0de2759a56d8ec943a4cbaa861835ea9ca699734</SHA1><branch><SHA1>0de2759a56d8ec943a4cbaa861835ea9ca699734</SHA1><name>refs/remotes/origin/pr/2451/merge</name></branch></revision></refsremotesoriginpr2451merge><refsremotesoriginpr2736merge _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>f82ea9ea4a3b6d4a13e3e99a03f777912491b4b5</SHA1><branch><SHA1>f82ea9ea4a3b6d4a13e3e99a03f777912491b4b5</SHA1><name>refs/remotes/origin/pr/2736/merge</name></branch></marked><revision><SHA1>f82ea9ea4a3b6d4a13e3e99a03f777912491b4b5</SHA1><branch><SHA1>f82ea9ea4a3b6d4a13e3e99a03f777912491b4b5</SHA1><name>refs/remotes/origin/pr/2736/merge</name></branch></revision></refsremotesoriginpr2736merge><refsremotesoriginpr2458merge _class='hudson.plugins.git.util.Build'><buildNumber>18</buildNumber><marked><SHA1>34d4937ab03a111f00c3dcc64568345064c44627</SHA1><branch><SHA1>34d4937ab03a111f00c3dcc64568345064c44627</SHA1><name>refs/remotes/origin/pr/2458/merge</name></branch></marked><revision><SHA1>34d4937ab03a111f00c3dcc64568345064c44627</SHA1><branch><SHA1>34d4937ab03a111f00c3dcc64568345064c44627</SHA1><name>refs/remotes/origin/pr/2458/merge</name></branch></revision></refsremotesoriginpr2458merge><refsremotesoriginpr2694merge _class='hudson.plugins.git.util.Build'><buildNumber>227</buildNumber><marked><SHA1>1afb16ac6670c0fc759962953a807252fac21552</SHA1><branch><SHA1>1afb16ac6670c0fc759962953a807252fac21552</SHA1><name>refs/remotes/origin/pr/2694/merge</name></branch></marked><revision><SHA1>1afb16ac6670c0fc759962953a807252fac21552</SHA1><branch><SHA1>1afb16ac6670c0fc759962953a807252fac21552</SHA1><name>refs/remotes/origin/pr/2694/merge</name></branch></revision></refsremotesoriginpr2694merge><refsremotesoriginpr2776merge _class='hudson.plugins.git.util.Build'><buildNumber>360</buildNumber><marked><SHA1>b1ec6f1141d02670bf8f62ca2809115d41d9a657</SHA1><branch><SHA1>b1ec6f1141d02670bf8f62ca2809115d41d9a657</SHA1><name>refs/remotes/origin/pr/2776/merge</name></branch></marked><revision><SHA1>b1ec6f1141d02670bf8f62ca2809115d41d9a657</SHA1><branch><SHA1>b1ec6f1141d02670bf8f62ca2809115d41d9a657</SHA1><name>refs/remotes/origin/pr/2776/merge</name></branch></revision></refsremotesoriginpr2776merge><refsremotesoriginpr2723merge _class='hudson.plugins.git.util.Build'><buildNumber>289</buildNumber><marked><SHA1>4e6884e8d7d5c91d43fe6a745fd8a70f62c77d10</SHA1><branch><SHA1>4e6884e8d7d5c91d43fe6a745fd8a70f62c77d10</SHA1><name>refs/remotes/origin/pr/2723/merge</name></branch></marked><revision><SHA1>4e6884e8d7d5c91d43fe6a745fd8a70f62c77d10</SHA1><branch><SHA1>4e6884e8d7d5c91d43fe6a745fd8a70f62c77d10</SHA1><name>refs/remotes/origin/pr/2723/merge</name></branch></revision></refsremotesoriginpr2723merge><refsremotesoriginpr2464merge _class='hudson.plugins.git.util.Build'><buildNumber>22</buildNumber><marked><SHA1>1a5316f20d9ffb9906f606482bf558197ab7b36a</SHA1><branch><SHA1>1a5316f20d9ffb9906f606482bf558197ab7b36a</SHA1><name>refs/remotes/origin/pr/2464/merge</name></branch></marked><revision><SHA1>1a5316f20d9ffb9906f606482bf558197ab7b36a</SHA1><branch><SHA1>1a5316f20d9ffb9906f606482bf558197ab7b36a</SHA1><name>refs/remotes/origin/pr/2464/merge</name></branch></revision></refsremotesoriginpr2464merge><refsremotesoriginpr2399merge _class='hudson.plugins.git.util.Build'><buildNumber>24</buildNumber><marked><SHA1>4555c4ed09e44f43d97eb80d5866d93ee541db52</SHA1><branch><SHA1>4555c4ed09e44f43d97eb80d5866d93ee541db52</SHA1><name>refs/remotes/origin/pr/2399/merge</name></branch></marked><revision><SHA1>4555c4ed09e44f43d97eb80d5866d93ee541db52</SHA1><branch><SHA1>4555c4ed09e44f43d97eb80d5866d93ee541db52</SHA1><name>refs/remotes/origin/pr/2399/merge</name></branch></revision></refsremotesoriginpr2399merge><refsremotesoriginpr2763merge _class='hudson.plugins.git.util.Build'><buildNumber>340</buildNumber><marked><SHA1>265004ac72416693ffbb88ed80e260d9577a467b</SHA1><branch><SHA1>265004ac72416693ffbb88ed80e260d9577a467b</SHA1><name>refs/remotes/origin/pr/2763/merge</name></branch></marked><revision><SHA1>265004ac72416693ffbb88ed80e260d9577a467b</SHA1><branch><SHA1>265004ac72416693ffbb88ed80e260d9577a467b</SHA1><name>refs/remotes/origin/pr/2763/merge</name></branch></revision></refsremotesoriginpr2763merge><refsremotesoriginpr2966merge _class='hudson.plugins.git.util.Build'><buildNumber>548</buildNumber><marked><SHA1>2330ad144b1cc0795d1b4778de80a4a971bce08b</SHA1><branch><SHA1>2330ad144b1cc0795d1b4778de80a4a971bce08b</SHA1><name>refs/remotes/origin/pr/2966/merge</name></branch></marked><revision><SHA1>2330ad144b1cc0795d1b4778de80a4a971bce08b</SHA1><branch><SHA1>2330ad144b1cc0795d1b4778de80a4a971bce08b</SHA1><name>refs/remotes/origin/pr/2966/merge</name></branch></revision></refsremotesoriginpr2966merge><refsremotesoriginpr2562merge _class='hudson.plugins.git.util.Build'><buildNumber>97</buildNumber><marked><SHA1>43ecc261d9a0089afe78740396df89f7f9fe83b4</SHA1><branch><SHA1>43ecc261d9a0089afe78740396df89f7f9fe83b4</SHA1><name>refs/remotes/origin/pr/2562/merge</name></branch></marked><revision><SHA1>43ecc261d9a0089afe78740396df89f7f9fe83b4</SHA1><branch><SHA1>43ecc261d9a0089afe78740396df89f7f9fe83b4</SHA1><name>refs/remotes/origin/pr/2562/merge</name></branch></revision></refsremotesoriginpr2562merge><refsremotesoriginpr2850merge _class='hudson.plugins.git.util.Build'><buildNumber>417</buildNumber><marked><SHA1>dc9da9e24679d5664f7c200186c8e2ee666bb2d7</SHA1><branch><SHA1>dc9da9e24679d5664f7c200186c8e2ee666bb2d7</SHA1><name>refs/remotes/origin/pr/2850/merge</name></branch></marked><revision><SHA1>dc9da9e24679d5664f7c200186c8e2ee666bb2d7</SHA1><branch><SHA1>dc9da9e24679d5664f7c200186c8e2ee666bb2d7</SHA1><name>refs/remotes/origin/pr/2850/merge</name></branch></revision></refsremotesoriginpr2850merge><refsremotesoriginpr2625merge _class='hudson.plugins.git.util.Build'><buildNumber>155</buildNumber><marked><SHA1>6250e5ad2b7bc6e7cbf0bc2740586262519e90d0</SHA1><branch><SHA1>6250e5ad2b7bc6e7cbf0bc2740586262519e90d0</SHA1><name>refs/remotes/origin/pr/2625/merge</name></branch></marked><revision><SHA1>6250e5ad2b7bc6e7cbf0bc2740586262519e90d0</SHA1><branch><SHA1>6250e5ad2b7bc6e7cbf0bc2740586262519e90d0</SHA1><name>refs/remotes/origin/pr/2625/merge</name></branch></revision></refsremotesoriginpr2625merge><refsremotesoriginpr2665merge _class='hudson.plugins.git.util.Build'><buildNumber>274</buildNumber><marked><SHA1>be04c2ee7bd92a7cd572318663342d2f9841917e</SHA1><branch><SHA1>be04c2ee7bd92a7cd572318663342d2f9841917e</SHA1><name>refs/remotes/origin/pr/2665/merge</name></branch></marked><revision><SHA1>be04c2ee7bd92a7cd572318663342d2f9841917e</SHA1><branch><SHA1>be04c2ee7bd92a7cd572318663342d2f9841917e</SHA1><name>refs/remotes/origin/pr/2665/merge</name></branch></revision></refsremotesoriginpr2665merge><refsremotesoriginpr2730merge _class='hudson.plugins.git.util.Build'><buildNumber>299</buildNumber><marked><SHA1>51a4fa5aa5cf5e660ae1c303ee916bf5b2b4a179</SHA1><branch><SHA1>51a4fa5aa5cf5e660ae1c303ee916bf5b2b4a179</SHA1><name>refs/remotes/origin/pr/2730/merge</name></branch></marked><revision><SHA1>51a4fa5aa5cf5e660ae1c303ee916bf5b2b4a179</SHA1><branch><SHA1>51a4fa5aa5cf5e660ae1c303ee916bf5b2b4a179</SHA1><name>refs/remotes/origin/pr/2730/merge</name></branch></revision></refsremotesoriginpr2730merge><refsremotesoriginpr2660merge _class='hudson.plugins.git.util.Build'><buildNumber>190</buildNumber><marked><SHA1>e8881582af5dd4e276465d76a317bf9ff39e8a5a</SHA1><branch><SHA1>e8881582af5dd4e276465d76a317bf9ff39e8a5a</SHA1><name>refs/remotes/origin/pr/2660/merge</name></branch></marked><revision><SHA1>e8881582af5dd4e276465d76a317bf9ff39e8a5a</SHA1><branch><SHA1>e8881582af5dd4e276465d76a317bf9ff39e8a5a</SHA1><name>refs/remotes/origin/pr/2660/merge</name></branch></revision></refsremotesoriginpr2660merge><refsremotesoriginpr2810merge _class='hudson.plugins.git.util.Build'><buildNumber>397</buildNumber><marked><SHA1>935caf4b0007a9eb7b36f443a9a093cbf2c11b09</SHA1><branch><SHA1>935caf4b0007a9eb7b36f443a9a093cbf2c11b09</SHA1><name>refs/remotes/origin/pr/2810/merge</name></branch></marked><revision><SHA1>935caf4b0007a9eb7b36f443a9a093cbf2c11b09</SHA1><branch><SHA1>935caf4b0007a9eb7b36f443a9a093cbf2c11b09</SHA1><name>refs/remotes/origin/pr/2810/merge</name></branch></revision></refsremotesoriginpr2810merge><refsremotesoriginpr2920merge _class='hudson.plugins.git.util.Build'><buildNumber>519</buildNumber><marked><SHA1>d770dcf4c2dbf3b3eb3151d5ebb3182424b65eea</SHA1><branch><SHA1>d770dcf4c2dbf3b3eb3151d5ebb3182424b65eea</SHA1><name>refs/remotes/origin/pr/2920/merge</name></branch></marked><revision><SHA1>d770dcf4c2dbf3b3eb3151d5ebb3182424b65eea</SHA1><branch><SHA1>d770dcf4c2dbf3b3eb3151d5ebb3182424b65eea</SHA1><name>refs/remotes/origin/pr/2920/merge</name></branch></revision></refsremotesoriginpr2920merge><refsremotesoriginpr2527merge _class='hudson.plugins.git.util.Build'><buildNumber>73</buildNumber><marked><SHA1>7ac4187f13a382ffb048966d778055357642f2dd</SHA1><branch><SHA1>7ac4187f13a382ffb048966d778055357642f2dd</SHA1><name>refs/remotes/origin/pr/2527/merge</name></branch></marked><revision><SHA1>7ac4187f13a382ffb048966d778055357642f2dd</SHA1><branch><SHA1>7ac4187f13a382ffb048966d778055357642f2dd</SHA1><name>refs/remotes/origin/pr/2527/merge</name></branch></revision></refsremotesoriginpr2527merge><refsremotesoriginpr2712merge _class='hudson.plugins.git.util.Build'><buildNumber>251</buildNumber><marked><SHA1>6dcbf5a075a44c16b86a034c1f9e461d412ebfa9</SHA1><branch><SHA1>6dcbf5a075a44c16b86a034c1f9e461d412ebfa9</SHA1><name>refs/remotes/origin/pr/2712/merge</name></branch></marked><revision><SHA1>6dcbf5a075a44c16b86a034c1f9e461d412ebfa9</SHA1><branch><SHA1>6dcbf5a075a44c16b86a034c1f9e461d412ebfa9</SHA1><name>refs/remotes/origin/pr/2712/merge</name></branch></revision></refsremotesoriginpr2712merge><refsremotesoriginpr2480merge _class='hudson.plugins.git.util.Build'><buildNumber>42</buildNumber><marked><SHA1>dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45</SHA1><branch><SHA1>dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45</SHA1><name>refs/remotes/origin/pr/2480/merge</name></branch></marked><revision><SHA1>dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45</SHA1><branch><SHA1>dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45</SHA1><name>refs/remotes/origin/pr/2480/merge</name></branch></revision></refsremotesoriginpr2480merge><refsremotesoriginpr2862merge _class='hudson.plugins.git.util.Build'><buildNumber>428</buildNumber><marked><SHA1>a6555176ac20572689ed3e3e947a9360374a6271</SHA1><branch><SHA1>a6555176ac20572689ed3e3e947a9360374a6271</SHA1><name>refs/remotes/origin/pr/2862/merge</name></branch></marked><revision><SHA1>a6555176ac20572689ed3e3e947a9360374a6271</SHA1><branch><SHA1>a6555176ac20572689ed3e3e947a9360374a6271</SHA1><name>refs/remotes/origin/pr/2862/merge</name></branch></revision></refsremotesoriginpr2862merge><refsremotesoriginpr2724merge _class='hudson.plugins.git.util.Build'><buildNumber>291</buildNumber><marked><SHA1>f22f1074980e9b96b90585983cc7909de09b40bb</SHA1><branch><SHA1>f22f1074980e9b96b90585983cc7909de09b40bb</SHA1><name>refs/remotes/origin/pr/2724/merge</name></branch></marked><revision><SHA1>f22f1074980e9b96b90585983cc7909de09b40bb</SHA1><branch><SHA1>f22f1074980e9b96b90585983cc7909de09b40bb</SHA1><name>refs/remotes/origin/pr/2724/merge</name></branch></revision></refsremotesoriginpr2724merge><refsremotesoriginpr2939merge _class='hudson.plugins.git.util.Build'><buildNumber>521</buildNumber><marked><SHA1>0ec28716874fe41f652c38e2c5b24300fe188bcb</SHA1><branch><SHA1>0ec28716874fe41f652c38e2c5b24300fe188bcb</SHA1><name>refs/remotes/origin/pr/2939/merge</name></branch></marked><revision><SHA1>0ec28716874fe41f652c38e2c5b24300fe188bcb</SHA1><branch><SHA1>0ec28716874fe41f652c38e2c5b24300fe188bcb</SHA1><name>refs/remotes/origin/pr/2939/merge</name></branch></revision></refsremotesoriginpr2939merge><refsremotesoriginpr2614merge _class='hudson.plugins.git.util.Build'><buildNumber>150</buildNumber><marked><SHA1>a8dfc54f693192bc9bcef31bcf0f64b503ae2b62</SHA1><branch><SHA1>a8dfc54f693192bc9bcef31bcf0f64b503ae2b62</SHA1><name>refs/remotes/origin/pr/2614/merge</name></branch></marked><revision><SHA1>a8dfc54f693192bc9bcef31bcf0f64b503ae2b62</SHA1><branch><SHA1>a8dfc54f693192bc9bcef31bcf0f64b503ae2b62</SHA1><name>refs/remotes/origin/pr/2614/merge</name></branch></revision></refsremotesoriginpr2614merge><refsremotesoriginpr2932merge _class='hudson.plugins.git.util.Build'><buildNumber>504</buildNumber><marked><SHA1>6d8a689052e4136da3a2fe8a37e2754795362636</SHA1><branch><SHA1>6d8a689052e4136da3a2fe8a37e2754795362636</SHA1><name>refs/remotes/origin/pr/2932/merge</name></branch></marked><revision><SHA1>6d8a689052e4136da3a2fe8a37e2754795362636</SHA1><branch><SHA1>6d8a689052e4136da3a2fe8a37e2754795362636</SHA1><name>refs/remotes/origin/pr/2932/merge</name></branch></revision></refsremotesoriginpr2932merge><refsremotesoriginpr2626merge _class='hudson.plugins.git.util.Build'><buildNumber>156</buildNumber><marked><SHA1>d0a3da4c307fd89ee43c1fb5603805b50aec8b14</SHA1><branch><SHA1>d0a3da4c307fd89ee43c1fb5603805b50aec8b14</SHA1><name>refs/remotes/origin/pr/2626/merge</name></branch></marked><revision><SHA1>d0a3da4c307fd89ee43c1fb5603805b50aec8b14</SHA1><branch><SHA1>d0a3da4c307fd89ee43c1fb5603805b50aec8b14</SHA1><name>refs/remotes/origin/pr/2626/merge</name></branch></revision></refsremotesoriginpr2626merge><refsremotesoriginpr2764merge _class='hudson.plugins.git.util.Build'><buildNumber>350</buildNumber><marked><SHA1>096dca545054ce21145a80c66c2c340cbca0edbd</SHA1><branch><SHA1>096dca545054ce21145a80c66c2c340cbca0edbd</SHA1><name>refs/remotes/origin/pr/2764/merge</name></branch></marked><revision><SHA1>096dca545054ce21145a80c66c2c340cbca0edbd</SHA1><branch><SHA1>096dca545054ce21145a80c66c2c340cbca0edbd</SHA1><name>refs/remotes/origin/pr/2764/merge</name></branch></revision></refsremotesoriginpr2764merge><refsremotesoriginpr2596merge _class='hudson.plugins.git.util.Build'><buildNumber>142</buildNumber><marked><SHA1>560b8090f01511ca01fcba52ca317eb894d2f955</SHA1><branch><SHA1>560b8090f01511ca01fcba52ca317eb894d2f955</SHA1><name>refs/remotes/origin/pr/2596/merge</name></branch></marked><revision><SHA1>560b8090f01511ca01fcba52ca317eb894d2f955</SHA1><branch><SHA1>560b8090f01511ca01fcba52ca317eb894d2f955</SHA1><name>refs/remotes/origin/pr/2596/merge</name></branch></revision></refsremotesoriginpr2596merge><refsremotesoriginpr2516merge _class='hudson.plugins.git.util.Build'><buildNumber>66</buildNumber><marked><SHA1>42d092c998f8e32f22ff38cd3832813087343e55</SHA1><branch><SHA1>42d092c998f8e32f22ff38cd3832813087343e55</SHA1><name>refs/remotes/origin/pr/2516/merge</name></branch></marked><revision><SHA1>42d092c998f8e32f22ff38cd3832813087343e55</SHA1><branch><SHA1>42d092c998f8e32f22ff38cd3832813087343e55</SHA1><name>refs/remotes/origin/pr/2516/merge</name></branch></revision></refsremotesoriginpr2516merge><refsremotesoriginpr2834merge _class='hudson.plugins.git.util.Build'><buildNumber>493</buildNumber><marked><SHA1>6e415455aab7568310683c2e8349a3e2f333d89e</SHA1><branch><SHA1>6e415455aab7568310683c2e8349a3e2f333d89e</SHA1><name>refs/remotes/origin/pr/2834/merge</name></branch></marked><revision><SHA1>6e415455aab7568310683c2e8349a3e2f333d89e</SHA1><branch><SHA1>6e415455aab7568310683c2e8349a3e2f333d89e</SHA1><name>refs/remotes/origin/pr/2834/merge</name></branch></revision></refsremotesoriginpr2834merge><refsremotesoriginpr2496merge _class='hudson.plugins.git.util.Build'><buildNumber>53</buildNumber><marked><SHA1>d4dd8df4cd220b5a493b0565b7852075ad192662</SHA1><branch><SHA1>d4dd8df4cd220b5a493b0565b7852075ad192662</SHA1><name>refs/remotes/origin/pr/2496/merge</name></branch></marked><revision><SHA1>d4dd8df4cd220b5a493b0565b7852075ad192662</SHA1><branch><SHA1>d4dd8df4cd220b5a493b0565b7852075ad192662</SHA1><name>refs/remotes/origin/pr/2496/merge</name></branch></revision></refsremotesoriginpr2496merge><refsremotesoriginpr2964merge _class='hudson.plugins.git.util.Build'><buildNumber>545</buildNumber><marked><SHA1>769303fb899078751be77cb53e568e687a17079f</SHA1><branch><SHA1>769303fb899078751be77cb53e568e687a17079f</SHA1><name>refs/remotes/origin/pr/2964/merge</name></branch></marked><revision><SHA1>769303fb899078751be77cb53e568e687a17079f</SHA1><branch><SHA1>769303fb899078751be77cb53e568e687a17079f</SHA1><name>refs/remotes/origin/pr/2964/merge</name></branch></revision></refsremotesoriginpr2964merge><refsremotesoriginpr2551merge _class='hudson.plugins.git.util.Build'><buildNumber>88</buildNumber><marked><SHA1>49c0c749bb192f3652c81d8706158915b2782968</SHA1><branch><SHA1>49c0c749bb192f3652c81d8706158915b2782968</SHA1><name>refs/remotes/origin/pr/2551/merge</name></branch></marked><revision><SHA1>49c0c749bb192f3652c81d8706158915b2782968</SHA1><branch><SHA1>49c0c749bb192f3652c81d8706158915b2782968</SHA1><name>refs/remotes/origin/pr/2551/merge</name></branch></revision></refsremotesoriginpr2551merge><refsremotesoriginpr2561merge _class='hudson.plugins.git.util.Build'><buildNumber>94</buildNumber><marked><SHA1>bff5864ad4934a08fb19c78d1487682e357b8c8c</SHA1><branch><SHA1>bff5864ad4934a08fb19c78d1487682e357b8c8c</SHA1><name>refs/remotes/origin/pr/2561/merge</name></branch></marked><revision><SHA1>bff5864ad4934a08fb19c78d1487682e357b8c8c</SHA1><branch><SHA1>bff5864ad4934a08fb19c78d1487682e357b8c8c</SHA1><name>refs/remotes/origin/pr/2561/merge</name></branch></revision></refsremotesoriginpr2561merge><refsremotesoriginpr2899merge _class='hudson.plugins.git.util.Build'><buildNumber>467</buildNumber><marked><SHA1>5fbec86c15ee5d45504d9d8dd0096edf0a82f554</SHA1><branch><SHA1>5fbec86c15ee5d45504d9d8dd0096edf0a82f554</SHA1><name>refs/remotes/origin/pr/2899/merge</name></branch></marked><revision><SHA1>5fbec86c15ee5d45504d9d8dd0096edf0a82f554</SHA1><branch><SHA1>5fbec86c15ee5d45504d9d8dd0096edf0a82f554</SHA1><name>refs/remotes/origin/pr/2899/merge</name></branch></revision></refsremotesoriginpr2899merge><refsremotesoriginpr2934merge _class='hudson.plugins.git.util.Build'><buildNumber>512</buildNumber><marked><SHA1>c4271a01bb0802b1c7035d801095287888b0eca7</SHA1><branch><SHA1>c4271a01bb0802b1c7035d801095287888b0eca7</SHA1><name>refs/remotes/origin/pr/2934/merge</name></branch></marked><revision><SHA1>c4271a01bb0802b1c7035d801095287888b0eca7</SHA1><branch><SHA1>c4271a01bb0802b1c7035d801095287888b0eca7</SHA1><name>refs/remotes/origin/pr/2934/merge</name></branch></revision></refsremotesoriginpr2934merge><refsremotesoriginpr2708merge _class='hudson.plugins.git.util.Build'><buildNumber>242</buildNumber><marked><SHA1>e397e5e0e703ab196a9444bbe0f736105931e7e8</SHA1><branch><SHA1>e397e5e0e703ab196a9444bbe0f736105931e7e8</SHA1><name>refs/remotes/origin/pr/2708/merge</name></branch></marked><revision><SHA1>e397e5e0e703ab196a9444bbe0f736105931e7e8</SHA1><branch><SHA1>e397e5e0e703ab196a9444bbe0f736105931e7e8</SHA1><name>refs/remotes/origin/pr/2708/merge</name></branch></revision></refsremotesoriginpr2708merge><refsremotesoriginpr2984merge _class='hudson.plugins.git.util.Build'><buildNumber>564</buildNumber><marked><SHA1>5bcc8ca36e7beb6ea61428c7dbe52e6682b08f79</SHA1><branch><SHA1>5bcc8ca36e7beb6ea61428c7dbe52e6682b08f79</SHA1><name>refs/remotes/origin/pr/2984/merge</name></branch></marked><revision><SHA1>5bcc8ca36e7beb6ea61428c7dbe52e6682b08f79</SHA1><branch><SHA1>5bcc8ca36e7beb6ea61428c7dbe52e6682b08f79</SHA1><name>refs/remotes/origin/pr/2984/merge</name></branch></revision></refsremotesoriginpr2984merge><refsremotesoriginpr2994merge _class='hudson.plugins.git.util.Build'><buildNumber>602</buildNumber><marked><SHA1>56782d96ca326a69c77abe8b8b375ad500071fef</SHA1><branch><SHA1>56782d96ca326a69c77abe8b8b375ad500071fef</SHA1><name>refs/remotes/origin/pr/2994/merge</name></branch></marked><revision><SHA1>56782d96ca326a69c77abe8b8b375ad500071fef</SHA1><branch><SHA1>56782d96ca326a69c77abe8b8b375ad500071fef</SHA1><name>refs/remotes/origin/pr/2994/merge</name></branch></revision></refsremotesoriginpr2994merge><refsremotesoriginpr2584merge _class='hudson.plugins.git.util.Build'><buildNumber>106</buildNumber><marked><SHA1>51e3fc105efa0de813223633bc6bd6df11c0e28a</SHA1><branch><SHA1>51e3fc105efa0de813223633bc6bd6df11c0e28a</SHA1><name>refs/remotes/origin/pr/2584/merge</name></branch></marked><revision><SHA1>51e3fc105efa0de813223633bc6bd6df11c0e28a</SHA1><branch><SHA1>51e3fc105efa0de813223633bc6bd6df11c0e28a</SHA1><name>refs/remotes/origin/pr/2584/merge</name></branch></revision></refsremotesoriginpr2584merge><refsremotesoriginpr3006merge _class='hudson.plugins.git.util.Build'><buildNumber>589</buildNumber><marked><SHA1>b41042d78d9f49d1642d49018ea75638ea8e0eca</SHA1><branch><SHA1>b41042d78d9f49d1642d49018ea75638ea8e0eca</SHA1><name>refs/remotes/origin/pr/3006/merge</name></branch></marked><revision><SHA1>b41042d78d9f49d1642d49018ea75638ea8e0eca</SHA1><branch><SHA1>b41042d78d9f49d1642d49018ea75638ea8e0eca</SHA1><name>refs/remotes/origin/pr/3006/merge</name></branch></revision></refsremotesoriginpr3006merge><refsremotesoriginpr2574merge _class='hudson.plugins.git.util.Build'><buildNumber>109</buildNumber><marked><SHA1>804673e9f03747bc80cbafc2fcb7b04118007845</SHA1><branch><SHA1>804673e9f03747bc80cbafc2fcb7b04118007845</SHA1><name>refs/remotes/origin/pr/2574/merge</name></branch></marked><revision><SHA1>804673e9f03747bc80cbafc2fcb7b04118007845</SHA1><branch><SHA1>804673e9f03747bc80cbafc2fcb7b04118007845</SHA1><name>refs/remotes/origin/pr/2574/merge</name></branch></revision></refsremotesoriginpr2574merge><refsremotesoriginpr2911merge _class='hudson.plugins.git.util.Build'><buildNumber>475</buildNumber><marked><SHA1>eb90d4f935ccd394af9e4c1836f7fcfbbe2ee197</SHA1><branch><SHA1>eb90d4f935ccd394af9e4c1836f7fcfbbe2ee197</SHA1><name>refs/remotes/origin/pr/2911/merge</name></branch></marked><revision><SHA1>eb90d4f935ccd394af9e4c1836f7fcfbbe2ee197</SHA1><branch><SHA1>eb90d4f935ccd394af9e4c1836f7fcfbbe2ee197</SHA1><name>refs/remotes/origin/pr/2911/merge</name></branch></revision></refsremotesoriginpr2911merge><refsremotesoriginpr2826merge _class='hudson.plugins.git.util.Build'><buildNumber>406</buildNumber><marked><SHA1>6efb8b0aaff024fa5edb94d6df0a3a25084bcee7</SHA1><branch><SHA1>6efb8b0aaff024fa5edb94d6df0a3a25084bcee7</SHA1><name>refs/remotes/origin/pr/2826/merge</name></branch></marked><revision><SHA1>6efb8b0aaff024fa5edb94d6df0a3a25084bcee7</SHA1><branch><SHA1>6efb8b0aaff024fa5edb94d6df0a3a25084bcee7</SHA1><name>refs/remotes/origin/pr/2826/merge</name></branch></revision></refsremotesoriginpr2826merge><refsremotesoriginpr2846merge _class='hudson.plugins.git.util.Build'><buildNumber>414</buildNumber><marked><SHA1>2900a1af3003a6685eb8cc7a1d35cc160efbae19</SHA1><branch><SHA1>2900a1af3003a6685eb8cc7a1d35cc160efbae19</SHA1><name>refs/remotes/origin/pr/2846/merge</name></branch></marked><revision><SHA1>2900a1af3003a6685eb8cc7a1d35cc160efbae19</SHA1><branch><SHA1>2900a1af3003a6685eb8cc7a1d35cc160efbae19</SHA1><name>refs/remotes/origin/pr/2846/merge</name></branch></revision></refsremotesoriginpr2846merge><refsremotesoriginpr2856merge _class='hudson.plugins.git.util.Build'><buildNumber>440</buildNumber><marked><SHA1>9e6fd19fd776cfc706c92b914b5b57dc38243e7e</SHA1><branch><SHA1>9e6fd19fd776cfc706c92b914b5b57dc38243e7e</SHA1><name>refs/remotes/origin/pr/2856/merge</name></branch></marked><revision><SHA1>9e6fd19fd776cfc706c92b914b5b57dc38243e7e</SHA1><branch><SHA1>9e6fd19fd776cfc706c92b914b5b57dc38243e7e</SHA1><name>refs/remotes/origin/pr/2856/merge</name></branch></revision></refsremotesoriginpr2856merge><refsremotesoriginpr2876merge _class='hudson.plugins.git.util.Build'><buildNumber>438</buildNumber><marked><SHA1>beadc9faf94783553c61fc8ccc12691584950c7c</SHA1><branch><SHA1>beadc9faf94783553c61fc8ccc12691584950c7c</SHA1><name>refs/remotes/origin/pr/2876/merge</name></branch></marked><revision><SHA1>beadc9faf94783553c61fc8ccc12691584950c7c</SHA1><branch><SHA1>beadc9faf94783553c61fc8ccc12691584950c7c</SHA1><name>refs/remotes/origin/pr/2876/merge</name></branch></revision></refsremotesoriginpr2876merge><refsremotesoriginpr2823merge _class='hudson.plugins.git.util.Build'><buildNumber>398</buildNumber><marked><SHA1>5a0dacf1be6bb697529a604d8d672c024962b609</SHA1><branch><SHA1>5a0dacf1be6bb697529a604d8d672c024962b609</SHA1><name>refs/remotes/origin/pr/2823/merge</name></branch></marked><revision><SHA1>5a0dacf1be6bb697529a604d8d672c024962b609</SHA1><branch><SHA1>5a0dacf1be6bb697529a604d8d672c024962b609</SHA1><name>refs/remotes/origin/pr/2823/merge</name></branch></revision></refsremotesoriginpr2823merge><refsremotesoriginpr2833merge _class='hudson.plugins.git.util.Build'><buildNumber>409</buildNumber><marked><SHA1>3496779801f44abd015ac33f48f5271b57c1fffe</SHA1><branch><SHA1>3496779801f44abd015ac33f48f5271b57c1fffe</SHA1><name>refs/remotes/origin/pr/2833/merge</name></branch></marked><revision><SHA1>3496779801f44abd015ac33f48f5271b57c1fffe</SHA1><branch><SHA1>3496779801f44abd015ac33f48f5271b57c1fffe</SHA1><name>refs/remotes/origin/pr/2833/merge</name></branch></revision></refsremotesoriginpr2833merge><refsremotesoriginpr2798merge _class='hudson.plugins.git.util.Build'><buildNumber>374</buildNumber><marked><SHA1>41645b74053c65d4e5dfee89313e7f7f2034f647</SHA1><branch><SHA1>41645b74053c65d4e5dfee89313e7f7f2034f647</SHA1><name>refs/remotes/origin/pr/2798/merge</name></branch></marked><revision><SHA1>41645b74053c65d4e5dfee89313e7f7f2034f647</SHA1><branch><SHA1>41645b74053c65d4e5dfee89313e7f7f2034f647</SHA1><name>refs/remotes/origin/pr/2798/merge</name></branch></revision></refsremotesoriginpr2798merge><refsremotesoriginpr2803merge _class='hudson.plugins.git.util.Build'><buildNumber>384</buildNumber><marked><SHA1>49d14a612286afd0e4405a0323ab7d24b8672ade</SHA1><branch><SHA1>49d14a612286afd0e4405a0323ab7d24b8672ade</SHA1><name>refs/remotes/origin/pr/2803/merge</name></branch></marked><revision><SHA1>49d14a612286afd0e4405a0323ab7d24b8672ade</SHA1><branch><SHA1>49d14a612286afd0e4405a0323ab7d24b8672ade</SHA1><name>refs/remotes/origin/pr/2803/merge</name></branch></revision></refsremotesoriginpr2803merge><refsremotesoriginpr2768merge _class='hudson.plugins.git.util.Build'><buildNumber>353</buildNumber><marked><SHA1>7338c21b01a04790b1d10342aacdd7ec14667717</SHA1><branch><SHA1>7338c21b01a04790b1d10342aacdd7ec14667717</SHA1><name>refs/remotes/origin/pr/2768/merge</name></branch></marked><revision><SHA1>7338c21b01a04790b1d10342aacdd7ec14667717</SHA1><branch><SHA1>7338c21b01a04790b1d10342aacdd7ec14667717</SHA1><name>refs/remotes/origin/pr/2768/merge</name></branch></revision></refsremotesoriginpr2768merge><refsremotesoriginpr2800merge _class='hudson.plugins.git.util.Build'><buildNumber>381</buildNumber><marked><SHA1>09c6982243292240813563151e5f98356b28c6cf</SHA1><branch><SHA1>09c6982243292240813563151e5f98356b28c6cf</SHA1><name>refs/remotes/origin/pr/2800/merge</name></branch></marked><revision><SHA1>09c6982243292240813563151e5f98356b28c6cf</SHA1><branch><SHA1>09c6982243292240813563151e5f98356b28c6cf</SHA1><name>refs/remotes/origin/pr/2800/merge</name></branch></revision></refsremotesoriginpr2800merge><refsremotesoriginpr2685merge _class='hudson.plugins.git.util.Build'><buildNumber>216</buildNumber><marked><SHA1>fd2059c377dc12e7bc3d1765a114fca6d77109ad</SHA1><branch><SHA1>fd2059c377dc12e7bc3d1765a114fca6d77109ad</SHA1><name>refs/remotes/origin/pr/2685/merge</name></branch></marked><revision><SHA1>fd2059c377dc12e7bc3d1765a114fca6d77109ad</SHA1><branch><SHA1>fd2059c377dc12e7bc3d1765a114fca6d77109ad</SHA1><name>refs/remotes/origin/pr/2685/merge</name></branch></revision></refsremotesoriginpr2685merge><refsremotesoriginpr2765merge _class='hudson.plugins.git.util.Build'><buildNumber>348</buildNumber><marked><SHA1>5ccd5a0af4f6cd4fb59bae31693103b71e11b93f</SHA1><branch><SHA1>5ccd5a0af4f6cd4fb59bae31693103b71e11b93f</SHA1><name>refs/remotes/origin/pr/2765/merge</name></branch></marked><revision><SHA1>5ccd5a0af4f6cd4fb59bae31693103b71e11b93f</SHA1><branch><SHA1>5ccd5a0af4f6cd4fb59bae31693103b71e11b93f</SHA1><name>refs/remotes/origin/pr/2765/merge</name></branch></revision></refsremotesoriginpr2765merge><refsremotesoriginpr2577merge _class='hudson.plugins.git.util.Build'><buildNumber>104</buildNumber><marked><SHA1>b24e9146ab99ee43e45de79d69db52f8b289c267</SHA1><branch><SHA1>b24e9146ab99ee43e45de79d69db52f8b289c267</SHA1><name>refs/remotes/origin/pr/2577/merge</name></branch></marked><revision><SHA1>b24e9146ab99ee43e45de79d69db52f8b289c267</SHA1><branch><SHA1>b24e9146ab99ee43e45de79d69db52f8b289c267</SHA1><name>refs/remotes/origin/pr/2577/merge</name></branch></revision></refsremotesoriginpr2577merge><refsremotesoriginpr2612merge _class='hudson.plugins.git.util.Build'><buildNumber>148</buildNumber><marked><SHA1>999856012ef1bcbc8dd40f937a30ee1f98c2180a</SHA1><branch><SHA1>999856012ef1bcbc8dd40f937a30ee1f98c2180a</SHA1><name>refs/remotes/origin/pr/2612/merge</name></branch></marked><revision><SHA1>999856012ef1bcbc8dd40f937a30ee1f98c2180a</SHA1><branch><SHA1>999856012ef1bcbc8dd40f937a30ee1f98c2180a</SHA1><name>refs/remotes/origin/pr/2612/merge</name></branch></revision></refsremotesoriginpr2612merge><refsremotesoriginpr2632merge _class='hudson.plugins.git.util.Build'><buildNumber>158</buildNumber><marked><SHA1>78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c</SHA1><branch><SHA1>78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c</SHA1><name>refs/remotes/origin/pr/2632/merge</name></branch></marked><revision><SHA1>78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c</SHA1><branch><SHA1>78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c</SHA1><name>refs/remotes/origin/pr/2632/merge</name></branch></revision></refsremotesoriginpr2632merge><refsremotesoriginpr2450merge _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>ef216ad8a72a283090f026554d1a07bbe18612bd</SHA1><branch><SHA1>ef216ad8a72a283090f026554d1a07bbe18612bd</SHA1><name>refs/remotes/origin/pr/2450/merge</name></branch></marked><revision><SHA1>ef216ad8a72a283090f026554d1a07bbe18612bd</SHA1><branch><SHA1>ef216ad8a72a283090f026554d1a07bbe18612bd</SHA1><name>refs/remotes/origin/pr/2450/merge</name></branch></revision></refsremotesoriginpr2450merge><refsremotesoriginpr2549merge _class='hudson.plugins.git.util.Build'><buildNumber>87</buildNumber><marked><SHA1>ed80c60d2b2a90262a8c72f659389181b0ce46e4</SHA1><branch><SHA1>ed80c60d2b2a90262a8c72f659389181b0ce46e4</SHA1><name>refs/remotes/origin/pr/2549/merge</name></branch></marked><revision><SHA1>ed80c60d2b2a90262a8c72f659389181b0ce46e4</SHA1><branch><SHA1>ed80c60d2b2a90262a8c72f659389181b0ce46e4</SHA1><name>refs/remotes/origin/pr/2549/merge</name></branch></revision></refsremotesoriginpr2549merge><refsremotesoriginpr2604merge _class='hudson.plugins.git.util.Build'><buildNumber>138</buildNumber><marked><SHA1>9950b23cb9d377a332fc56ae1ff5aa0a1beb865b</SHA1><branch><SHA1>9950b23cb9d377a332fc56ae1ff5aa0a1beb865b</SHA1><name>refs/remotes/origin/pr/2604/merge</name></branch></marked><revision><SHA1>9950b23cb9d377a332fc56ae1ff5aa0a1beb865b</SHA1><branch><SHA1>9950b23cb9d377a332fc56ae1ff5aa0a1beb865b</SHA1><name>refs/remotes/origin/pr/2604/merge</name></branch></revision></refsremotesoriginpr2604merge><refsremotesoriginpr2687merge _class='hudson.plugins.git.util.Build'><buildNumber>219</buildNumber><marked><SHA1>3b1e980063fd3c3ec10e947f66499cf829a15cbb</SHA1><branch><SHA1>3b1e980063fd3c3ec10e947f66499cf829a15cbb</SHA1><name>refs/remotes/origin/pr/2687/merge</name></branch></marked><revision><SHA1>3b1e980063fd3c3ec10e947f66499cf829a15cbb</SHA1><branch><SHA1>3b1e980063fd3c3ec10e947f66499cf829a15cbb</SHA1><name>refs/remotes/origin/pr/2687/merge</name></branch></revision></refsremotesoriginpr2687merge><refsremotesoriginpr2470merge _class='hudson.plugins.git.util.Build'><buildNumber>29</buildNumber><marked><SHA1>af04f2e1e5da0b60cce7c91120a3b0aa1722b365</SHA1><branch><SHA1>af04f2e1e5da0b60cce7c91120a3b0aa1722b365</SHA1><name>refs/remotes/origin/pr/2470/merge</name></branch></marked><revision><SHA1>af04f2e1e5da0b60cce7c91120a3b0aa1722b365</SHA1><branch><SHA1>af04f2e1e5da0b60cce7c91120a3b0aa1722b365</SHA1><name>refs/remotes/origin/pr/2470/merge</name></branch></revision></refsremotesoriginpr2470merge><refsremotesoriginpr2742merge _class='hudson.plugins.git.util.Build'><buildNumber>308</buildNumber><marked><SHA1>ccaf0fb6e310c6170cf423ddd75ceaf962e71a78</SHA1><branch><SHA1>ccaf0fb6e310c6170cf423ddd75ceaf962e71a78</SHA1><name>refs/remotes/origin/pr/2742/merge</name></branch></marked><revision><SHA1>ccaf0fb6e310c6170cf423ddd75ceaf962e71a78</SHA1><branch><SHA1>ccaf0fb6e310c6170cf423ddd75ceaf962e71a78</SHA1><name>refs/remotes/origin/pr/2742/merge</name></branch></revision></refsremotesoriginpr2742merge><refsremotesoriginpr2554merge _class='hudson.plugins.git.util.Build'><buildNumber>90</buildNumber><marked><SHA1>20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0</SHA1><branch><SHA1>20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0</SHA1><name>refs/remotes/origin/pr/2554/merge</name></branch></marked><revision><SHA1>20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0</SHA1><branch><SHA1>20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0</SHA1><name>refs/remotes/origin/pr/2554/merge</name></branch></revision></refsremotesoriginpr2554merge><refsremotesoriginpr2881merge _class='hudson.plugins.git.util.Build'><buildNumber>448</buildNumber><marked><SHA1>c61dcdf187ee4099f2bc2bc192dc1e2fd009a6d4</SHA1><branch><SHA1>c61dcdf187ee4099f2bc2bc192dc1e2fd009a6d4</SHA1><name>refs/remotes/origin/pr/2881/merge</name></branch></marked><revision><SHA1>c61dcdf187ee4099f2bc2bc192dc1e2fd009a6d4</SHA1><branch><SHA1>c61dcdf187ee4099f2bc2bc192dc1e2fd009a6d4</SHA1><name>refs/remotes/origin/pr/2881/merge</name></branch></revision></refsremotesoriginpr2881merge><refsremotesoriginpr2929merge _class='hudson.plugins.git.util.Build'><buildNumber>509</buildNumber><marked><SHA1>d7f5fb46eb3faaf225eb9e5e94a5f8bf91ce3d72</SHA1><branch><SHA1>d7f5fb46eb3faaf225eb9e5e94a5f8bf91ce3d72</SHA1><name>refs/remotes/origin/pr/2929/merge</name></branch></marked><revision><SHA1>d7f5fb46eb3faaf225eb9e5e94a5f8bf91ce3d72</SHA1><branch><SHA1>d7f5fb46eb3faaf225eb9e5e94a5f8bf91ce3d72</SHA1><name>refs/remotes/origin/pr/2929/merge</name></branch></revision></refsremotesoriginpr2929merge><refsremotesoriginpr2957merge _class='hudson.plugins.git.util.Build'><buildNumber>542</buildNumber><marked><SHA1>bdde487d9402ca479d3803a07e5fa699b02cff41</SHA1><branch><SHA1>bdde487d9402ca479d3803a07e5fa699b02cff41</SHA1><name>refs/remotes/origin/pr/2957/merge</name></branch></marked><revision><SHA1>bdde487d9402ca479d3803a07e5fa699b02cff41</SHA1><branch><SHA1>bdde487d9402ca479d3803a07e5fa699b02cff41</SHA1><name>refs/remotes/origin/pr/2957/merge</name></branch></revision></refsremotesoriginpr2957merge><refsremotesoriginpr2861merge _class='hudson.plugins.git.util.Build'><buildNumber>431</buildNumber><marked><SHA1>7dc954d1bc1864e8873558ca31fd0845ff765f69</SHA1><branch><SHA1>7dc954d1bc1864e8873558ca31fd0845ff765f69</SHA1><name>refs/remotes/origin/pr/2861/merge</name></branch></marked><revision><SHA1>7dc954d1bc1864e8873558ca31fd0845ff765f69</SHA1><branch><SHA1>7dc954d1bc1864e8873558ca31fd0845ff765f69</SHA1><name>refs/remotes/origin/pr/2861/merge</name></branch></revision></refsremotesoriginpr2861merge><refsremotesoriginpr2819merge _class='hudson.plugins.git.util.Build'><buildNumber>400</buildNumber><marked><SHA1>64b5f1b5aea7c8787bf417770a76e5a1d19045d6</SHA1><branch><SHA1>64b5f1b5aea7c8787bf417770a76e5a1d19045d6</SHA1><name>refs/remotes/origin/pr/2819/merge</name></branch></marked><revision><SHA1>64b5f1b5aea7c8787bf417770a76e5a1d19045d6</SHA1><branch><SHA1>64b5f1b5aea7c8787bf417770a76e5a1d19045d6</SHA1><name>refs/remotes/origin/pr/2819/merge</name></branch></revision></refsremotesoriginpr2819merge><refsremotesoriginpr3011merge _class='hudson.plugins.git.util.Build'><buildNumber>596</buildNumber><marked><SHA1>4d5c83964063ed898e727f045ce8abaa33f49ee6</SHA1><branch><SHA1>4d5c83964063ed898e727f045ce8abaa33f49ee6</SHA1><name>refs/remotes/origin/pr/3011/merge</name></branch></marked><revision><SHA1>4d5c83964063ed898e727f045ce8abaa33f49ee6</SHA1><branch><SHA1>4d5c83964063ed898e727f045ce8abaa33f49ee6</SHA1><name>refs/remotes/origin/pr/3011/merge</name></branch></revision></refsremotesoriginpr3011merge><refsremotesoriginpr2879merge _class='hudson.plugins.git.util.Build'><buildNumber>441</buildNumber><marked><SHA1>ce2be7527ae2171f9b07afe690d9bae343eca89d</SHA1><branch><SHA1>ce2be7527ae2171f9b07afe690d9bae343eca89d</SHA1><name>refs/remotes/origin/pr/2879/merge</name></branch></marked><revision><SHA1>ce2be7527ae2171f9b07afe690d9bae343eca89d</SHA1><branch><SHA1>ce2be7527ae2171f9b07afe690d9bae343eca89d</SHA1><name>refs/remotes/origin/pr/2879/merge</name></branch></revision></refsremotesoriginpr2879merge><refsremotesoriginpr2801merge _class='hudson.plugins.git.util.Build'><buildNumber>382</buildNumber><marked><SHA1>75586a6b2b2b1d834cc8829a3dde02f4cf02391a</SHA1><branch><SHA1>75586a6b2b2b1d834cc8829a3dde02f4cf02391a</SHA1><name>refs/remotes/origin/pr/2801/merge</name></branch></marked><revision><SHA1>75586a6b2b2b1d834cc8829a3dde02f4cf02391a</SHA1><branch><SHA1>75586a6b2b2b1d834cc8829a3dde02f4cf02391a</SHA1><name>refs/remotes/origin/pr/2801/merge</name></branch></revision></refsremotesoriginpr2801merge><refsremotesoriginpr3014merge _class='hudson.plugins.git.util.Build'><buildNumber>599</buildNumber><marked><SHA1>50b28a29dfabe87a061b11b3ffa8cea2a302df59</SHA1><branch><SHA1>50b28a29dfabe87a061b11b3ffa8cea2a302df59</SHA1><name>refs/remotes/origin/pr/3014/merge</name></branch></marked><revision><SHA1>50b28a29dfabe87a061b11b3ffa8cea2a302df59</SHA1><branch><SHA1>50b28a29dfabe87a061b11b3ffa8cea2a302df59</SHA1><name>refs/remotes/origin/pr/3014/merge</name></branch></revision></refsremotesoriginpr3014merge><refsremotesoriginpr2906merge _class='hudson.plugins.git.util.Build'><buildNumber>522</buildNumber><marked><SHA1>b6c78951de455b4c3775417aee4dd5d0368bc97d</SHA1><branch><SHA1>b6c78951de455b4c3775417aee4dd5d0368bc97d</SHA1><name>refs/remotes/origin/pr/2906/merge</name></branch></marked><revision><SHA1>b6c78951de455b4c3775417aee4dd5d0368bc97d</SHA1><branch><SHA1>b6c78951de455b4c3775417aee4dd5d0368bc97d</SHA1><name>refs/remotes/origin/pr/2906/merge</name></branch></revision></refsremotesoriginpr2906merge><refsremotesoriginpr2936merge _class='hudson.plugins.git.util.Build'><buildNumber>510</buildNumber><marked><SHA1>64c45979e8d676ec41cfdcd3a9464ff2f954cc0b</SHA1><branch><SHA1>64c45979e8d676ec41cfdcd3a9464ff2f954cc0b</SHA1><name>refs/remotes/origin/pr/2936/merge</name></branch></marked><revision><SHA1>64c45979e8d676ec41cfdcd3a9464ff2f954cc0b</SHA1><branch><SHA1>64c45979e8d676ec41cfdcd3a9464ff2f954cc0b</SHA1><name>refs/remotes/origin/pr/2936/merge</name></branch></revision></refsremotesoriginpr2936merge><refsremotesoriginpr2992merge _class='hudson.plugins.git.util.Build'><buildNumber>604</buildNumber><marked><SHA1>e441822de10a7622a81b110ac6db860545c6abb4</SHA1><branch><SHA1>e441822de10a7622a81b110ac6db860545c6abb4</SHA1><name>refs/remotes/origin/pr/2992/merge</name></branch></marked><revision><SHA1>e441822de10a7622a81b110ac6db860545c6abb4</SHA1><branch><SHA1>e441822de10a7622a81b110ac6db860545c6abb4</SHA1><name>refs/remotes/origin/pr/2992/merge</name></branch></revision></refsremotesoriginpr2992merge><refsremotesoriginpr2523merge _class='hudson.plugins.git.util.Build'><buildNumber>70</buildNumber><marked><SHA1>f476447011ed26924462deaa00460e7d57bc868d</SHA1><branch><SHA1>f476447011ed26924462deaa00460e7d57bc868d</SHA1><name>refs/remotes/origin/pr/2523/merge</name></branch></marked><revision><SHA1>f476447011ed26924462deaa00460e7d57bc868d</SHA1><branch><SHA1>f476447011ed26924462deaa00460e7d57bc868d</SHA1><name>refs/remotes/origin/pr/2523/merge</name></branch></revision></refsremotesoriginpr2523merge><refsremotesoriginpr2438merge _class='hudson.plugins.git.util.Build'><buildNumber>7</buildNumber><marked><SHA1>fdc23289503102ec3712dac2aa8db50c0659f1b8</SHA1><branch><SHA1>fdc23289503102ec3712dac2aa8db50c0659f1b8</SHA1><name>refs/remotes/origin/pr/2438/merge</name></branch></marked><revision><SHA1>fdc23289503102ec3712dac2aa8db50c0659f1b8</SHA1><branch><SHA1>fdc23289503102ec3712dac2aa8db50c0659f1b8</SHA1><name>refs/remotes/origin/pr/2438/merge</name></branch></revision></refsremotesoriginpr2438merge><refsremotesoriginpr2488merge _class='hudson.plugins.git.util.Build'><buildNumber>49</buildNumber><marked><SHA1>a55c09b24844847e4c44e8857ae035870f5f838b</SHA1><branch><SHA1>a55c09b24844847e4c44e8857ae035870f5f838b</SHA1><name>refs/remotes/origin/pr/2488/merge</name></branch></marked><revision><SHA1>a55c09b24844847e4c44e8857ae035870f5f838b</SHA1><branch><SHA1>a55c09b24844847e4c44e8857ae035870f5f838b</SHA1><name>refs/remotes/origin/pr/2488/merge</name></branch></revision></refsremotesoriginpr2488merge><refsremotesoriginpr2716merge _class='hudson.plugins.git.util.Build'><buildNumber>258</buildNumber><marked><SHA1>05cd14bdc0df561b2d833b1b1ef0b86db25a5754</SHA1><branch><SHA1>05cd14bdc0df561b2d833b1b1ef0b86db25a5754</SHA1><name>refs/remotes/origin/pr/2716/merge</name></branch></marked><revision><SHA1>05cd14bdc0df561b2d833b1b1ef0b86db25a5754</SHA1><branch><SHA1>05cd14bdc0df561b2d833b1b1ef0b86db25a5754</SHA1><name>refs/remotes/origin/pr/2716/merge</name></branch></revision></refsremotesoriginpr2716merge><refsremotesoriginpr2494merge _class='hudson.plugins.git.util.Build'><buildNumber>52</buildNumber><marked><SHA1>dd5db26ffbd46d65625e642198670e40fa10eb92</SHA1><branch><SHA1>dd5db26ffbd46d65625e642198670e40fa10eb92</SHA1><name>refs/remotes/origin/pr/2494/merge</name></branch></marked><revision><SHA1>dd5db26ffbd46d65625e642198670e40fa10eb92</SHA1><branch><SHA1>dd5db26ffbd46d65625e642198670e40fa10eb92</SHA1><name>refs/remotes/origin/pr/2494/merge</name></branch></revision></refsremotesoriginpr2494merge><refsremotesoriginpr2143merge _class='hudson.plugins.git.util.Build'><buildNumber>143</buildNumber><marked><SHA1>3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f</SHA1><branch><SHA1>3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f</SHA1><name>refs/remotes/origin/pr/2143/merge</name></branch></marked><revision><SHA1>3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f</SHA1><branch><SHA1>3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f</SHA1><name>refs/remotes/origin/pr/2143/merge</name></branch></revision></refsremotesoriginpr2143merge><refsremotesoriginpr2658merge _class='hudson.plugins.git.util.Build'><buildNumber>187</buildNumber><marked><SHA1>5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a</SHA1><branch><SHA1>5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a</SHA1><name>refs/remotes/origin/pr/2658/merge</name></branch></marked><revision><SHA1>5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a</SHA1><branch><SHA1>5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a</SHA1><name>refs/remotes/origin/pr/2658/merge</name></branch></revision></refsremotesoriginpr2658merge><refsremotesoriginpr2831merge _class='hudson.plugins.git.util.Build'><buildNumber>407</buildNumber><marked><SHA1>9238e3b191222a169fd8392ba8ca401df8ab6e58</SHA1><branch><SHA1>9238e3b191222a169fd8392ba8ca401df8ab6e58</SHA1><name>refs/remotes/origin/pr/2831/merge</name></branch></marked><revision><SHA1>9238e3b191222a169fd8392ba8ca401df8ab6e58</SHA1><branch><SHA1>9238e3b191222a169fd8392ba8ca401df8ab6e58</SHA1><name>refs/remotes/origin/pr/2831/merge</name></branch></revision></refsremotesoriginpr2831merge><refsremotesoriginpr2743merge _class='hudson.plugins.git.util.Build'><buildNumber>309</buildNumber><marked><SHA1>db39f400d95e4cfb74f1bb031dbf63da4768d330</SHA1><branch><SHA1>db39f400d95e4cfb74f1bb031dbf63da4768d330</SHA1><name>refs/remotes/origin/pr/2743/merge</name></branch></marked><revision><SHA1>db39f400d95e4cfb74f1bb031dbf63da4768d330</SHA1><branch><SHA1>db39f400d95e4cfb74f1bb031dbf63da4768d330</SHA1><name>refs/remotes/origin/pr/2743/merge</name></branch></revision></refsremotesoriginpr2743merge><refsremotesoriginpr2772merge _class='hudson.plugins.git.util.Build'><buildNumber>357</buildNumber><marked><SHA1>c4ce46281364dc47a4fa18117ff77e3a09431100</SHA1><branch><SHA1>c4ce46281364dc47a4fa18117ff77e3a09431100</SHA1><name>refs/remotes/origin/pr/2772/merge</name></branch></marked><revision><SHA1>c4ce46281364dc47a4fa18117ff77e3a09431100</SHA1><branch><SHA1>c4ce46281364dc47a4fa18117ff77e3a09431100</SHA1><name>refs/remotes/origin/pr/2772/merge</name></branch></revision></refsremotesoriginpr2772merge><refsremotesoriginpr2986merge _class='hudson.plugins.git.util.Build'><buildNumber>568</buildNumber><marked><SHA1>4cfa5e967875957fdeabfe458969f945e7933aa9</SHA1><branch><SHA1>4cfa5e967875957fdeabfe458969f945e7933aa9</SHA1><name>refs/remotes/origin/pr/2986/merge</name></branch></marked><revision><SHA1>4cfa5e967875957fdeabfe458969f945e7933aa9</SHA1><branch><SHA1>4cfa5e967875957fdeabfe458969f945e7933aa9</SHA1><name>refs/remotes/origin/pr/2986/merge</name></branch></revision></refsremotesoriginpr2986merge><refsremotesoriginpr2500merge _class='hudson.plugins.git.util.Build'><buildNumber>56</buildNumber><marked><SHA1>7c4df25837e242c5f8915b2ef44681b252dd0a47</SHA1><branch><SHA1>7c4df25837e242c5f8915b2ef44681b252dd0a47</SHA1><name>refs/remotes/origin/pr/2500/merge</name></branch></marked><revision><SHA1>7c4df25837e242c5f8915b2ef44681b252dd0a47</SHA1><branch><SHA1>7c4df25837e242c5f8915b2ef44681b252dd0a47</SHA1><name>refs/remotes/origin/pr/2500/merge</name></branch></revision></refsremotesoriginpr2500merge><refsremotesoriginpr3008merge _class='hudson.plugins.git.util.Build'><buildNumber>592</buildNumber><marked><SHA1>8472d84e01cc7e84def764b6f63d29a02de08e35</SHA1><branch><SHA1>8472d84e01cc7e84def764b6f63d29a02de08e35</SHA1><name>refs/remotes/origin/pr/3008/merge</name></branch></marked><revision><SHA1>8472d84e01cc7e84def764b6f63d29a02de08e35</SHA1><branch><SHA1>8472d84e01cc7e84def764b6f63d29a02de08e35</SHA1><name>refs/remotes/origin/pr/3008/merge</name></branch></revision></refsremotesoriginpr3008merge><refsremotesoriginpr2795merge _class='hudson.plugins.git.util.Build'><buildNumber>376</buildNumber><marked><SHA1>d9ad752276ab3eb3e60637ca06691287744c148c</SHA1><branch><SHA1>d9ad752276ab3eb3e60637ca06691287744c148c</SHA1><name>refs/remotes/origin/pr/2795/merge</name></branch></marked><revision><SHA1>d9ad752276ab3eb3e60637ca06691287744c148c</SHA1><branch><SHA1>d9ad752276ab3eb3e60637ca06691287744c148c</SHA1><name>refs/remotes/origin/pr/2795/merge</name></branch></revision></refsremotesoriginpr2795merge><refsremotesoriginpr2582merge _class='hudson.plugins.git.util.Build'><buildNumber>126</buildNumber><marked><SHA1>f4946f662dd19daab37ada5ecb4617bc8787b871</SHA1><branch><SHA1>f4946f662dd19daab37ada5ecb4617bc8787b871</SHA1><name>refs/remotes/origin/pr/2582/merge</name></branch></marked><revision><SHA1>f4946f662dd19daab37ada5ecb4617bc8787b871</SHA1><branch><SHA1>f4946f662dd19daab37ada5ecb4617bc8787b871</SHA1><name>refs/remotes/origin/pr/2582/merge</name></branch></revision></refsremotesoriginpr2582merge><refsremotesoriginpr2720merge _class='hudson.plugins.git.util.Build'><buildNumber>275</buildNumber><marked><SHA1>afc3c8ef884ace2b2cc9ed29ffb85a7921112cf3</SHA1><branch><SHA1>afc3c8ef884ace2b2cc9ed29ffb85a7921112cf3</SHA1><name>refs/remotes/origin/pr/2720/merge</name></branch></marked><revision><SHA1>afc3c8ef884ace2b2cc9ed29ffb85a7921112cf3</SHA1><branch><SHA1>afc3c8ef884ace2b2cc9ed29ffb85a7921112cf3</SHA1><name>refs/remotes/origin/pr/2720/merge</name></branch></revision></refsremotesoriginpr2720merge><refsremotesoriginpr2878merge _class='hudson.plugins.git.util.Build'><buildNumber>435</buildNumber><marked><SHA1>d0bd9599b1fb5289b3286bbb47df24e4e0c1c9aa</SHA1><branch><SHA1>d0bd9599b1fb5289b3286bbb47df24e4e0c1c9aa</SHA1><name>refs/remotes/origin/pr/2878/merge</name></branch></marked><revision><SHA1>d0bd9599b1fb5289b3286bbb47df24e4e0c1c9aa</SHA1><branch><SHA1>d0bd9599b1fb5289b3286bbb47df24e4e0c1c9aa</SHA1><name>refs/remotes/origin/pr/2878/merge</name></branch></revision></refsremotesoriginpr2878merge><refsremotesoriginpr2635merge _class='hudson.plugins.git.util.Build'><buildNumber>210</buildNumber><marked><SHA1>8f70ce56dcca6041d884ffde8aebe4ac845478a2</SHA1><branch><SHA1>8f70ce56dcca6041d884ffde8aebe4ac845478a2</SHA1><name>refs/remotes/origin/pr/2635/merge</name></branch></marked><revision><SHA1>8f70ce56dcca6041d884ffde8aebe4ac845478a2</SHA1><branch><SHA1>8f70ce56dcca6041d884ffde8aebe4ac845478a2</SHA1><name>refs/remotes/origin/pr/2635/merge</name></branch></revision></refsremotesoriginpr2635merge><refsremotesoriginpr2963merge _class='hudson.plugins.git.util.Build'><buildNumber>547</buildNumber><marked><SHA1>9f837250ff81c71fb535a55fe62b337ed978e93b</SHA1><branch><SHA1>9f837250ff81c71fb535a55fe62b337ed978e93b</SHA1><name>refs/remotes/origin/pr/2963/merge</name></branch></marked><revision><SHA1>9f837250ff81c71fb535a55fe62b337ed978e93b</SHA1><branch><SHA1>9f837250ff81c71fb535a55fe62b337ed978e93b</SHA1><name>refs/remotes/origin/pr/2963/merge</name></branch></revision></refsremotesoriginpr2963merge><refsremotesoriginpr2830merge _class='hudson.plugins.git.util.Build'><buildNumber>412</buildNumber><marked><SHA1>247a33195d94d8f192fc88251012f161735cf3fd</SHA1><branch><SHA1>247a33195d94d8f192fc88251012f161735cf3fd</SHA1><name>refs/remotes/origin/pr/2830/merge</name></branch></marked><revision><SHA1>247a33195d94d8f192fc88251012f161735cf3fd</SHA1><branch><SHA1>247a33195d94d8f192fc88251012f161735cf3fd</SHA1><name>refs/remotes/origin/pr/2830/merge</name></branch></revision></refsremotesoriginpr2830merge><refsremotesoriginpr3013merge _class='hudson.plugins.git.util.Build'><buildNumber>598</buildNumber><marked><SHA1>48a4d41d18544a1e2f983be297543f19dc597820</SHA1><branch><SHA1>48a4d41d18544a1e2f983be297543f19dc597820</SHA1><name>refs/remotes/origin/pr/3013/merge</name></branch></marked><revision><SHA1>48a4d41d18544a1e2f983be297543f19dc597820</SHA1><branch><SHA1>48a4d41d18544a1e2f983be297543f19dc597820</SHA1><name>refs/remotes/origin/pr/3013/merge</name></branch></revision></refsremotesoriginpr3013merge><refsremotesoriginpr2547merge _class='hudson.plugins.git.util.Build'><buildNumber>86</buildNumber><marked><SHA1>d3a9b5d0d39b32972ac321c27e10da34769bcdec</SHA1><branch><SHA1>d3a9b5d0d39b32972ac321c27e10da34769bcdec</SHA1><name>refs/remotes/origin/pr/2547/merge</name></branch></marked><revision><SHA1>d3a9b5d0d39b32972ac321c27e10da34769bcdec</SHA1><branch><SHA1>d3a9b5d0d39b32972ac321c27e10da34769bcdec</SHA1><name>refs/remotes/origin/pr/2547/merge</name></branch></revision></refsremotesoriginpr2547merge><refsremotesoriginpr2767merge _class='hudson.plugins.git.util.Build'><buildNumber>352</buildNumber><marked><SHA1>a8f2d77c55d1d64f68d8eb6123385aeca88420a3</SHA1><branch><SHA1>a8f2d77c55d1d64f68d8eb6123385aeca88420a3</SHA1><name>refs/remotes/origin/pr/2767/merge</name></branch></marked><revision><SHA1>a8f2d77c55d1d64f68d8eb6123385aeca88420a3</SHA1><branch><SHA1>a8f2d77c55d1d64f68d8eb6123385aeca88420a3</SHA1><name>refs/remotes/origin/pr/2767/merge</name></branch></revision></refsremotesoriginpr2767merge><refsremotesoriginpr2940merge _class='hudson.plugins.git.util.Build'><buildNumber>518</buildNumber><marked><SHA1>c14aee1a777d80b7d833df0cc417f8d461a4f736</SHA1><branch><SHA1>c14aee1a777d80b7d833df0cc417f8d461a4f736</SHA1><name>refs/remotes/origin/pr/2940/merge</name></branch></marked><revision><SHA1>c14aee1a777d80b7d833df0cc417f8d461a4f736</SHA1><branch><SHA1>c14aee1a777d80b7d833df0cc417f8d461a4f736</SHA1><name>refs/remotes/origin/pr/2940/merge</name></branch></revision></refsremotesoriginpr2940merge><refsremotesoriginpr2495merge _class='hudson.plugins.git.util.Build'><buildNumber>51</buildNumber><marked><SHA1>7eeede22504f05e76c7638ef9e9a3aa303aec648</SHA1><branch><SHA1>7eeede22504f05e76c7638ef9e9a3aa303aec648</SHA1><name>refs/remotes/origin/pr/2495/merge</name></branch></marked><revision><SHA1>7eeede22504f05e76c7638ef9e9a3aa303aec648</SHA1><branch><SHA1>7eeede22504f05e76c7638ef9e9a3aa303aec648</SHA1><name>refs/remotes/origin/pr/2495/merge</name></branch></revision></refsremotesoriginpr2495merge><refsremotesoriginpr2530merge _class='hudson.plugins.git.util.Build'><buildNumber>76</buildNumber><marked><SHA1>e8f195b68ba0cc526093420460d99a541ec8eea8</SHA1><branch><SHA1>e8f195b68ba0cc526093420460d99a541ec8eea8</SHA1><name>refs/remotes/origin/pr/2530/merge</name></branch></marked><revision><SHA1>e8f195b68ba0cc526093420460d99a541ec8eea8</SHA1><branch><SHA1>e8f195b68ba0cc526093420460d99a541ec8eea8</SHA1><name>refs/remotes/origin/pr/2530/merge</name></branch></revision></refsremotesoriginpr2530merge><refsremotesoriginpr2802merge _class='hudson.plugins.git.util.Build'><buildNumber>383</buildNumber><marked><SHA1>921c7226b64a2ffdcbfd2be40043b00d112e97ff</SHA1><branch><SHA1>921c7226b64a2ffdcbfd2be40043b00d112e97ff</SHA1><name>refs/remotes/origin/pr/2802/merge</name></branch></marked><revision><SHA1>921c7226b64a2ffdcbfd2be40043b00d112e97ff</SHA1><branch><SHA1>921c7226b64a2ffdcbfd2be40043b00d112e97ff</SHA1><name>refs/remotes/origin/pr/2802/merge</name></branch></revision></refsremotesoriginpr2802merge><refsremotesoriginpr2524merge _class='hudson.plugins.git.util.Build'><buildNumber>71</buildNumber><marked><SHA1>c066bb01f7259560b0ae064de48c4bcaedd28125</SHA1><branch><SHA1>c066bb01f7259560b0ae064de48c4bcaedd28125</SHA1><name>refs/remotes/origin/pr/2524/merge</name></branch></marked><revision><SHA1>c066bb01f7259560b0ae064de48c4bcaedd28125</SHA1><branch><SHA1>c066bb01f7259560b0ae064de48c4bcaedd28125</SHA1><name>refs/remotes/origin/pr/2524/merge</name></branch></revision></refsremotesoriginpr2524merge><refsremotesoriginpr2634merge _class='hudson.plugins.git.util.Build'><buildNumber>160</buildNumber><marked><SHA1>b14d52694bfd49f914ac0ca76ee2b03c40c34b8b</SHA1><branch><SHA1>b14d52694bfd49f914ac0ca76ee2b03c40c34b8b</SHA1><name>refs/remotes/origin/pr/2634/merge</name></branch></marked><revision><SHA1>b14d52694bfd49f914ac0ca76ee2b03c40c34b8b</SHA1><branch><SHA1>b14d52694bfd49f914ac0ca76ee2b03c40c34b8b</SHA1><name>refs/remotes/origin/pr/2634/merge</name></branch></revision></refsremotesoriginpr2634merge><refsremotesoriginpr2606merge _class='hudson.plugins.git.util.Build'><buildNumber>140</buildNumber><marked><SHA1>2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a</SHA1><branch><SHA1>2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a</SHA1><name>refs/remotes/origin/pr/2606/merge</name></branch></marked><revision><SHA1>2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a</SHA1><branch><SHA1>2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a</SHA1><name>refs/remotes/origin/pr/2606/merge</name></branch></revision></refsremotesoriginpr2606merge><refsremotesoriginpr2599merge _class='hudson.plugins.git.util.Build'><buildNumber>128</buildNumber><marked><SHA1>6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154</SHA1><branch><SHA1>6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154</SHA1><name>refs/remotes/origin/pr/2599/merge</name></branch></marked><revision><SHA1>6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154</SHA1><branch><SHA1>6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154</SHA1><name>refs/remotes/origin/pr/2599/merge</name></branch></revision></refsremotesoriginpr2599merge><refsremotesoriginpr2849merge _class='hudson.plugins.git.util.Build'><buildNumber>413</buildNumber><marked><SHA1>643f077bea7a99c698c9819c4b1d45334f35f1d0</SHA1><branch><SHA1>643f077bea7a99c698c9819c4b1d45334f35f1d0</SHA1><name>refs/remotes/origin/pr/2849/merge</name></branch></marked><revision><SHA1>643f077bea7a99c698c9819c4b1d45334f35f1d0</SHA1><branch><SHA1>643f077bea7a99c698c9819c4b1d45334f35f1d0</SHA1><name>refs/remotes/origin/pr/2849/merge</name></branch></revision></refsremotesoriginpr2849merge><refsremotesoriginpr2877merge _class='hudson.plugins.git.util.Build'><buildNumber>436</buildNumber><marked><SHA1>33a7997d8f937ad14e957b93c8385e6b63d0db3f</SHA1><branch><SHA1>33a7997d8f937ad14e957b93c8385e6b63d0db3f</SHA1><name>refs/remotes/origin/pr/2877/merge</name></branch></marked><revision><SHA1>33a7997d8f937ad14e957b93c8385e6b63d0db3f</SHA1><branch><SHA1>33a7997d8f937ad14e957b93c8385e6b63d0db3f</SHA1><name>refs/remotes/origin/pr/2877/merge</name></branch></revision></refsremotesoriginpr2877merge><refsremotesoriginpr2912merge _class='hudson.plugins.git.util.Build'><buildNumber>476</buildNumber><marked><SHA1>9501fa4025b9dfdcba8d51e51d6107fab95b7ac7</SHA1><branch><SHA1>9501fa4025b9dfdcba8d51e51d6107fab95b7ac7</SHA1><name>refs/remotes/origin/pr/2912/merge</name></branch></marked><revision><SHA1>9501fa4025b9dfdcba8d51e51d6107fab95b7ac7</SHA1><branch><SHA1>9501fa4025b9dfdcba8d51e51d6107fab95b7ac7</SHA1><name>refs/remotes/origin/pr/2912/merge</name></branch></revision></refsremotesoriginpr2912merge><refsremotesoriginpr2629merge _class='hudson.plugins.git.util.Build'><buildNumber>157</buildNumber><marked><SHA1>567415e0a4caf24298f95373cb663531690acac0</SHA1><branch><SHA1>567415e0a4caf24298f95373cb663531690acac0</SHA1><name>refs/remotes/origin/pr/2629/merge</name></branch></marked><revision><SHA1>567415e0a4caf24298f95373cb663531690acac0</SHA1><branch><SHA1>567415e0a4caf24298f95373cb663531690acac0</SHA1><name>refs/remotes/origin/pr/2629/merge</name></branch></revision></refsremotesoriginpr2629merge><refsremotesoriginpr2581merge _class='hudson.plugins.git.util.Build'><buildNumber>105</buildNumber><marked><SHA1>2cabf5fa73b91dfe367a5aed3687a1a93fe04d68</SHA1><branch><SHA1>2cabf5fa73b91dfe367a5aed3687a1a93fe04d68</SHA1><name>refs/remotes/origin/pr/2581/merge</name></branch></marked><revision><SHA1>2cabf5fa73b91dfe367a5aed3687a1a93fe04d68</SHA1><branch><SHA1>2cabf5fa73b91dfe367a5aed3687a1a93fe04d68</SHA1><name>refs/remotes/origin/pr/2581/merge</name></branch></revision></refsremotesoriginpr2581merge><refsremotesoriginpr2744merge _class='hudson.plugins.git.util.Build'><buildNumber>311</buildNumber><marked><SHA1>97cfa1da8a0d43c6707eea3616ad1cee36f9bdbc</SHA1><branch><SHA1>97cfa1da8a0d43c6707eea3616ad1cee36f9bdbc</SHA1><name>refs/remotes/origin/pr/2744/merge</name></branch></marked><revision><SHA1>97cfa1da8a0d43c6707eea3616ad1cee36f9bdbc</SHA1><branch><SHA1>97cfa1da8a0d43c6707eea3616ad1cee36f9bdbc</SHA1><name>refs/remotes/origin/pr/2744/merge</name></branch></revision></refsremotesoriginpr2744merge><refsremotesoriginpr2987merge _class='hudson.plugins.git.util.Build'><buildNumber>569</buildNumber><marked><SHA1>97cbef340f179b856e486d78fcf58e3cfbf144f2</SHA1><branch><SHA1>97cbef340f179b856e486d78fcf58e3cfbf144f2</SHA1><name>refs/remotes/origin/pr/2987/merge</name></branch></marked><revision><SHA1>97cbef340f179b856e486d78fcf58e3cfbf144f2</SHA1><branch><SHA1>97cbef340f179b856e486d78fcf58e3cfbf144f2</SHA1><name>refs/remotes/origin/pr/2987/merge</name></branch></revision></refsremotesoriginpr2987merge><refsremotesoriginpr2854merge _class='hudson.plugins.git.util.Build'><buildNumber>424</buildNumber><marked><SHA1>4e11f19aac32e74ad808ae2e0a79aba76f049b03</SHA1><branch><SHA1>4e11f19aac32e74ad808ae2e0a79aba76f049b03</SHA1><name>refs/remotes/origin/pr/2854/merge</name></branch></marked><revision><SHA1>4e11f19aac32e74ad808ae2e0a79aba76f049b03</SHA1><branch><SHA1>4e11f19aac32e74ad808ae2e0a79aba76f049b03</SHA1><name>refs/remotes/origin/pr/2854/merge</name></branch></revision></refsremotesoriginpr2854merge><refsremotesoriginpr2576merge _class='hudson.plugins.git.util.Build'><buildNumber>101</buildNumber><marked><SHA1>eb3dfb30f7f98802d1bdc6846dbbacf55618c510</SHA1><branch><SHA1>eb3dfb30f7f98802d1bdc6846dbbacf55618c510</SHA1><name>refs/remotes/origin/pr/2576/merge</name></branch></marked><revision><SHA1>eb3dfb30f7f98802d1bdc6846dbbacf55618c510</SHA1><branch><SHA1>eb3dfb30f7f98802d1bdc6846dbbacf55618c510</SHA1><name>refs/remotes/origin/pr/2576/merge</name></branch></revision></refsremotesoriginpr2576merge><refsremotesoriginpr2611merge _class='hudson.plugins.git.util.Build'><buildNumber>144</buildNumber><marked><SHA1>d3e53d6b1e72025483213c2af7bcbf0ff23fec2d</SHA1><branch><SHA1>d3e53d6b1e72025483213c2af7bcbf0ff23fec2d</SHA1><name>refs/remotes/origin/pr/2611/merge</name></branch></marked><revision><SHA1>d3e53d6b1e72025483213c2af7bcbf0ff23fec2d</SHA1><branch><SHA1>d3e53d6b1e72025483213c2af7bcbf0ff23fec2d</SHA1><name>refs/remotes/origin/pr/2611/merge</name></branch></revision></refsremotesoriginpr2611merge></buildsByBranchName><lastBuiltRevision><SHA1>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</SHA1><branch><SHA1>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</SHA1><name>detached</name></branch></lastBuiltRevision><remoteUrl>https://github.com/iovisor/bcc.git</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.GitTagAction'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>ubuntu1804</displayName><duration>1119763</duration><estimatedDuration>1197304</estimatedDuration><fullDisplayName>bcc-pr » ubuntu1804 ubuntu1804</fullDisplayName><id>605</id><keepLog>false</keepLog><number>605</number><queueId>4852</queueId><result>SUCCESS</result><timestamp>1595034833643</timestamp><url>https://buildbot.iovisor.org/jenkins/view/all/job/bcc-pr/label=ubuntu1804/605/</url><builtOn>ubuntu1804-slave-7b0</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/arch_helper.h</affectedPath><affectedPath>src/cc/bcc_syms.cc</affectedPath><affectedPath>tests/cc/test_c_api.cc</affectedPath><affectedPath>src/cc/bcc_syms.h</affectedPath><affectedPath>src/cc/bcc_elf.c</affectedPath><commitId>d2e8ea47352e36f63a9dda281c00fadeb87e890a</commitId><timestamp>1587618290000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix ELF ABI and endianness checks for powerpc64

Earlier, it was assumed that ELF ABI v2 is used only on
little-endian powerpc64 environments but it seems this
ABI can be used independently of endianness.

It is expected that any C preprocessor that conforms to
the ELF ABI v2 specification must predefine the _CALL_ELF
macro and set its value to 2.

Instead of looking at __BYTE_ORDER__ to determine whether
to use the Local Entry Point (LEP) of symbols, one should
look at the _CALL_ELF macro instead as this is ABI-related.

Similarly, _CALL_ELF should be used only for determining
the ABI version and not the endianness.

Reported-by: Naveen N. Rao &lt;naveen.n.rao@linux.vnet.ibm.com&gt;
Fixes: bbd4180c ("Fix uprobes on powerpc64")
Fixes: 10869523 ("clang: Add support to build eBPF for user specified ARCH")
Acked-by: Naveen N. Rao &lt;naveen.n.rao@linux.vnet.ibm.com&gt;
Signed-off-by: Sandipan Das &lt;sandipan@linux.ibm.com&gt;
</comment><date>2020-04-22 22:04:50 -0700</date><id>d2e8ea47352e36f63a9dda281c00fadeb87e890a</id><msg>Fix ELF ABI and endianness checks for powerpc64</msg><path><editType>edit</editType><file>src/cc/bcc_syms.h</file></path><path><editType>edit</editType><file>src/cc/bcc_syms.cc</file></path><path><editType>edit</editType><file>src/cc/bcc_elf.c</file></path><path><editType>edit</editType><file>tests/cc/test_c_api.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/arch_helper.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><affectedPath>tools/ttysnoop.py</affectedPath><commitId>264b2ccf4e42f7f1b9abb89fb320d0467c509e37</commitId><timestamp>1587623778000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc: Use bpf_probe_read_user in tools and provide backward compatibility

s390 has overlapping address space for user and kernel. Hence separation of
bpf_probe_read_user and bpf_probe_read_kernel is essential. Commit 6ae08ae3dea2
("bpf: Add probe_read_{user, kernel} and probe_read_{user, kernel}_str
helpers") introduced these changes into the kernel. However, bcc tools does not
respect it.

As a workaround, perform the following:
1. Use bpf_probe_read_user() explicitly in the bcc tools.
2. When kernel version &lt; 5.5, perform the checks if the
   bpf_probe_read_user kernel helper is present in the backported kernel
   as well. If not found, then fallback from bpf_probe_read_user to
   bpf_probe_read.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
</comment><date>2020-04-23 01:36:18 -0500</date><id>264b2ccf4e42f7f1b9abb89fb320d0467c509e37</id><msg>bcc: Use bpf_probe_read_user in tools and provide backward compatibility</msg><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>edit</editType><file>tools/ttysnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>ac157b474b2e2964ec2cba81574f2bddbd62b42b</commitId><timestamp>1587623778000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc: Use direct parameter assignment for syscall probe s390.

1. Commit fa697140f9a2 ("syscalls/x86: Use 'struct pt_regs' based
   syscall calling convention for 64-bit syscalls") changed the raw
   parameter passed to the syscall entry function from a list of
   parameters supplied in user space to a single `pt_regs *` parameter
   (ARCH_HAS_SYSCALL_WRAPPER)

2. But ARCH_HAS_SYSCALL_WRAPPER in s390 is not used for that purpose.
   See commit a18f03cd89e9 ("s390: autogenerate compat syscall
   wrappers")

3. Use direct parameter assignment assumption for s390 syscall probe
   instead.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
</comment><date>2020-04-23 01:36:18 -0500</date><id>ac157b474b2e2964ec2cba81574f2bddbd62b42b</id><msg>bcc: Use direct parameter assignment for syscall probe s390.</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/lib/uflow.py</affectedPath><affectedPath>tools/mountsnoop.py</affectedPath><affectedPath>tools/opensnoop.py</affectedPath><affectedPath>examples/tracing/strlen_count.py</affectedPath><affectedPath>tools/lib/uobjnew.py</affectedPath><affectedPath>tools/execsnoop.py</affectedPath><affectedPath>examples/cpp/RecordMySQLQuery.cc</affectedPath><affectedPath>tools/mysqld_qslower.py</affectedPath><affectedPath>examples/tracing/strlen_snoop.py</affectedPath><affectedPath>tools/lib/uthreads.py</affectedPath><affectedPath>tools/lib/ucalls.py</affectedPath><affectedPath>tools/biosnoop.py</affectedPath><affectedPath>tools/statsnoop.py</affectedPath><affectedPath>examples/lua/usdt_ruby.lua</affectedPath><affectedPath>examples/lua/strlen_count.lua</affectedPath><affectedPath>tools/bashreadline.py</affectedPath><affectedPath>tools/dbslower.py</affectedPath><affectedPath>examples/lua/bashreadline.c</affectedPath><affectedPath>tools/sslsniff.py</affectedPath><affectedPath>tools/biosnoop.lua</affectedPath><affectedPath>tools/gethostlatency.py</affectedPath><affectedPath>examples/tracing/nodejs_http_server.py</affectedPath><affectedPath>tools/funcslower.py</affectedPath><affectedPath>tools/lib/ugc.py</affectedPath><affectedPath>examples/tracing/mysqld_query.py</affectedPath><commitId>023154c7708087ddf6c2031cef5d25c2445b70c4</commitId><timestamp>1587623778000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc/tools: Introduce bpf_probe_read_user to the tools.

This is essential for architecture which do have overlapping address space.
- bpf_probe_read_kernel() shall be used for reading data from kernel space
to the bpf vm.
- bpf_probe_read_user() shall be used for reading data from user space
  to the bpf vm.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
</comment><date>2020-04-23 01:36:18 -0500</date><id>023154c7708087ddf6c2031cef5d25c2445b70c4</id><msg>bcc/tools: Introduce bpf_probe_read_user to the tools.</msg><path><editType>edit</editType><file>tools/lib/uobjnew.py</file></path><path><editType>edit</editType><file>examples/lua/bashreadline.c</file></path><path><editType>edit</editType><file>tools/dbslower.py</file></path><path><editType>edit</editType><file>tools/bashreadline.py</file></path><path><editType>edit</editType><file>tools/biosnoop.lua</file></path><path><editType>edit</editType><file>examples/tracing/nodejs_http_server.py</file></path><path><editType>edit</editType><file>tools/sslsniff.py</file></path><path><editType>edit</editType><file>tools/opensnoop.py</file></path><path><editType>edit</editType><file>examples/tracing/mysqld_query.py</file></path><path><editType>edit</editType><file>tools/funcslower.py</file></path><path><editType>edit</editType><file>tools/execsnoop.py</file></path><path><editType>edit</editType><file>tools/lib/ucalls.py</file></path><path><editType>edit</editType><file>tools/biosnoop.py</file></path><path><editType>edit</editType><file>examples/lua/strlen_count.lua</file></path><path><editType>edit</editType><file>tools/lib/uflow.py</file></path><path><editType>edit</editType><file>tools/statsnoop.py</file></path><path><editType>edit</editType><file>examples/lua/usdt_ruby.lua</file></path><path><editType>edit</editType><file>examples/tracing/strlen_snoop.py</file></path><path><editType>edit</editType><file>tools/gethostlatency.py</file></path><path><editType>edit</editType><file>tools/mountsnoop.py</file></path><path><editType>edit</editType><file>examples/tracing/strlen_count.py</file></path><path><editType>edit</editType><file>examples/cpp/RecordMySQLQuery.cc</file></path><path><editType>edit</editType><file>tools/lib/ugc.py</file></path><path><editType>edit</editType><file>tools/lib/uthreads.py</file></path><path><editType>edit</editType><file>tools/mysqld_qslower.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>docs/tutorial_bcc_python_developer.md</affectedPath><commitId>aa3a4a6f7c6d59ede1598bc54fb9c83d8ad1f776</commitId><timestamp>1587623778000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc/docs: Add bpf_probe_read_user to docs and tutorials

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
</comment><date>2020-04-23 01:36:18 -0500</date><id>aa3a4a6f7c6d59ede1598bc54fb9c83d8ad1f776</id><msg>bcc/docs: Add bpf_probe_read_user to docs and tutorials</msg><path><editType>edit</editType><file>docs/tutorial_bcc_python_developer.md</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/utils.py</affectedPath><affectedPath>src/python/bcc/__init__.py</affectedPath><commitId>99739b2aa214984b783f61e4bcb3754eda876c1b</commitId><timestamp>1588161043000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc/utils: Avoid code duplication of __generate_streq_function

bcc tools like trace.py and argdist.py uses _generate_streq_function()
functions to convert char * read to bpf_probe_read/bpf_probe_read_user.
Refactor it and move the common functionality to utils.py.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-04-29 06:50:43 -0500</date><id>99739b2aa214984b783f61e4bcb3754eda876c1b</id><msg>bcc/utils: Avoid code duplication of __generate_streq_function</msg><path><editType>edit</editType><file>src/python/bcc/utils.py</file></path><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/argdist.py</affectedPath><affectedPath>tools/argdist_example.txt</affectedPath><commitId>306080b9c6370974b0e11ed6bbe47f086c42d7ac</commitId><timestamp>1588161084000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc: Add __user attribute to support bpf_probe_read_user in argdist

argdist traces probe functions and its parameter values.

Add functionality to convert:
- All userspace probes char * read to bpf_probe_read_user()
- Syscall/kprobes char* params with __user attribute to bpf_probe_read_user()

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-04-29 06:51:24 -0500</date><id>306080b9c6370974b0e11ed6bbe47f086c42d7ac</id><msg>bcc: Add __user attribute to support bpf_probe_read_user in argdist</msg><path><editType>edit</editType><file>tools/argdist.py</file></path><path><editType>edit</editType><file>tools/argdist_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/trace.py</affectedPath><affectedPath>tools/trace_example.txt</affectedPath><commitId>7cbd074cb5af6b82f53a5de9936ffaa74fea00f0</commitId><timestamp>1588161108000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc: Support bpf_probe_read_user in trace.py

Arguments of a probe point can be either user pointer or kernel
pointer.

Previously:
- tools/trace.py 'do_sys_open "%s", arg2'
  When reading arg2 as char *, it would resolve to bpf_probe_read.

Now:
- tools/trace.py 'do_sys_open "%s", arg2@user'
  - When reading arg2 as char *, it is resolved to bpf_probe_read_user.
- tools/trace.py 'do_sys_open (STRCMP("test.txt", arg2@user)) "%s", arg2'
  - For arg2 char * read, bpf_probe_read_user is utilized

To distinguish this, add arg@user.
- All userspace probes char *read converted to bpf_probe_read_user
- Syscall/kprobes with arg[1-6]@user attribute are converted to
  bpf_probe_read_user.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-04-29 06:51:48 -0500</date><id>7cbd074cb5af6b82f53a5de9936ffaa74fea00f0</id><msg>bcc: Support bpf_probe_read_user in trace.py</msg><path><editType>edit</editType><file>tools/trace.py</file></path><path><editType>edit</editType><file>tools/trace_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf.c</affectedPath><commitId>09be5b50c1168c2796786029fa159c63f71e2936</commitId><timestamp>1588161122000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></author><authorEmail>sumanthk@linux.ibm.com</authorEmail><comment>bcc/libbpf: Fix bpf_has_kernel_btf return status

bool returns True for negative integers. Hence bcc tools
tries to switch to kfunc instead of kprobes, even when the
btf data is not found.

For libbpf_find_vmlinux_btf_id, When err &lt;= 0 , btf is not found.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-04-29 06:52:02 -0500</date><id>09be5b50c1168c2796786029fa159c63f71e2936</id><msg>bcc/libbpf: Fix bpf_has_kernel_btf return status</msg><path><editType>edit</editType><file>src/cc/libbpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/perf/ipc.py</affectedPath><commitId>59a753da82f9eab628a5506822a6ff16a6912a88</commitId><timestamp>1588491463000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add perf event data collection example for an userspace application (#2888)

* Add perf event data collection example for an userspace application
* Add comments for potential issues in perf_event example
</comment><date>2020-05-03 00:37:43 -0700</date><id>59a753da82f9eab628a5506822a6ff16a6912a88</id><msg>Add perf event data collection example for an userspace application (#2888)</msg><path><editType>add</editType><file>examples/perf/ipc.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>f1c3fc5359ace92f50cc1ce31f24ed83b9122ce8</commitId><timestamp>1588706025000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Update INSTALL.md
</comment><date>2020-05-05 12:13:45 -0700</date><id>f1c3fc5359ace92f50cc1ce31f24ed83b9122ce8</id><msg>Update INSTALL.md</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/usdt_sample/usdt_sample.md</affectedPath><affectedPath>src/cc/usdt/usdt.cc</affectedPath><commitId>0d93f24ce8f9ee273151acd117a612da00c4d632</commitId><timestamp>1588706094000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>USDT: make path failure message more explicit

Make it clear which file the USDT runtime files to find and suggest a
fix.
</comment><date>2020-05-05 12:14:54 -0700</date><id>0d93f24ce8f9ee273151acd117a612da00c4d632</id><msg>USDT: make path failure message more explicit</msg><path><editType>edit</editType><file>examples/usdt_sample/usdt_sample.md</file></path><path><editType>edit</editType><file>src/cc/usdt/usdt.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/nfsdist.py</affectedPath><commitId>a433ef9451f187541012354cf6a2f4cf67646e11</commitId><timestamp>1588748117000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>add nfs v3 support to nfsdist.py (#2902)

add nfs v3 support to nfsdist.py

Co-authored-by: sabbene &lt;sabbene@sabbene.nvidia.com&gt;
</comment><date>2020-05-05 23:55:17 -0700</date><id>a433ef9451f187541012354cf6a2f4cf67646e11</id><msg>add nfs v3 support to nfsdist.py (#2902)</msg><path><editType>edit</editType><file>tools/nfsdist.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/argdist.py</affectedPath><commitId>b8269aac2130c9cfd6f18b211b5b2af570edbe76</commitId><timestamp>1589247807000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Bug #2907 - Fix argdist filtering option for USDT probes
</comment><date>2020-05-11 18:43:27 -0700</date><id>b8269aac2130c9cfd6f18b211b5b2af570edbe76</id><msg>Bug #2907 - Fix argdist filtering option for USDT probes</msg><path><editType>edit</editType><file>tools/argdist.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/CMakeLists.txt</affectedPath><affectedPath>examples/cpp/CMakeLists.txt</affectedPath><commitId>0d87484b724e3f20d03c49a48e356e6fd1533c68</commitId><timestamp>1589521602000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>add -fPIC to compile examples/cpp and tests/cc

I use clang-8.0.1 and gcc-8.3.1 to compile bcc-0.8.1,
without -fPIC, will get errors like this:
/usr/bin/ld: CMakeFiles/test_libbcc.dir/test_libbcc.cc.o: relocation
R_X86_64_32S against symbol `_ZTVN5Catch21LegacyReporterAdapterE' can
not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: CMakeFiles/test_libbcc.dir/test_c_api.cc.o: relocation
R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE
object; recompile with -fPIC
/usr/bin/ld: CMakeFiles/CGroupTest.dir/CGroupTest.cc.o: relocation
R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE
object; recompile with -fPIC

Signed-off-by: Chunmei Xu &lt;xuchunmei@linux.alibaba.com&gt;
</comment><date>2020-05-14 22:46:42 -0700</date><id>0d87484b724e3f20d03c49a48e356e6fd1533c68</id><msg>add -fPIC to compile examples/cpp and tests/cc</msg><path><editType>edit</editType><file>examples/cpp/CMakeLists.txt</file></path><path><editType>edit</editType><file>tests/cc/CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/vfsstat.c</affectedPath><affectedPath>libbpf-tools/vfsstat.h</affectedPath><affectedPath>libbpf-tools/vfsstat.bpf.c</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>46947c5d4575853ca7ddfc695b53d83c824278e4</commitId><timestamp>1589918202000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: convert BCC vfsstat to BPF CO-RE version

Signed-off-by: Anton Protopopov &lt;a.s.protopopov@gmail.com&gt;
</comment><date>2020-05-19 12:56:42 -0700</date><id>46947c5d4575853ca7ddfc695b53d83c824278e4</id><msg>libbpf-tools: convert BCC vfsstat to BPF CO-RE version</msg><path><editType>add</editType><file>libbpf-tools/vfsstat.c</file></path><path><editType>add</editType><file>libbpf-tools/vfsstat.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/vfsstat.h</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>Dockerfile.tests</affectedPath><commitId>c6342d23e48ae03df78f7c716f55e6ff14e5169b</commitId><timestamp>1589919374000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix github actions tests

Github actions are failing because the docker image used for testing is based
in Ubuntu 19.04 that is EOL now. This commit downgrades the version used for
testing to 18.04 that is LTS. It also installs the "util-linux" package that
includes the "unshare" command.

Signed-off-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-05-19 13:16:14 -0700</date><id>c6342d23e48ae03df78f7c716f55e6ff14e5169b</id><msg>Fix github actions tests</msg><path><editType>edit</editType><file>Dockerfile.tests</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/dirtop_example.txt</affectedPath><affectedPath>man/man8/dirtop.8</affectedPath><affectedPath>tools/dirtop.py</affectedPath><affectedPath>README.md</affectedPath><commitId>8c12794214bf906089f972676eb065e618d581af</commitId><timestamp>1589999132000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>tools/dirtop: Adding dirtop utility (#2819)

This tools is about reporting IOs per directory.
That's a clone of filetop but works in a different way :
- user specify a set of globs to select a list of directories to watch
- dirtop extracts the inode_id of the selected directories
- the bpf program receives the list of top directories to consider
- when vfs_{read|write} occurs, the bpf program check
  if one of the parents is part of the list we search for
- if it matches, the io is accounted

On the python side, the program will reconcilate IOs per directory and print stats.

While filetop list the programs and filename, dirtop only list the directory name.

A typical usages looks like :

	[root@host]: dirtop.py -d '/hdfs/uuid/*/yarn'
	14:56:33 loadavg: 52.21 48.81 37.78 53/2721 28720

	READS  WRITES R_Kb     W_Kb     PATH
	36821  7632   238219   149183   /hdfs/uuid/d04fccd8-bc72-4ed9-bda4-c5b6893f1405/yarn
	20823  2      196290   3        /hdfs/uuid/b94cbf3f-76b1-4ced-9043-02d450b9887c/yarn
	16059  12064  109748   85778    /hdfs/uuid/250b21c8-1714-45fe-8c08-d45d0271c6bd/yarn
	14128  20360  106287   81440    /hdfs/uuid/4a833770-767e-43b3-b696-dc98901bce26/yarn
	15883  4991   86014    82075    /hdfs/uuid/0cc3683f-4800-4c73-8075-8d77dc7cf116/yarn
	11182  4485   28834    116917   /hdfs/uuid/7d512fe7-b20d-464c-a75a-dbf8b687ee1c/yarn
	11848  7810   103139   31240    /hdfs/uuid/2c6a7223-cb18-4916-a1b6-8cd02bda1d31/yarn
	10418  1272   114842   18       /hdfs/uuid/76dc0b77-e2fd-4476-818f-2b5c3c452396/yarn
	10066  6630   93969    20218    /hdfs/uuid/c11da291-28de-4a77-873e-44bb452d238b/yarn
	13648  15453  39450    53744    /hdfs/uuid/99c178d5-a209-4af2-8467-7382c7f03c1b/yarn
	9509   2049   31363    48219    /hdfs/uuid/a78f846a-58c4-4d10-a9f5-42f16a6134a0/yarn
	8112   2178   13765    63479    /hdfs/uuid/bf829d08-1455-45b8-81fa-05c3303e8c45/yarn
	4327   0      37544    0        /hdfs/uuid/fada8004-53ff-48df-9396-165d8e42925b/yarn
	2238   2742   72       50       /hdfs/uuid/b3b2a2ed-f6c1-4641-86bf-2989dd932411/yarn
	3716   0      47       0        /hdfs/uuid/8138a53b-b942-44d3-82df-51575f1a3901/yarn

Signed-off-by: Erwan Velu &lt;e.velu@criteo.com&gt;

Co-authored-by: Erwan Velu &lt;e.velu@criteo.com&gt;
</comment><date>2020-05-20 11:25:32 -0700</date><id>8c12794214bf906089f972676eb065e618d581af</id><msg>tools/dirtop: Adding dirtop utility (#2819)</msg><path><editType>add</editType><file>man/man8/dirtop.8</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>tools/dirtop.py</file></path><path><editType>add</editType><file>tools/dirtop_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/execsnoop.bpf.c</affectedPath><affectedPath>libbpf-tools/execsnoop.c</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><affectedPath>libbpf-tools/execsnoop.h</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><commitId>fa8142e39a65b626309fe01e5024c9886b7a5059</commitId><timestamp>1590041088000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: add CO-RE execsnoop
</comment><date>2020-05-20 23:04:48 -0700</date><id>fa8142e39a65b626309fe01e5024c9886b7a5059</id><msg>libbpf-tools: add CO-RE execsnoop</msg><path><editType>add</editType><file>libbpf-tools/execsnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/execsnoop.h</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>add</editType><file>libbpf-tools/execsnoop.bpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>docs/kernel-versions.md</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>74e66b4f6730e0708f97150ac23d5951c5684ff8</commitId><timestamp>1590074319000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync with latest libbpf

Sync with latest libbpf repo. Update virtual_bpf.h,
helpers.h, docs, etc.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-05-21 08:18:39 -0700</date><id>74e66b4f6730e0708f97150ac23d5951c5684ff8</id><msg>sync with latest libbpf</msg><path><editType>edit</editType><file>src/cc/libbpf</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>docs/kernel-versions.md</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/klockstat.py</affectedPath><affectedPath>tools/opensnoop.py</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>44e0f43eeac53648adb4734862f9b36d80853420</commitId><timestamp>1590089248000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix KFUNC_PROBE return value

The KFUNC_PROBE macro is using "void" as return type, this is causing problems
in some tools that have a filtering enable that returns 0.

Reproducer: (Notice that it requires BTF support)

```
$ python opensnoop.py --pid 5
/virtual/main.c:33:21: error: void function '____kretfunc__do_sys_open' should not return a value [-Wreturn-type]
    if (pid != 5) { return 0; }
                    ^      ~
1 error generated.
...
```

Signed-off-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-05-21 12:27:28 -0700</date><id>44e0f43eeac53648adb4734862f9b36d80853420</id><msg>Fix KFUNC_PROBE return value</msg><path><editType>edit</editType><file>tools/klockstat.py</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>tools/opensnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/libbcc.py</affectedPath><commitId>7722fc55f6c8a5ec1c16ba76f10db3b709af5d36</commitId><timestamp>1590089645000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbcc-py: Fix libbpf types

1ad2656a1d9c ("Add support_kfunc function to BPF object") added new functions
to libbcc-py but didn't set the restype and argstypes for those. It's causing
the `bpf_has_kernel_btf` function to return True in systems without support
for BTF, making tools like opensnoop, klockstat and any other using kfuncs
unusable in those systems.

The following Python script reproduces the problem:

```
from bcc import BPF
print(BPF.support_kfunc())
```

Signed-off-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-05-21 12:34:05 -0700</date><id>7722fc55f6c8a5ec1c16ba76f10db3b709af5d36</id><msg>libbcc-py: Fix libbpf types</msg><path><editType>edit</editType><file>src/python/bcc/libbcc.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/tcplife.py</affectedPath><commitId>104a5b8052a2c7743109b8d19351b66d218359d5</commitId><timestamp>1590093939000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc/tools: fix typo in help message
</comment><date>2020-05-21 13:45:39 -0700</date><id>104a5b8052a2c7743109b8d19351b66d218359d5</id><msg>bcc/tools: fix typo in help message</msg><path><editType>edit</editType><file>tools/tcplife.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/bindsnoop_example.txt</affectedPath><affectedPath>man/man8/tcptracer.8</affectedPath><affectedPath>man/man8/execsnoop.8</affectedPath><affectedPath>man/man8/bindsnoop.8</affectedPath><affectedPath>tools/opensnoop.py</affectedPath><affectedPath>src/python/bcc/containers.py</affectedPath><affectedPath>tools/execsnoop.py</affectedPath><affectedPath>tools/tcptop.py</affectedPath><affectedPath>tools/capable_example.txt</affectedPath><affectedPath>tools/opensnoop_example.txt</affectedPath><affectedPath>docs/filtering_by_cgroups.md</affectedPath><affectedPath>docs/special_filtering.md</affectedPath><affectedPath>tools/capable.py</affectedPath><affectedPath>tools/tcpaccept_example.txt</affectedPath><affectedPath>tools/bindsnoop.py</affectedPath><affectedPath>tools/profile_example.txt</affectedPath><affectedPath>man/man8/opensnoop.8</affectedPath><affectedPath>tools/profile.py</affectedPath><affectedPath>man/man8/tcpconnect.8</affectedPath><affectedPath>man/man8/tcptop.8</affectedPath><affectedPath>man/man8/capable.8</affectedPath><affectedPath>tools/tcpconnect.py</affectedPath><affectedPath>tools/tcpconnect_example.txt</affectedPath><affectedPath>tools/tcpaccept.py</affectedPath><affectedPath>tools/tcptracer.py</affectedPath><affectedPath>man/man8/profile.8</affectedPath><affectedPath>man/man8/tcpaccept.8</affectedPath><affectedPath>tools/execsnoop_example.txt</affectedPath><affectedPath>tools/tcptop_example.txt</affectedPath><affectedPath>tools/tcptracer_example.txt</affectedPath><commitId>32ab858309c84c23049715aaab936ce654ad5792</commitId><timestamp>1590110653000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: add filtering by mount namespace

In previous patches, I added the option --cgroupmap to filter events
belonging to a set of cgroup-v2. Although this approach works fine with
systemd services and containers when cgroup-v2 is enabled, it does not
work with containers when only cgroup-v1 is enabled because
bpf_get_current_cgroup_id() only works with cgroup-v2. It also requires
Linux 4.18 to get this bpf helper function.

This patch adds an additional way to filter by containers, using mount
namespaces.

Note that this does not help with systemd services since they normally
don't create a new mount namespace (unless you set some options like
'ReadOnlyPaths=', see "man 5 systemd.exec").

My goal with this patch is to filter Kubernetes pods, even on
distributions with an older kernel (&lt;4.18) or without cgroup-v2 enabled.

- This is only implemented for tools that already support filtering by
  cgroup id (bindsnoop, capable, execsnoop, profile, tcpaccept, tcpconnect,
  tcptop and tcptracer).

- I picked the mount namespace because the other namespaces could be
  disabled in Kubernetes (e.g. HostNetwork, HostPID, HostIPC).

It can be tested by following the example in docs/special_filtering added
in this commit, to avoid compiling locally the following command can be used

```
sudo bpftool map create /sys/fs/bpf/mnt_ns_set type hash key 8 value 4 \
  entries 128 name mnt_ns_set flags 0
docker run -ti --rm --privileged \
  -v /usr/src:/usr/src -v /lib/modules:/lib/modules \
  -v /sys/fs/bpf:/sys/fs/bpf --pid=host kinvolk/bcc:alban-containers-filters \
  /usr/share/bcc/tools/execsnoop --mntnsmap /sys/fs/bpf/mnt_ns_set

```

Co-authored-by: Alban Crequy &lt;alban@kinvolk.io&gt;
Co-authored-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-05-21 18:24:13 -0700</date><id>32ab858309c84c23049715aaab936ce654ad5792</id><msg>tools: add filtering by mount namespace</msg><path><editType>edit</editType><file>man/man8/opensnoop.8</file></path><path><editType>edit</editType><file>tools/bindsnoop.py</file></path><path><editType>delete</editType><file>docs/filtering_by_cgroups.md</file></path><path><editType>edit</editType><file>tools/profile.py</file></path><path><editType>edit</editType><file>tools/execsnoop.py</file></path><path><editType>edit</editType><file>man/man8/tcptop.8</file></path><path><editType>edit</editType><file>man/man8/tcptracer.8</file></path><path><editType>edit</editType><file>tools/opensnoop_example.txt</file></path><path><editType>edit</editType><file>man/man8/bindsnoop.8</file></path><path><editType>edit</editType><file>tools/tcptracer.py</file></path><path><editType>edit</editType><file>tools/tcpconnect.py</file></path><path><editType>edit</editType><file>tools/tcptop_example.txt</file></path><path><editType>edit</editType><file>man/man8/profile.8</file></path><path><editType>add</editType><file>docs/special_filtering.md</file></path><path><editType>edit</editType><file>tools/tcpaccept.py</file></path><path><editType>edit</editType><file>tools/tcpaccept_example.txt</file></path><path><editType>edit</editType><file>man/man8/tcpaccept.8</file></path><path><editType>edit</editType><file>tools/tcptracer_example.txt</file></path><path><editType>edit</editType><file>tools/capable_example.txt</file></path><path><editType>edit</editType><file>tools/bindsnoop_example.txt</file></path><path><editType>edit</editType><file>tools/profile_example.txt</file></path><path><editType>edit</editType><file>tools/capable.py</file></path><path><editType>edit</editType><file>man/man8/execsnoop.8</file></path><path><editType>add</editType><file>src/python/bcc/containers.py</file></path><path><editType>edit</editType><file>tools/tcpconnect_example.txt</file></path><path><editType>edit</editType><file>man/man8/tcpconnect.8</file></path><path><editType>edit</editType><file>tools/execsnoop_example.txt</file></path><path><editType>edit</editType><file>tools/opensnoop.py</file></path><path><editType>edit</editType><file>tools/tcptop.py</file></path><path><editType>edit</editType><file>man/man8/capable.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/tutorial_bcc_python_developer.md</affectedPath><commitId>683ed9e1baede201e1dfe74d3a661b8b1d6b97da</commitId><timestamp>1590162520000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Spelling

(as title)
</comment><date>2020-05-22 08:48:40 -0700</date><id>683ed9e1baede201e1dfe74d3a661b8b1d6b97da</id><msg>Spelling</msg><path><editType>edit</editType><file>docs/tutorial_bcc_python_developer.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/exitsnoop_example.txt</affectedPath><affectedPath>man/man8/exitsnoop.8</affectedPath><affectedPath>tools/exitsnoop.py</affectedPath><commitId>a28337a7ebea6ce375fb2e976f0b3b61aa05e981</commitId><timestamp>1590210845000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tool: trace process termination by default

`sched_process_exit` tracepoint is called when thread terminates.
So exitsnoop shows line per each thread termination if the process
is multi-thread process. This is not useful when people wants to
know why process terminates, not thread.

So this changes exitsnoop default behavior which traces process termination
instead of thread termination. And add `--per-thread` option which behaves
as original exitsnoop implementation.
</comment><date>2020-05-22 22:14:05 -0700</date><id>a28337a7ebea6ce375fb2e976f0b3b61aa05e981</id><msg>tool: trace process termination by default</msg><path><editType>edit</editType><file>tools/exitsnoop.py</file></path><path><editType>edit</editType><file>man/man8/exitsnoop.8</file></path><path><editType>edit</editType><file>tools/exitsnoop_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>112f5291c63fe6160685160c552ae2b03deb3d1e</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc: Error out when bpf_probe_read_user is not present

1. For architecture with overlapping address space, error out when
   bpf_probe_read_user is not available.
2. For arch with non overlapping address space, if bpf_probe_read_user
   is not available bpf_probe_read_user is implicitly converted to
   bpf_probe_read.
3. Use bpf_probe_read_kernel instead of bpf_probe_read. When
   bpf_probe_read_kernel is not available, fallback to bpf_probe_read.
   If bpf_probe_read is not available, then bcc would fail anyways.
4. See kernel commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{,
   str}() only to archs where they work")

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>112f5291c63fe6160685160c552ae2b03deb3d1e</id><msg>bcc: Error out when bpf_probe_read_user is not present</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/runqslower.py</affectedPath><affectedPath>tools/bitesize.py</affectedPath><affectedPath>tools/fileslower.py</affectedPath><affectedPath>tools/mdflush.py</affectedPath><affectedPath>tools/oomkill.py</affectedPath><affectedPath>tools/deadlock.c</affectedPath><affectedPath>tools/opensnoop.py</affectedPath><affectedPath>tools/biolatency.py</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>tools/tcplife.lua</affectedPath><affectedPath>tools/tcptop.py</affectedPath><affectedPath>tools/trace.py</affectedPath><affectedPath>tools/xfsslower.py</affectedPath><affectedPath>tools/compactsnoop.py</affectedPath><affectedPath>tools/filetop.py</affectedPath><affectedPath>tools/solisten.py</affectedPath><affectedPath>tools/ext4slower.py</affectedPath><affectedPath>tools/sofdsnoop.py</affectedPath><affectedPath>tools/wakeuptime.py</affectedPath><affectedPath>tools/dcsnoop.py</affectedPath><affectedPath>tools/bindsnoop.py</affectedPath><affectedPath>tools/tcpdrop.py</affectedPath><affectedPath>tools/biosnoop.py</affectedPath><affectedPath>tools/killsnoop.py</affectedPath><affectedPath>tools/btrfsslower.py</affectedPath><affectedPath>tools/tcpstates.py</affectedPath><affectedPath>tools/slabratetop.py</affectedPath><affectedPath>tools/tcpconnect.py</affectedPath><affectedPath>tools/dbslower.py</affectedPath><affectedPath>tools/drsnoop.py</affectedPath><affectedPath>tests/python/test_clang.py</affectedPath><affectedPath>tools/argdist.py</affectedPath><affectedPath>tools/memleak.py</affectedPath><affectedPath>tools/biosnoop.lua</affectedPath><affectedPath>tools/gethostlatency.py</affectedPath><affectedPath>tools/ttysnoop.py</affectedPath><affectedPath>tools/tcpretrans.py</affectedPath><affectedPath>tools/funcslower.py</affectedPath><affectedPath>tools/tcpaccept.py</affectedPath><affectedPath>tools/tcptracer.py</affectedPath><affectedPath>tools/filelife.py</affectedPath><affectedPath>tools/hardirqs.py</affectedPath><affectedPath>tools/tcpconnlat.py</affectedPath><affectedPath>tools/zfsslower.py</affectedPath><affectedPath>tools/nfsslower.py</affectedPath><affectedPath>tools/tcplife.py</affectedPath><commitId>7f6066d250efa138419c16c150ad8711d6528d29</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc/tools: Replace bpf_probe_read with bpf_probe_read_kernel

It is recommended to use bpf_probe_read_kernel_{str} in the bpf tools.
See kernel commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}()
only to archs where they work")

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>7f6066d250efa138419c16c150ad8711d6528d29</id><msg>bcc/tools: Replace bpf_probe_read with bpf_probe_read_kernel</msg><path><editType>edit</editType><file>tools/oomkill.py</file></path><path><editType>edit</editType><file>tools/tcpretrans.py</file></path><path><editType>edit</editType><file>tools/tcplife.lua</file></path><path><editType>edit</editType><file>tools/zfsslower.py</file></path><path><editType>edit</editType><file>tools/filetop.py</file></path><path><editType>edit</editType><file>tools/nfsslower.py</file></path><path><editType>edit</editType><file>tools/biosnoop.lua</file></path><path><editType>edit</editType><file>tools/funcslower.py</file></path><path><editType>edit</editType><file>tools/killsnoop.py</file></path><path><editType>edit</editType><file>tools/tcpstates.py</file></path><path><editType>edit</editType><file>tools/ttysnoop.py</file></path><path><editType>edit</editType><file>tools/slabratetop.py</file></path><path><editType>edit</editType><file>tools/biosnoop.py</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>tools/runqslower.py</file></path><path><editType>edit</editType><file>tools/bitesize.py</file></path><path><editType>edit</editType><file>tools/deadlock.c</file></path><path><editType>edit</editType><file>tools/ext4slower.py</file></path><path><editType>edit</editType><file>tools/compactsnoop.py</file></path><path><editType>edit</editType><file>tools/tcpaccept.py</file></path><path><editType>edit</editType><file>tools/btrfsslower.py</file></path><path><editType>edit</editType><file>tools/solisten.py</file></path><path><editType>edit</editType><file>tools/tcptracer.py</file></path><path><editType>edit</editType><file>tools/memleak.py</file></path><path><editType>edit</editType><file>tools/bindsnoop.py</file></path><path><editType>edit</editType><file>tools/dbslower.py</file></path><path><editType>edit</editType><file>tools/tcpdrop.py</file></path><path><editType>edit</editType><file>tools/hardirqs.py</file></path><path><editType>edit</editType><file>tools/sofdsnoop.py</file></path><path><editType>edit</editType><file>tools/tcpconnlat.py</file></path><path><editType>edit</editType><file>tools/biolatency.py</file></path><path><editType>edit</editType><file>tools/tcplife.py</file></path><path><editType>edit</editType><file>tools/trace.py</file></path><path><editType>edit</editType><file>tools/filelife.py</file></path><path><editType>edit</editType><file>tools/fileslower.py</file></path><path><editType>edit</editType><file>tools/tcptop.py</file></path><path><editType>edit</editType><file>tools/dcsnoop.py</file></path><path><editType>edit</editType><file>tools/drsnoop.py</file></path><path><editType>edit</editType><file>tools/mdflush.py</file></path><path><editType>edit</editType><file>tests/python/test_clang.py</file></path><path><editType>edit</editType><file>tools/argdist.py</file></path><path><editType>edit</editType><file>tools/wakeuptime.py</file></path><path><editType>edit</editType><file>tools/opensnoop.py</file></path><path><editType>edit</editType><file>tools/gethostlatency.py</file></path><path><editType>edit</editType><file>tools/tcpconnect.py</file></path><path><editType>edit</editType><file>tools/xfsslower.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/usdt/usdt_args.cc</affectedPath><affectedPath>examples/usdt_sample/scripts/bpf_text_shared.c</affectedPath><affectedPath>examples/cpp/pyperf/PyPerfBPFProgram.cc</affectedPath><commitId>747e0dd9f0e40ef0fd55291a42f79d4691c344dd</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc: Fix user space probe reads with bpf_probe_read_user

User space probe reads should be performed using bpf_probe_read_user.
Fix this in remaining places.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>747e0dd9f0e40ef0fd55291a42f79d4691c344dd</id><msg>bcc: Fix user space probe reads with bpf_probe_read_user</msg><path><editType>edit</editType><file>examples/cpp/pyperf/PyPerfBPFProgram.cc</file></path><path><editType>edit</editType><file>examples/usdt_sample/scripts/bpf_text_shared.c</file></path><path><editType>edit</editType><file>src/cc/usdt/usdt_args.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/filelife.bpf.c</affectedPath><affectedPath>libbpf-tools/runqslower.bpf.c</affectedPath><affectedPath>libbpf-tools/xfsslower.bpf.c</affectedPath><affectedPath>libbpf-tools/drsnoop.bpf.c</affectedPath><commitId>d9583813c07897fbbe99d475ab6beb445ae9ffe8</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc/libbpf-tools: Replace bpf_probe_read with bpf_probe_read_kernel.

As kernel commit b8ebce86ffe6 ("libbpf: Provide CO-RE variants of
PT_REGS macros") is introduced after bpf_probe_read_kernel changes, it
is safe to use bpf_probe_read_kernel directly

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>d9583813c07897fbbe99d475ab6beb445ae9ffe8</id><msg>bcc/libbpf-tools: Replace bpf_probe_read with bpf_probe_read_kernel.</msg><path><editType>edit</editType><file>libbpf-tools/drsnoop.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/filelife.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/runqslower.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/xfsslower.bpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/opensnoop.bpf.c</affectedPath><commitId>4a1313d179e9701469e1e5650b05ec332b85751f</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc/libbpf-tools: Fix user probe read references

Replace bpf_probe_read_str with bpf_probe_read_user_str.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>4a1313d179e9701469e1e5650b05ec332b85751f</id><msg>bcc/libbpf-tools: Fix user probe read references</msg><path><editType>edit</editType><file>libbpf-tools/opensnoop.bpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>docs/tutorial_bcc_python_developer.md</affectedPath><commitId>471d366bb001f6025ec610dd3a615fba8c1dcd26</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc/docs: Replace bpf_probe_read with bpf_probe_read_kernel

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>471d366bb001f6025ec610dd3a615fba8c1dcd26</id><msg>bcc/docs: Replace bpf_probe_read with bpf_probe_read_kernel</msg><path><editType>edit</editType><file>docs/tutorial_bcc_python_developer.md</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>275abc9f3b7fb22ad1ac6a4188c807793b9c38bd</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc: Check probe read availabilty and use macros

When bpf_probe_read_kernel is not available, then macros are defined at
the prologue to replace bpf_probe_read_kernel to bpf_prob_read. This
resolves the problem of test_probe_read3 failure in test_clang.py for
 #2919

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>275abc9f3b7fb22ad1ac6a4188c807793b9c38bd</id><msg>bcc: Check probe read availabilty and use macros</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>0b2f4d0b981803ea8d8393ad2eec93c699e59df1</commitId><timestamp>1590447864000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc: Remove bpf_probe_read_user availability checks on compile time

If wrong kernel-headers are installed, then this can provide false
result for probe read selection. Instead look for only kallsyms.

Signed-off-by: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;
</comment><date>2020-05-25 16:04:24 -0700</date><id>0b2f4d0b981803ea8d8393ad2eec93c699e59df1</id><msg>bcc: Remove bpf_probe_read_user availability checks on compile time</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/b/lexer.h</affectedPath><commitId>ec64e6a774499aa54fdf6eb006a8c94eabec8866</commitId><timestamp>1590463220000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix: avoid -Wsign-compare warnings
</comment><date>2020-05-25 20:20:20 -0700</date><id>ec64e6a774499aa54fdf6eb006a8c94eabec8866</id><msg>fix: avoid -Wsign-compare warnings</msg><path><editType>edit</editType><file>src/cc/frontends/b/lexer.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/killsnoop.py</affectedPath><commitId>076a3545e4f365cdc517995d77329ea0c15c89f0</commitId><timestamp>1590513109000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add arg for filtering on signal
</comment><date>2020-05-26 10:11:49 -0700</date><id>076a3545e4f365cdc517995d77329ea0c15c89f0</id><msg>Add arg for filtering on signal</msg><path><editType>edit</editType><file>tools/killsnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/killsnoop.8</affectedPath><affectedPath>tools/killsnoop_example.txt</affectedPath><commitId>33c8b1aca84b4cdd955efb14d06cea6ce7db4169</commitId><timestamp>1590513109000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Update man page and example file
</comment><date>2020-05-26 10:11:49 -0700</date><id>33c8b1aca84b4cdd955efb14d06cea6ce7db4169</id><msg>Update man page and example file</msg><path><editType>edit</editType><file>man/man8/killsnoop.8</file></path><path><editType>edit</editType><file>tools/killsnoop_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/killsnoop_example.txt</affectedPath><commitId>d12dd2e9fb1ddeb4407dd66881f90d1faff22e54</commitId><timestamp>1590513109000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix example indent
</comment><date>2020-05-26 10:11:49 -0700</date><id>d12dd2e9fb1ddeb4407dd66881f90d1faff22e54</id><msg>Fix example indent</msg><path><editType>edit</editType><file>tools/killsnoop_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/killsnoop.py</affectedPath><commitId>7cecd795440251ca53065caca185978bdc8a18d5</commitId><timestamp>1590513109000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Make examples consistent
</comment><date>2020-05-26 10:11:49 -0700</date><id>7cecd795440251ca53065caca185978bdc8a18d5</id><msg>Make examples consistent</msg><path><editType>edit</editType><file>tools/killsnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>30d897563bd116451f41230712aad2b952eda7d0</commitId><timestamp>1590514758000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>return failure if rewriter cannot rewrite properly

Fix issue #537.

The bcc rewriter does not have enough information to do
proper rewriting from:
  #define PKT_LEN_ADD 1
  ip-&gt;tlen += PKT_LEN_ADD;
to
  bpf_dins_pkt(skb, (u64)ip+2, 0, 16, PKT_LEN_ADD);

So instead of generate incorrect code
which caused compilation error. Let return an error
earlier with helper comments so users know what to do.
With this patch, we will have
 /virtual/main.c:20:17: error: cannot have macro at the end of expresssion,
 workaround: put perentheses around macro "(MARCO)"
    ip-&gt;tlen += PKT_LEN_ADD;
                ^
</comment><date>2020-05-26 10:39:18 -0700</date><id>30d897563bd116451f41230712aad2b952eda7d0</id><msg>return failure if rewriter cannot rewrite properly</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CMakeLists.txt</affectedPath><commitId>82abd2f2680e5c8c86c8cfcab02cc8c68915c599</commitId><timestamp>1590605718000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Allow to specify kernel include dirs

It's sometimes convenient to use other kernel headers,
now it's possible possible with new KERNEL_INCLUDE_DIRS
build variable, like:

  $ cd &lt;kernel-dir&gt;
  $ make INSTALL_HDR_PATH=/tmp/headers headers_install
  $ cd &lt;bcc-dir&gt;
  $ cmake -DKERNEL_INCLUDE_DIRS=/tmp/headers/include/ ...

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-05-27 11:55:18 -0700</date><id>82abd2f2680e5c8c86c8cfcab02cc8c68915c599</id><msg>Allow to specify kernel include dirs</msg><path><editType>edit</editType><file>CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>tests/python/test_clang.py</affectedPath><affectedPath>src/python/bcc/__init__.py</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>d0074783b6f56ed195f378a581726098ab87fe98</commitId><timestamp>1590605718000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Adding support to load lsm programs

Adding the 'lsm__' prefix check for loaded program
and set BPF_LSM_MAC as expected_attach_type if the
program name matches.

This way we can load LSM programs via bcc interface.

The program attach can be done by existing kfunc API:
  bpf_attach_kfunc
  bpf_detach_kfunc

It will be used in upcomming bpftrace change that
adds lsm probes.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-05-27 11:55:18 -0700</date><id>d0074783b6f56ed195f378a581726098ab87fe98</id><msg>Adding support to load lsm programs</msg><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>tests/python/test_clang.py</file></path><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/__init__.py</affectedPath><commitId>5558e36bd97ace7bc3efe3a70d0c9d4fc0d34e2a</commitId><timestamp>1590814223000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Make reading blacklist from debugfs optional

With lockdown enabled one sees the following:

```
$ sudo /usr/share/bcc/tools/funccount -Ti 1 run_timer_softirq
[Errno 1] Operation not permitted: '/sys/kernel/debug/tracing/../kprobes/blacklist'
```

Which is accompanied by the following in `dmesg`:

```
[Fri May 29 22:12:47 2020] Lockdown: funccount: debugfs access is restricted; see man kernel_lockdown.7
```

Since blacklist is not a required feature, let's make
reading from it optional, so that bcc can work out of the box.
</comment><date>2020-05-29 21:50:23 -0700</date><id>5558e36bd97ace7bc3efe3a70d0c9d4fc0d34e2a</id><msg>Make reading blacklist from debugfs optional</msg><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/offwaketime.8</affectedPath><affectedPath>tools/offwaketime_example.txt</affectedPath><affectedPath>tools/offwaketime.py</affectedPath><commitId>b20f5e741f086bf37b19365566b01b5bf6fa251e</commitId><timestamp>1590855453000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>offwaketime: Add support for --state (#2940)

Since offwaketime is really an amalgamation of offcputime and wakeuptime
there is no reason why it shouldn't support the --state argument of the
former.

Co-authored-by: Nikolay Borisov &lt;nborisov@suse.com&gt;
</comment><date>2020-05-30 09:17:33 -0700</date><id>b20f5e741f086bf37b19365566b01b5bf6fa251e</id><msg>offwaketime: Add support for --state (#2940)</msg><path><editType>edit</editType><file>tools/offwaketime.py</file></path><path><editType>edit</editType><file>man/man8/offwaketime.8</file></path><path><editType>edit</editType><file>tools/offwaketime_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/syscount.h</affectedPath><affectedPath>libbpf-tools/drsnoop.c</affectedPath><affectedPath>libbpf-tools/errno_helpers.c</affectedPath><affectedPath>libbpf-tools/xfsslower.c</affectedPath><affectedPath>libbpf-tools/filelife.c</affectedPath><affectedPath>libbpf-tools/syscall_helpers.h</affectedPath><affectedPath>libbpf-tools/syscount.bpf.c</affectedPath><affectedPath>libbpf-tools/errno_helpers.h</affectedPath><affectedPath>libbpf-tools/syscall_helpers.c</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/syscount.c</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>f3fbeb46cb5264d324e60882bd97977ad3dc00d5</commitId><timestamp>1591060922000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>libbpf-tools: convert BCC syscount to BPF CO-RE version

Add a new libbpf-based tool, syscount, and add some helpers which may be used
by other tools. Namely,

  * syscall_helpers.{c,h}: convert system call numbers to names
  * errno_helpers.{c,h}: convert errno names to numbers

The helpers contain pre-generated tables for x86_64 (which will be outdated at
some point, so require to be updated on demand), but for other architectures
require additional tools: syscall helpers require the ausyscall(1) tool, and
errno helpers require errno(1) utility from the moreutils package. So, if you
run on non-x86_64, then either install these tools, or use numeric values.

If possible, use bpf_map_lookup_and_delete_batch function to read and reset
values in the data map.  This is a raceless way to obtain all values.  If the
function is not available, e.g., for old kernels, then fall back to the old
version which can loose some syscalls (happened between reading values and
resetting them).

Signed-off-by: Anton Protopopov &lt;a.s.protopopov@gmail.com&gt;
</comment><date>2020-06-01 18:22:02 -0700</date><id>f3fbeb46cb5264d324e60882bd97977ad3dc00d5</id><msg>libbpf-tools: convert BCC syscount to BPF CO-RE version</msg><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>add</editType><file>libbpf-tools/syscount.h</file></path><path><editType>add</editType><file>libbpf-tools/syscount.c</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/syscall_helpers.c</file></path><path><editType>add</editType><file>libbpf-tools/syscount.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/errno_helpers.c</file></path><path><editType>add</editType><file>libbpf-tools/syscall_helpers.h</file></path><path><editType>edit</editType><file>libbpf-tools/drsnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/filelife.c</file></path><path><editType>edit</editType><file>libbpf-tools/xfsslower.c</file></path><path><editType>add</editType><file>libbpf-tools/errno_helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/funcinterval.py</affectedPath><affectedPath>tools/funcinterval_example.txt</affectedPath><affectedPath>man/man8/funcinterval.8</affectedPath><affectedPath>README.md</affectedPath><commitId>2188d233d69baf9b49ccf5856292f56285be6d41</commitId><timestamp>1591162420000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: Add funcinterval bcc tool.

Time interval between the same function as a histogram.
Referenced from funclatency.
</comment><date>2020-06-02 22:33:40 -0700</date><id>2188d233d69baf9b49ccf5856292f56285be6d41</id><msg>tools: Add funcinterval bcc tool.</msg><path><editType>add</editType><file>tools/funcinterval_example.txt</file></path><path><editType>add</editType><file>man/man8/funcinterval.8</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>tools/funcinterval.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/cpudist.c</affectedPath><affectedPath>libbpf-tools/cpudist.bpf.c</affectedPath><affectedPath>libbpf-tools/trace_helpers.c</affectedPath><affectedPath>libbpf-tools/cpudist.h</affectedPath><affectedPath>libbpf-tools/trace_helpers.h</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>be5d68c7a4847113337e5f98711a3ff37ebd7c29</commitId><timestamp>1591164573000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: add CO-RE cpudist

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-06-02 23:09:33 -0700</date><id>be5d68c7a4847113337e5f98711a3ff37ebd7c29</id><msg>libbpf-tools: add CO-RE cpudist</msg><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/cpudist.c</file></path><path><editType>add</editType><file>libbpf-tools/cpudist.h</file></path><path><editType>add</editType><file>libbpf-tools/cpudist.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/trace_helpers.c</file></path><path><editType>edit</editType><file>libbpf-tools/trace_helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/biolatpcts.py</affectedPath><commitId>da0d82cc11d56d12a383f5c670281bfa61ca2ad7</commitId><timestamp>1591166340000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>silence a python travis-ci warning

The travis-ci flags a python warning:

  $ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
  ./tools/biolatpcts.py:123:5: F821 undefined name 'die'
      die()
      ^
  1     F821 undefined name 'die'

Let us fix it with proper error message and then exit().

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-06-02 23:39:00 -0700</date><id>da0d82cc11d56d12a383f5c670281bfa61ca2ad7</id><msg>silence a python travis-ci warning</msg><path><editType>edit</editType><file>tools/biolatpcts.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>Dockerfile.ubuntu</affectedPath><commitId>5fed2a94da19501c3088161db0c412b5623050ca</commitId><timestamp>1591199176000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Docker: add kmod dependency to docker container

modprobe and rmmod are used to load the kheaders module as a last option
when kernel headers are not found. The modprobe command is missing in the
docker image and scroipts are failing:

$ /usr/share/bcc/tools/execsnoop --mntnsmap /sys/fs/bpf/mnt_ns_set
sh: 1: modprobe: not found
Unable to find kernel headers. Try rebuilding kernel with CONFIG_IKHEADERS=m (module)
...

Signed-off-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-06-03 08:46:16 -0700</date><id>5fed2a94da19501c3088161db0c412b5623050ca</id><msg>Docker: add kmod dependency to docker container</msg><path><editType>edit</editType><file>Dockerfile.ubuntu</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/loader.cc</affectedPath><affectedPath>tests/python/test_clang.py</affectedPath><commitId>8319d52dc8834daa0766f61487f75ed3c3c731fe</commitId><timestamp>1591283820000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>turn off x86 jump table optimization during jit compilation

jump table optimization tries to optimize switch statements
into an array access. But such optimization will place certain
information, acted as the array, in the read-only section.
Currently, bcc does not support read-only section, so
jump table optimized code will fail during kernel verification.
This is what happened to biolatpcts.py in my environment with
latest llvm.

  -bash-4.4$ sudo ./biolatpcts.py console
  bpf: Failed to load program: Invalid argument
  unknown opcode 60
  processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0

  HINT: The 'unknown opcode' can happen if you reference a global or static variable,
  or data in read-only section. For example, 'char *p = "hello"' will result in p
  referencing a read-only section, and 'char p[] = "hello"' will have "hello" stored on the stack.

This patch disabled jump table optimization on x64. The jump table
optimization is guarded for llvm version 4 and above.
We can disable jump table on other architectures if needed.
A test case, developed based biolatpcts.py tool, is added
to ensure it pass the verifier.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-06-04 08:17:00 -0700</date><id>8319d52dc8834daa0766f61487f75ed3c3c731fe</id><msg>turn off x86 jump table optimization during jit compilation</msg><path><editType>edit</editType><file>tests/python/test_clang.py</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/loader.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/runqslower.py</affectedPath><commitId>78b0f07c55e179929e789c987cce47031495cad6</commitId><timestamp>1591333355000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix runqslower to indicate that the latency param is in microseconds.
</comment><date>2020-06-04 22:02:35 -0700</date><id>78b0f07c55e179929e789c987cce47031495cad6</id><msg>Fix runqslower to indicate that the latency param is in microseconds.</msg><path><editType>edit</editType><file>tools/runqslower.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bcc_usdt.h</affectedPath><affectedPath>src/cc/usdt/usdt.cc</affectedPath><affectedPath>src/cc/usdt.h</affectedPath><commitId>126054e829e7c6ed342f8719818490bc093f851a</commitId><timestamp>1591337337000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>usdt: Add helpers to set semaphore values

While debugging a high memory consumption issue in bpftrace, I noticed
that a USDT::Context object can take ~10M per instance [0]. Along with
the new --usdt-file-activation feature in bpftrace
( https://github.com/iovisor/bpftrace/pull/1317 ), bpftrace can
potentially hold onto many dozens of USDT:Context instances, causing
memory issues.

While reducing the amount of memory USDT::Context uses is one option,
we can potentially side step it by allowing the usdt semaphore count to
be set independently. Before, the only way to increment the count (by 1)
is to call bcc_usdt_enable*(). bcc_usdt_enable*() has checks that limit
it to a single increment per context. The only way to decrement the
count is by calling bcc_usdt_close() which naturally only allows for
one decrement.

With independent semaphore helpers, we can avoid holding onto a
USDT::Context instance for the lifetime of the tracing session. We can
simply:

1. create a USDT::Context
2. increment the semaphore count for the probe we care about
3. destroy the USDT::Context
4. repeat 1-3 for all probes we want to attach to
5. do our tracing
6. create a USDT::Context for the probe we care about
7. decrement the semaphore count
8. destroy the USDT::Context
9. repeat 6-8 for all the probes we're attached to

This approach also has the benefit of 1 USDT::Context instance being
alive at a time which can help keep memory high watermark low.

[0]: Through gdb single stepping and /proc/pid/status. Exact process is
not described here b/c memory usage probably varies based on tracee
binary.
</comment><date>2020-06-04 23:08:57 -0700</date><id>126054e829e7c6ed342f8719818490bc093f851a</id><msg>usdt: Add helpers to set semaphore values</msg><path><editType>edit</editType><file>src/cc/bcc_usdt.h</file></path><path><editType>edit</editType><file>src/cc/usdt.h</file></path><path><editType>edit</editType><file>src/cc/usdt/usdt.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/usdt/usdt.cc</affectedPath><commitId>0bcf2388ce19271c98512d04f719f9efb1c87d39</commitId><timestamp>1591419398000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>usdt: Have Context::addsem_probe() nop if pid not specified

This makes bcc_usdt_addsem*() more consistent with the bcc_usdt_enable*()
interface where if a USDT::Context was not constructed with a pid the
semaphore enablement nops.
</comment><date>2020-06-05 21:56:38 -0700</date><id>0bcf2388ce19271c98512d04f719f9efb1c87d39</id><msg>usdt: Have Context::addsem_probe() nop if pid not specified</msg><path><editType>edit</editType><file>src/cc/usdt/usdt.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/offwaketime.8</affectedPath><affectedPath>tools/offwaketime_example.txt</affectedPath><affectedPath>tools/offwaketime.py</affectedPath><commitId>263411be9805502bc7e4daaf0ce6cea90884aa38</commitId><timestamp>1591598026000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add support for multiple PID/TID for offwaketime (#2951)

Instead of filtering on a single process allow up to 5 pid/tgid to be
used for filtering. The limit of 5 is arbitrary and can be increased
should the need arise. Also remove unnecessary thread_context variable.

Co-authored-by: Nikolay Borisov &lt;nborisov@suse.com&gt;
</comment><date>2020-06-07 23:33:46 -0700</date><id>263411be9805502bc7e4daaf0ce6cea90884aa38</id><msg>Add support for multiple PID/TID for offwaketime (#2951)</msg><path><editType>edit</editType><file>tools/offwaketime.py</file></path><path><editType>edit</editType><file>man/man8/offwaketime.8</file></path><path><editType>edit</editType><file>tools/offwaketime_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/__init__.py</affectedPath><commitId>005664bd2d252c51ef18f5286e049a389e298bd3</commitId><timestamp>1591598425000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix: encode path to bytes in python3
</comment><date>2020-06-07 23:40:25 -0700</date><id>005664bd2d252c51ef18f5286e049a389e298bd3</id><msg>fix: encode path to bytes in python3</msg><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/opensnoop.py</affectedPath><commitId>8cd2717de91983aeeadefd0886031bd4d8e920ee</commitId><timestamp>1591638498000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools/opensnoop: Fix compilation problem

Fix stupid bug introduced by myself.

Signed-off-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-06-08 10:48:18 -0700</date><id>8cd2717de91983aeeadefd0886031bd4d8e920ee</id><msg>tools/opensnoop: Fix compilation problem</msg><path><editType>edit</editType><file>tools/opensnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/xfsslower.c</affectedPath><affectedPath>libbpf-tools/trace_helpers.c</affectedPath><affectedPath>libbpf-tools/opensnoop.c</affectedPath><affectedPath>libbpf-tools/filelife.c</affectedPath><affectedPath>libbpf-tools/trace_helpers.h</affectedPath><affectedPath>libbpf-tools/execsnoop.c</affectedPath><affectedPath>libbpf-tools/filelife.h</affectedPath><affectedPath>libbpf-tools/drsnoop.c</affectedPath><affectedPath>libbpf-tools/cpudist.c</affectedPath><affectedPath>libbpf-tools/runqslower.c</affectedPath><affectedPath>libbpf-tools/execsnoop.h</affectedPath><affectedPath>libbpf-tools/vfsstat.c</affectedPath><affectedPath>libbpf-tools/syscount.c</affectedPath><commitId>e4de95efada2bdb2f5a1ae8647421a712d1c196a</commitId><timestamp>1591725528000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: refactor, move public methods to trace_helpers.c

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-06-09 10:58:48 -0700</date><id>e4de95efada2bdb2f5a1ae8647421a712d1c196a</id><msg>libbpf-tools: refactor, move public methods to trace_helpers.c</msg><path><editType>edit</editType><file>libbpf-tools/opensnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/runqslower.c</file></path><path><editType>edit</editType><file>libbpf-tools/vfsstat.c</file></path><path><editType>edit</editType><file>libbpf-tools/drsnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/filelife.c</file></path><path><editType>edit</editType><file>libbpf-tools/filelife.h</file></path><path><editType>edit</editType><file>libbpf-tools/trace_helpers.h</file></path><path><editType>edit</editType><file>libbpf-tools/syscount.c</file></path><path><editType>edit</editType><file>libbpf-tools/execsnoop.h</file></path><path><editType>edit</editType><file>libbpf-tools/cpudist.c</file></path><path><editType>edit</editType><file>libbpf-tools/execsnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/xfsslower.c</file></path><path><editType>edit</editType><file>libbpf-tools/trace_helpers.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/deadlock.py</affectedPath><commitId>4440a4db2e3fdb5277c2ad283504ea3504b43ecf</commitId><timestamp>1591777722000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/jmarchan</absoluteUrl><fullName>jmarchan</fullName></author><authorEmail>jmarchan@redhat.com</authorEmail><comment>deadlock: print a more explicit message when pthread_mutex_unlock can't be attached

Most likely, this happen because of a missing --binary argument. Let's
be friendly to our user and print a more useful messsage.
</comment><date>2020-06-10 10:28:42 +0200</date><id>4440a4db2e3fdb5277c2ad283504ea3504b43ecf</id><msg>deadlock: print a more explicit message when pthread_mutex_unlock can't be attached</msg><path><editType>edit</editType><file>tools/deadlock.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/tcpconnect.8</affectedPath><commitId>eddf9dd07a4c1d94aad70894f98df24bc0e4cbc2</commitId><timestamp>1591781435000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/jmarchan</absoluteUrl><fullName>jmarchan</fullName></author><authorEmail>jmarchan@redhat.com</authorEmail><comment>man: remove non-existent -x argument from tcpconnect man page

There's no -x option in tcpconnect. I don't know how it get into the
man page sysnopsis, but it doesn't belong there.
</comment><date>2020-06-10 11:30:35 +0200</date><id>eddf9dd07a4c1d94aad70894f98df24bc0e4cbc2</id><msg>man: remove non-existent -x argument from tcpconnect man page</msg><path><editType>edit</editType><file>man/man8/tcpconnect.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/loader.cc</affectedPath><commitId>7830947fad1e0a9e2c723e7cb800af9d7e5b8e77</commitId><timestamp>1591806744000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/jmarchan</absoluteUrl><fullName>jmarchan</fullName></author><authorEmail>jmarchan@redhat.com</authorEmail><comment>loader: suggest to install the right kernel devel package

Unfortunately, some package dependency system do not allow to make
sure that the kernel development package installed is the same version
as the running kernel. When this happen, the loader, unable to find
the kernel header, will suggest to rebuild the kernel with
CONFIG_IKHEADERS. For most users, this is probably not an option, but
installing the kernel development package corresponding to the running
kernel version is.
</comment><date>2020-06-10 18:32:24 +0200</date><id>7830947fad1e0a9e2c723e7cb800af9d7e5b8e77</id><msg>loader: suggest to install the right kernel devel package</msg><path><editType>edit</editType><file>src/cc/frontends/clang/loader.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/dbstat.py</affectedPath><affectedPath>tools/dbslower.py</affectedPath><commitId>c9805f44bfe491a6fbbc34a06d0432a5ae3e8c20</commitId><timestamp>1591819639000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: fix a python 3 map issue in dbstat and dbslower

In python 3, map returns an iterator and not a list anymore. This
patch cast the map into a list. It fixes the following error:

$ /usr/share/bcc/tools/dbstat mysql
Traceback (most recent call last):
  File "/usr/share/bcc/tools/dbstat", line 95, in &lt;module&gt;
    bpf = BPF(text=program, usdt_contexts=usdts)
  File "/usr/lib/python3.6/site-packages/bcc/__init__.py", line 339, in __init__
    ctx_array = (ct.c_void_p * len(usdt_contexts))()
TypeError: object of type 'map' has no len()
</comment><date>2020-06-10 13:07:19 -0700</date><id>c9805f44bfe491a6fbbc34a06d0432a5ae3e8c20</id><msg>tools: fix a python 3 map issue in dbstat and dbslower</msg><path><editType>edit</editType><file>tools/dbstat.py</file></path><path><editType>edit</editType><file>tools/dbslower.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><commitId>6a9619418cd202b477ca0582bd9b3a30d14731d5</commitId><timestamp>1592013954000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix typos in kretfunc documentation

Fixes an incorrect link to kretfunc documentation section and fixes example to use proper macro
</comment><date>2020-06-12 19:05:54 -0700</date><id>6a9619418cd202b477ca0582bd9b3a30d14731d5</id><msg>Fix typos in kretfunc documentation</msg><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/sync_timing.py</affectedPath><affectedPath>docs/tutorial_bcc_python_developer.md</affectedPath><commitId>59665497bf967e29a3d693e50081f62e3012edfe</commitId><timestamp>1592029388000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Explicitly use NULL macro in pointer value check (#2965)

 Explicitly use NULL macro in pointer value check
 also updated the tutorial
</comment><date>2020-06-12 23:23:08 -0700</date><id>59665497bf967e29a3d693e50081f62e3012edfe</id><msg>Explicitly use NULL macro in pointer value check (#2965)</msg><path><editType>edit</editType><file>docs/tutorial_bcc_python_developer.md</file></path><path><editType>edit</editType><file>examples/tracing/sync_timing.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/dbstat.py</affectedPath><affectedPath>tools/klockstat.py</affectedPath><commitId>10603c7123c4b2157190151b63ea846c04c76037</commitId><timestamp>1592029488000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>dbstat: fix overflowing timestamp

The current default value of interval (99999999999) in dbstat is too
high to be used in the sleep() function in python 3. I couldn't find a
authoritative source on the issue, but it seems the max value is
2^63/10^9 (9223372036). Anyway, 99999999 is the de facto standard for
a very big number here, so just use that. It's over 3 years, that
should be enough.

For consistency, I also change a couple of value in klockstat even
though they didn't overflow.

It fixes the following error:
$ dbstat mysql
Tracing database queries for pids  slower than 0 ms...
Traceback (most recent call last):
  File "./dbstat", line 112, in &lt;module&gt;
    sleep(args.interval)
OverflowError: timestamp too large to convert to C _PyTime_t
</comment><date>2020-06-12 23:24:48 -0700</date><id>10603c7123c4b2157190151b63ea846c04c76037</id><msg>dbstat: fix overflowing timestamp</msg><path><editType>edit</editType><file>tools/klockstat.py</file></path><path><editType>edit</editType><file>tools/dbstat.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>2c9395596e100697412225dc9e3856c2138a117b</commitId><timestamp>1592202211000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add install steps for Alpine Linux
</comment><date>2020-06-14 23:23:31 -0700</date><id>2c9395596e100697412225dc9e3856c2138a117b</id><msg>Add install steps for Alpine Linux</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>introspection/bps.c</affectedPath><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><affectedPath>docs/kernel-versions.md</affectedPath><commitId>99fa312fefd90a760be9ba429f3267dfd78a76a8</commitId><timestamp>1592318818000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync with latest libbpf repo

sync with latest libbpf repo, added newer ringbuf_*
helper functions and new csum_level() helper.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-06-16 07:46:58 -0700</date><id>99fa312fefd90a760be9ba429f3267dfd78a76a8</id><msg>sync with latest libbpf repo</msg><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/libbpf</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>docs/kernel-versions.md</file></path><path><editType>edit</editType><file>introspection/bps.c</file></path><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/kbuild_helper.cc</affectedPath><commitId>68abb51ed067c4317b991cec0bbc2ea4e7f6ddab</commitId><timestamp>1592444586000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add KBUILD_MODNAME flag to default cflags
</comment><date>2020-06-17 18:43:06 -0700</date><id>68abb51ed067c4317b991cec0bbc2ea4e7f6ddab</id><msg>Add KBUILD_MODNAME flag to default cflags</msg><path><editType>edit</editType><file>src/cc/frontends/clang/kbuild_helper.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/networking/xdp/xdp_macswap_count.py</affectedPath><affectedPath>tools/tcpstates.py</affectedPath><affectedPath>examples/tracing/nflatency.py</affectedPath><affectedPath>examples/networking/xdp/xdp_redirect_map.py</affectedPath><affectedPath>examples/networking/xdp/xdp_drop_count.py</affectedPath><affectedPath>tests/python/test_clang.py</affectedPath><affectedPath>examples/networking/xdp/xdp_redirect_cpu.py</affectedPath><affectedPath>tools/tcplife.py</affectedPath><affectedPath>tools/tcplife.lua</affectedPath><commitId>1c843e2c0f7570844a2c955436455132936eae47</commitId><timestamp>1592444586000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Delete existing kbuild_modname definitions
</comment><date>2020-06-17 18:43:06 -0700</date><id>1c843e2c0f7570844a2c955436455132936eae47</id><msg>Delete existing kbuild_modname definitions</msg><path><editType>edit</editType><file>examples/networking/xdp/xdp_redirect_cpu.py</file></path><path><editType>edit</editType><file>tests/python/test_clang.py</file></path><path><editType>edit</editType><file>tools/tcplife.py</file></path><path><editType>edit</editType><file>tools/tcplife.lua</file></path><path><editType>edit</editType><file>examples/networking/xdp/xdp_macswap_count.py</file></path><path><editType>edit</editType><file>examples/tracing/nflatency.py</file></path><path><editType>edit</editType><file>examples/networking/xdp/xdp_drop_count.py</file></path><path><editType>edit</editType><file>examples/networking/xdp/xdp_redirect_map.py</file></path><path><editType>edit</editType><file>tools/tcpstates.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>src/cc/libbpf</affectedPath><commitId>c3ed131d33426d2094fdd05f76f3a33bc3140ddf</commitId><timestamp>1592545350000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync with libbpf v0.0.9

sync with libbpf version 0.0.9.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-06-18 22:42:30 -0700</date><id>c3ed131d33426d2094fdd05f76f3a33bc3140ddf</id><msg>sync with libbpf v0.0.9</msg><path><editType>edit</editType><file>src/cc/libbpf</file></path><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/api/BPFTable.cc</affectedPath><commitId>e3daec85c47c0695f1bf955782fddf8644d89742</commitId><timestamp>1592549496000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>[BPFTable] clear_table_non_atomic: Remove duplicate macro

Signed-off-by: Gaurav Singh &lt;gaurav1086@gmail.com&gt;
</comment><date>2020-06-18 23:51:36 -0700</date><id>e3daec85c47c0695f1bf955782fddf8644d89742</id><msg>[BPFTable] clear_table_non_atomic: Remove duplicate macro</msg><path><editType>edit</editType><file>src/cc/api/BPFTable.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>f438bffe0331d482fac57899fdd68411c4aca693</commitId><timestamp>1592579461000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix LSM_PROBE return value

Fix issue #2976.
The LSM_PROBE program return value is fixed with value 0.
This is not correct. The return value is meaningful for
LSM_PROBE programs. Return proper value provided by the
bpf program itself.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-06-19 08:11:01 -0700</date><id>f438bffe0331d482fac57899fdd68411c4aca693</id><msg>fix LSM_PROBE return value</msg><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/python/test_clang.py</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/python/bcc/__init__.py</affectedPath><affectedPath>src/python/bcc/libbcc.py</affectedPath><affectedPath>src/cc/libbpf.h</affectedPath><commitId>9b82af3ef53bbae76d9f09f403b58975995aa900</commitId><timestamp>1592592089000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>API improvements for BPF LSM programs (#2979)

* Enhanced support for LSM programs
- added explicit libbcc support for LSM programs
- added bcc helpers to attach LSM programs
- added bcc helper to indicate kernel support for LSM programs
- added LSM programs to __trace_autoload hook
- removed (now) unnecessary load_func from LSM unit test
- Remove detach_kfunc

Signed-off-by: William Findlay &lt;william@williamfindlay.com&gt;
</comment><date>2020-06-19 11:41:29 -0700</date><id>9b82af3ef53bbae76d9f09f403b58975995aa900</id><msg>API improvements for BPF LSM programs (#2979)</msg><path><editType>edit</editType><file>tests/python/test_clang.py</file></path><path><editType>edit</editType><file>src/python/bcc/libbcc.py</file></path><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/libbpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><commitId>5a8bf15a7e1bfdcd327126f02501630f8b79f4d1</commitId><timestamp>1592596822000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add LSM probe documentation (#2980)

 Add LSM documentation
 Add minimum kernel version requirements
</comment><date>2020-06-19 13:00:22 -0700</date><id>5a8bf15a7e1bfdcd327126f02501630f8b79f4d1</id><msg>Add LSM probe documentation (#2980)</msg><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>debian/changelog</affectedPath><commitId>e41f7a3be5c8114ef6a0990e50c2fbabea0e928e</commitId><timestamp>1592599380000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>prepare for release v0.15.0

added changelog for release v0.15.0

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-06-19 13:43:00 -0700</date><id>e41f7a3be5c8114ef6a0990e50c2fbabea0e928e</id><msg>prepare for release v0.15.0</msg><path><editType>edit</editType><file>debian/changelog</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/syscount.bpf.c</affectedPath><commitId>05f3f8668481cf975cbf89338e0db7d411ef1432</commitId><timestamp>1592719140000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: remove unnecessary header include from syscount.bpf.c

It causes build failure on my system due to trying to include GCC-specific
header. It doesn't seem to be necessary, though, so remove it.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-06-20 22:59:00 -0700</date><id>05f3f8668481cf975cbf89338e0db7d411ef1432</id><msg>libbpf-tools: remove unnecessary header include from syscount.bpf.c</msg><path><editType>edit</editType><file>libbpf-tools/syscount.bpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/__init__.py</affectedPath><commitId>4bf92d1110799393439cb6138bbcfa57670b42b9</commitId><timestamp>1592757792000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add missing LSM cleanup hook
</comment><date>2020-06-21 09:43:12 -0700</date><id>4bf92d1110799393439cb6138bbcfa57670b42b9</id><msg>Add missing LSM cleanup hook</msg><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>f579bf8d60c804084888c12ecb621d74a86815aa</commitId><timestamp>1592802117000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bpf: use bpf_probe_read in implicitly generated kernel mem read

Currently, bcc rewriter uses bpf_probe_read_kernel() for implicitly specified
kernel memory read. This is not totally correct. Some user memory in kernel
data structure may be accessed. bpf_probe_read_kernel() may fail with
later kernels. Let us revert back to old bpf_probe_read().
</comment><date>2020-06-21 22:01:57 -0700</date><id>f579bf8d60c804084888c12ecb621d74a86815aa</id><msg>bpf: use bpf_probe_read in implicitly generated kernel mem read</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/kernel-versions.md</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><commitId>0d9e0911ddd9e6132fd2b05c7de6eaeafc540d67</commitId><timestamp>1592876435000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix kernel version for ringbuf and add ringbuf to maps table
</comment><date>2020-06-22 18:40:35 -0700</date><id>0d9e0911ddd9e6132fd2b05c7de6eaeafc540d67</id><msg>Fix kernel version for ringbuf and add ringbuf to maps table</msg><path><editType>edit</editType><file>docs/kernel-versions.md</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/bitesize.h</affectedPath><affectedPath>libbpf-tools/bitesize.bpf.c</affectedPath><affectedPath>libbpf-tools/cpudist.bpf.c</affectedPath><affectedPath>libbpf-tools/bits.bpf.h</affectedPath><affectedPath>libbpf-tools/bitesize.c</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><commitId>34f8985c29b0107b8526d5b0eedce2299db6570b</commitId><timestamp>1592932756000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: add CO-RE bitesize

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-06-23 10:19:16 -0700</date><id>34f8985c29b0107b8526d5b0eedce2299db6570b</id><msg>libbpf-tools: add CO-RE bitesize</msg><path><editType>add</editType><file>libbpf-tools/bitesize.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/bitesize.h</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>edit</editType><file>libbpf-tools/cpudist.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/bits.bpf.h</file></path><path><editType>add</editType><file>libbpf-tools/bitesize.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/profile.py</affectedPath><commitId>1bddba6adefedc02fa5d6fda371a92c8fd4a3aea</commitId><timestamp>1593011521000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools/profile: fix suggestion about when to increase stack-storage-size

When we do stack traces via stackmaps, hash collisions (-EEXIST) may indicate
that the map size is too small. Not -ENOMEM.
</comment><date>2020-06-24 08:12:01 -0700</date><id>1bddba6adefedc02fa5d6fda371a92c8fd4a3aea</id><msg>tools/profile: fix suggestion about when to increase stack-storage-size</msg><path><editType>edit</editType><file>tools/profile.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/vfsstat.py</affectedPath><commitId>156a7d150a20f2ce7cce0fb7144952ab9fedf6e7</commitId><timestamp>1593011645000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Fix KFUNC_PROBE calls in vfs_stat.py by adding a return value (#2990)

 Fix KFUNC_PROBE calls in vfs_stat.py by adding a return value of 0
</comment><date>2020-06-24 08:14:05 -0700</date><id>156a7d150a20f2ce7cce0fb7144952ab9fedf6e7</id><msg>Fix KFUNC_PROBE calls in vfs_stat.py by adding a return value (#2990)</msg><path><editType>edit</editType><file>tools/vfsstat.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>tests/python/test_ringbuf.py</affectedPath><affectedPath>tests/python/CMakeLists.txt</affectedPath><affectedPath>examples/ringbuf/ringbuf_output.py</affectedPath><affectedPath>examples/ringbuf/ringbuf_submit.py</affectedPath><affectedPath>src/cc/libbpf.h</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/python/bcc/__init__.py</affectedPath><affectedPath>src/python/bcc/libbcc.py</affectedPath><affectedPath>src/python/bcc/table.py</affectedPath><commitId>fe730f29f14bef8b5ffe1112c578df876c44d22d</commitId><timestamp>1593125990000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Ringbuf Support for Python API (#2989)

This pull request contains an implementation for ringbuf support in bcc's Python API.

Fixes #2985.
 
More specifically, the following are added:
    - ringbuf helpers from libbpf API to libbcc
    - a new RingBuf class to represent the ringbuf map
    - BPF_RINGBUF_OUTPUT macro for BPF programs
    - tests
    - detailed documentation and examples
</comment><date>2020-06-25 15:59:50 -0700</date><id>fe730f29f14bef8b5ffe1112c578df876c44d22d</id><msg>Ringbuf Support for Python API (#2989)</msg><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path><path><editType>edit</editType><file>src/python/bcc/libbcc.py</file></path><path><editType>edit</editType><file>tests/python/CMakeLists.txt</file></path><path><editType>add</editType><file>examples/ringbuf/ringbuf_submit.py</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>add</editType><file>tests/python/test_ringbuf.py</file></path><path><editType>edit</editType><file>src/cc/libbpf.h</file></path><path><editType>add</editType><file>examples/ringbuf/ringbuf_output.py</file></path><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path><path><editType>edit</editType><file>src/python/bcc/table.py</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>fbde62b089fd7bd7818fa4b4e36f89e9b49883f9</commitId><timestamp>1593446828000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Introducing Queue/Stack helpers and clang frontend

This commit aims to introduce helpers to declare Queue/Stack maps. I have supported also
the creation of shared/public/pinned ones, as for the "traditional" tables.
In clang frontend I have added both declaration of maps type/queue, type/stack and all the operations
supported so far by these new maps (push/pop/peek).

Possible declarations introduced:

* BPF_QUEUESTACK(&lt;"queue"/"stack"&gt;, &lt;name&gt;, &lt;leaf_type&gt;, &lt;max_entries&gt;, &lt;flags&gt;)
* BPF_QUEUESTACK_SHARED(...)
* BPF_QUEUESTACK_PINNED(...)
* BPF_QUEUESTACK_PUBLIC(...)
* BPF_QUEUE(&lt;name&gt;, &lt;leaf_type&gt;, &lt;max_entries&gt;)
* BPF_QUEUE(&lt;name&gt;, &lt;leaf_type&gt;, &lt;max_entries&gt;, &lt;flags&gt;)
* BPF_STACK(&lt;name&gt;, &lt;leaf_type&gt;, &lt;max_entries&gt;)
* BPF_STACK(&lt;name&gt;, &lt;leaf_type&gt;, &lt;max_entries&gt;, &lt;flags&gt;)

Signed-off-by: Simone Magnani &lt;simonemagnani.96@gmail.com&gt;
Co-authored-by: Sebastiano Miano &lt;sebastiano.miano@polito.it&gt;
</comment><date>2020-06-29 09:07:08 -0700</date><id>fbde62b089fd7bd7818fa4b4e36f89e9b49883f9</id><msg>Introducing Queue/Stack helpers and clang frontend</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/CMakeLists.txt</affectedPath><affectedPath>src/cc/api/BPFTable.h</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/libbpf.h</affectedPath><affectedPath>tests/cc/test_queuestack_table.cc</affectedPath><commitId>30a420d70457555b92b8e5f555e58cf79d70ab23</commitId><timestamp>1593446828000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>add BPFQueueStackTable and tests

This commit aims to introduce a new abstraction for these new map types: BPFQueueStackTableBase.
As all the allowed operation on these map types are different from the
"traditional" ones, I thought to introduce a new abstraction, following the
already used programming style (template classes and utility func).
Moreover, I had to update libbpf.h/c to insert the new bpf_map_lookup_and_delete_elem(),
used when calling "pop()"

Signed-off-by: Simone Magnani &lt;simonemagnani.96@gmail.com&gt;
</comment><date>2020-06-29 09:07:08 -0700</date><id>30a420d70457555b92b8e5f555e58cf79d70ab23</id><msg>add BPFQueueStackTable and tests</msg><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path><path><editType>edit</editType><file>tests/cc/CMakeLists.txt</file></path><path><editType>edit</editType><file>src/cc/libbpf.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/api/BPFTable.h</file></path><path><editType>add</editType><file>tests/cc/test_queuestack_table.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>docs/kernel-versions.md</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>f0bbf327dc4dba3cfb4d48a27de6c690bee172ef</commitId><timestamp>1593587556000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync with latest libbpf repo

sync with latest libbpf repository
</comment><date>2020-07-01 00:12:36 -0700</date><id>f0bbf327dc4dba3cfb4d48a27de6c690bee172ef</id><msg>sync with latest libbpf repo</msg><path><editType>edit</editType><file>docs/kernel-versions.md</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/libbpf</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/memleak.py</affectedPath><commitId>581b198cffb55a7dd6486e54007df25e57feb466</commitId><timestamp>1593668737000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>valloc and pvalloc is deprecated in bionic on Android

memleak -p PID will failed on Android
https://android.googlesource.com/platform/bionic/+/master/libc/bionic/malloc_common.cpp#196
</comment><date>2020-07-01 22:45:37 -0700</date><id>581b198cffb55a7dd6486e54007df25e57feb466</id><msg>valloc and pvalloc is deprecated in bionic on Android</msg><path><editType>edit</editType><file>tools/memleak.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bcc_elf.c</affectedPath><commitId>fc20957bdf266ce3468a53e7d6b071d717c612d0</commitId><timestamp>1593883314000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix symfs symbol resolution

Paths that are passed to find_debug_via_symfs often start with /proc/PID/root/
prefix which is followed by actual path. This breaks symfs symbol resoultion.
Symfs directory usually does not contain proc subdirectory and subdirectories
for each pid.

Here are examples of stack traces I got when tracing dlopen on Android before:
```
7acc558ef8 dlopen+0 (/system/lib64/libdl.so)
7a2222f988 EglThreadState::GetProcAddress(char const*)+64 (/vendor/lib64/egl/libGLESv2_adreno.so)
7ac8e3ecbc eglGetProcAddress+540 (/system/lib64/libEGL.so)
7acb824a58 GrGLMakeAssembledGLESInterface(void*, void (* ()(void, char const*))())+8136 (/system/lib64/libhwui.so)
7acb83a9b0 GrGLCreateNativeInterface()+48 (/system/lib64/libhwui.so)
7acb63443c 0x7acb63443c ([unknown])
7acb9cd33c 0x7acb9cd33c ([unknown])
7acb9cdd70 0x7acb9cdd70 ([unknown])
7acb9c7f20 0x7acb9c7f20 ([unknown])
7acb9cbcc8 0x7acb9cbcc8 ([unknown])
7acb98348c 0x7acb98348c ([unknown])
7acb65da30 0x7acb65da30 ([unknown])
7aca096b84 android::Thread::_threadLoop(void*)+284 (/system/lib64/libutils.so)
7acc2c6288 __pthread_start(void*)+40 (/system/lib64/libc.so)
7acc266500 __start_thread+72 (/system/lib64/libc.so)
```

and after:
```
7acc558ef8 dlopen+0 (/system/lib64/libdl.so)
7a23a2d988 EglThreadState::GetProcAddress(char const*)+64 (/vendor/lib64/egl/libGLESv2_adreno.so)
7ac8e3ecbc eglGetProcAddress+540 (/system/lib64/libEGL.so)
7acb824a58 0x7acb824a58 ([unknown])
7acb83a9b0 GrGLCreateNativeInterface()+48 (/system/lib64/libhwui.so)
7acb63443c android::uirenderer::debug::GlesDriver::getSkiaInterface()+20 (/system/lib64/libhwui.so)
7acb9cd33c android::uirenderer::renderthread::EglManager::initialize()+700 (/system/lib64/libhwui.so)
7acb9cdd70 android::uirenderer::renderthread::EglManager::createSurface(ANativeWindow*, bool)+48 (/system/lib64/libhwui.so)
7acb9c7f20 android::uirenderer::skiapipeline::SkiaOpenGLPipeline::setSurface(android::Surface*, android::uirenderer::renderthread::SwapBehavior, android::uirenderer::renderthread::ColorMode)+88 (/system/lib64/libhwui.so)
7acb9cbcc8 android::uirenderer::renderthread::CanvasContext::setSurface(android::sp&lt;android::Surface&gt;&amp;&amp;)+88 (/system/lib64/libhwui.so)
7acb98348c android::uirenderer::WorkQueue::process()+172 (/system/lib64/libhwui.so)
7acb65da30 0x7acb65da30 ([unknown])
7aca096b84 android::Thread::_threadLoop(void*)+284 (/system/lib64/libutils.so)
7acc2c6288 __pthread_start(void*)+40 (/system/lib64/libc.so)
7acc266500 __start_thread+72 (/system/lib64/libc.so)
```
</comment><date>2020-07-04 10:21:54 -0700</date><id>fc20957bdf266ce3468a53e7d6b071d717c612d0</id><msg>Fix symfs symbol resolution</msg><path><editType>edit</editType><file>src/cc/bcc_elf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/kernel-versions.md</affectedPath><commitId>1a348d4ae12ba6ec9831e89532504e27a815fa99</commitId><timestamp>1593886904000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>docs: Add BPF LSM hook to kernel features

Signed-off-by: Gary Lin &lt;glin@suse.com&gt;
</comment><date>2020-07-04 11:21:44 -0700</date><id>1a348d4ae12ba6ec9831e89532504e27a815fa99</id><msg>docs: Add BPF LSM hook to kernel features</msg><path><editType>edit</editType><file>docs/kernel-versions.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/kernel-versions.md</affectedPath><commitId>f0dd3496bd40b867cdf05d5f4565c8363f5fb906</commitId><timestamp>1593886904000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>docs: Update XDP driver support list

Signed-off-by: Gary Lin &lt;glin@suse.com&gt;
</comment><date>2020-07-04 11:21:44 -0700</date><id>f0dd3496bd40b867cdf05d5f4565c8363f5fb906</id><msg>docs: Update XDP driver support list</msg><path><editType>edit</editType><file>docs/kernel-versions.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/kernel-versions.md</affectedPath><commitId>be277421add33cb348ae1092d3ab926c1f609328</commitId><timestamp>1593886904000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>docs: add RISC-V to the JIT support list

Signed-off-by: Gary Lin &lt;glin@suse.com&gt;
</comment><date>2020-07-04 11:21:44 -0700</date><id>be277421add33cb348ae1092d3ab926c1f609328</id><msg>docs: add RISC-V to the JIT support list</msg><path><editType>edit</editType><file>docs/kernel-versions.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/sslsniff.py</affectedPath><commitId>1b7aab1b12fbfd621ceec282df9fbffb7423c508</commitId><timestamp>1594190654000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>add the option --hexdump to sslsniff to allow sniffing of binary protocols inside TLS/SSL connections
</comment><date>2020-07-07 23:44:14 -0700</date><id>1b7aab1b12fbfd621ceec282df9fbffb7423c508</id><msg>add the option --hexdump to sslsniff to allow sniffing of binary protocols inside TLS/SSL connections</msg><path><editType>edit</editType><file>tools/sslsniff.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/sslsniff.py</affectedPath><commitId>d40c3a7d801b3944a036a193366a99f96fbd570c</commitId><timestamp>1594190654000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix examples in sslsniff.py
</comment><date>2020-07-07 23:44:14 -0700</date><id>d40c3a7d801b3944a036a193366a99f96fbd570c</id><msg>fix examples in sslsniff.py</msg><path><editType>edit</editType><file>tools/sslsniff.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/sslsniff.py</affectedPath><affectedPath>man/man8/sslsniff.8</affectedPath><affectedPath>tools/sslsniff_example.txt</affectedPath><commitId>d91b31a59038c9c79ee1c9e6a45149239531b155</commitId><timestamp>1594190654000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>reformat code, add new option to manpage and usage in sslsniff_example.txt
</comment><date>2020-07-07 23:44:14 -0700</date><id>d91b31a59038c9c79ee1c9e6a45149239531b155</id><msg>reformat code, add new option to manpage and usage in sslsniff_example.txt</msg><path><editType>edit</editType><file>tools/sslsniff.py</file></path><path><editType>edit</editType><file>tools/sslsniff_example.txt</file></path><path><editType>edit</editType><file>man/man8/sslsniff.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/sslsniff_example.txt</affectedPath><commitId>1ef6758b1ce5847d2699183d951c0e2bee00ee39</commitId><timestamp>1594190654000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>example block of --hexdump in sslsniff_example.txt
</comment><date>2020-07-07 23:44:14 -0700</date><id>1ef6758b1ce5847d2699183d951c0e2bee00ee39</id><msg>example block of --hexdump in sslsniff_example.txt</msg><path><editType>edit</editType><file>tools/sslsniff_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>d4f6a162363b759f00cecc9aa2293557519f615c</commitId><timestamp>1594190989000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>docs: fix Ubuntu Eoan spelling

Signed-off-by: Lorenzo Fontana &lt;fontanalorenz@gmail.com&gt;
</comment><date>2020-07-07 23:49:49 -0700</date><id>d4f6a162363b759f00cecc9aa2293557519f615c</id><msg>docs: fix Ubuntu Eoan spelling</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>tools/biotop.py</affectedPath><affectedPath>examples/lua/kprobe-latency.lua</affectedPath><affectedPath>examples/tracing/bitehist.py</affectedPath><affectedPath>docs/tutorial_bcc_python_developer.md</affectedPath><affectedPath>examples/tracing/disksnoop.py</affectedPath><affectedPath>tools/biosnoop.py</affectedPath><affectedPath>tools/old/biosnoop.py</affectedPath><affectedPath>tools/biosnoop.lua</affectedPath><commitId>95c9229ea9f029a1b9e8dcbe86fc67f037c0dfa2</commitId><timestamp>1594193175000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Replace kprobe function "blk_account_io_completion" to "blk_account_io_done" for kernel version &gt;= 5.8.0

The kernel function "blk_account_io_completion" is not available anymore as attach point of Kprobe as of kernel version 5.8.0. Therefore, after discussions, we decided to use function "blk_account_io_done" instead in every kprobe attachment to "blk_account_io_completion".
</comment><date>2020-07-08 00:26:15 -0700</date><id>95c9229ea9f029a1b9e8dcbe86fc67f037c0dfa2</id><msg>Replace kprobe function "blk_account_io_completion" to "blk_account_io_done" for kernel version &gt;= 5.8.0</msg><path><editType>edit</editType><file>examples/tracing/disksnoop.py</file></path><path><editType>edit</editType><file>tools/biosnoop.py</file></path><path><editType>edit</editType><file>tools/old/biosnoop.py</file></path><path><editType>edit</editType><file>tools/biosnoop.lua</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path><path><editType>edit</editType><file>examples/lua/kprobe-latency.lua</file></path><path><editType>edit</editType><file>examples/tracing/bitehist.py</file></path><path><editType>edit</editType><file>docs/tutorial_bcc_python_developer.md</file></path><path><editType>edit</editType><file>tools/biotop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/memleak.8</affectedPath><affectedPath>tools/memleak.py</affectedPath><affectedPath>tools/memleak_example.txt</affectedPath><commitId>cd81f13c1ff96927d6e4fffd6a5d9fb0cd354c08</commitId><timestamp>1594219208000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>memleak: Add workaround to alleviate misjudgments when free is missing

Profiling in memory part is hard to be accurate because of BPF infrastructure.
memleak keeps misjudging memory leak on the complicated environment which has
the action of free in hard/soft irq.

For example, in my misjudged case:

640 bytes in 10 allocations from stack
--
__kmalloc+0x178 [kernel]
__kmalloc+0x178 [kernel]
xhci_urb_enqueue+0x140 [kernel]
usb_hcd_submit_urb+0x5e0 [kernel]

This result looks like kernel doesn't free urb_priv. However, it's not true.
The reason for this leak is because xhci hw irq interrupts during the BPF program.
BPF program is not finished on that CPU, and xhci_irq() will call xhci_urb_free_priv()
before the end. But the kernel doesn't permit this isr to go into BPF program again.
Because BPF infrastructure(trace_call_bpf) denied this action.
So we miss this free action and cause memory leak misjudgment.

Side-effect:
- Increase overhead for each memory allocation.
- A higher chance to be interrupted at the allocation part causes ignore more allocations.

This workaround doesn't solve all misjudgments, the improvement in BPF infrastructure
is the only solution.
</comment><date>2020-07-08 07:40:08 -0700</date><id>cd81f13c1ff96927d6e4fffd6a5d9fb0cd354c08</id><msg>memleak: Add workaround to alleviate misjudgments when free is missing</msg><path><editType>edit</editType><file>tools/memleak_example.txt</file></path><path><editType>edit</editType><file>tools/memleak.py</file></path><path><editType>edit</editType><file>man/man8/memleak.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>docs/kernel-versions.md</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>fab26b4369aa020b412c2c1ba42bc1179b9c3337</commitId><timestamp>1594223384000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync with latest libbpf

sync with latest libbpf repo

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-07-08 08:49:44 -0700</date><id>fab26b4369aa020b412c2c1ba42bc1179b9c3337</id><msg>sync with latest libbpf</msg><path><editType>edit</editType><file>src/cc/libbpf</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>docs/kernel-versions.md</file></path><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/syscount.bpf.c</affectedPath><affectedPath>libbpf-tools/maps.bpf.h</affectedPath><commitId>57d10f5b4ed4c27b789cc72292e16daa1e1f9e7a</commitId><timestamp>1594252404000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/a.s.protopopov</absoluteUrl><fullName>a.s.protopopov</fullName></author><authorEmail>a.s.protopopov@gmail.com</authorEmail><comment>libbpf-tools: add header to store BPF-side map helpers

Add a new header kern_map_helpers.h to store BPF-size map helpers
which may be used from different programs. On the moment it contains
the bpf_map_lookup_or_try_init helper.

Signed-off-by: Anton Protopopov &lt;a.s.protopopov@gmail.com&gt;
</comment><date>2020-07-08 23:53:24 +0000</date><id>57d10f5b4ed4c27b789cc72292e16daa1e1f9e7a</id><msg>libbpf-tools: add header to store BPF-side map helpers</msg><path><editType>edit</editType><file>libbpf-tools/syscount.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/maps.bpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/syscount.c</affectedPath><commitId>b8cdd214a0fcce7e2086e04f1a1f7a268e841271</commitId><timestamp>1594252404000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/a.s.protopopov</absoluteUrl><fullName>a.s.protopopov</fullName></author><authorEmail>a.s.protopopov@gmail.com</authorEmail><comment>libbpf-tools: fix an error message

A wrong argument (-errno) was passed to strerror, fix it.

Signed-off-by: Anton Protopopov &lt;a.s.protopopov@gmail.com&gt;
</comment><date>2020-07-08 23:53:24 +0000</date><id>b8cdd214a0fcce7e2086e04f1a1f7a268e841271</id><msg>libbpf-tools: fix an error message</msg><path><editType>edit</editType><file>libbpf-tools/syscount.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/map_helpers.c</affectedPath><affectedPath>libbpf-tools/map_helpers.h</affectedPath><affectedPath>libbpf-tools/tcpconnect.bpf.c</affectedPath><affectedPath>libbpf-tools/tcpconnect.c</affectedPath><affectedPath>libbpf-tools/tcpconnect.h</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><commitId>3ef753186420e39e8b9c97d5eb2af7c991339dd7</commitId><timestamp>1594295281000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/a.s.protopopov</absoluteUrl><fullName>a.s.protopopov</fullName></author><authorEmail>a.s.protopopov@gmail.com</authorEmail><comment>libbpf-tools: convert BCC tcpconnect to BPF CO-RE version

Add a new libbpf-based tool, tcpconnect, and add some helpers which may
be used by other tools. Namely, user_map_helpers.{c,h} files implement
a function dump_hash() which uses map_batch_lookup (if possible) to read
entire hash maps to user space.

The tcpconnect acts as the original BCC tool except that --cgroupmap and
--mntnsmap options are not implemented, yet.

Signed-off-by: Anton Protopopov &lt;a.s.protopopov@gmail.com&gt;
</comment><date>2020-07-09 11:48:01 +0000</date><id>3ef753186420e39e8b9c97d5eb2af7c991339dd7</id><msg>libbpf-tools: convert BCC tcpconnect to BPF CO-RE version</msg><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>add</editType><file>libbpf-tools/map_helpers.c</file></path><path><editType>add</editType><file>libbpf-tools/tcpconnect.h</file></path><path><editType>add</editType><file>libbpf-tools/map_helpers.h</file></path><path><editType>add</editType><file>libbpf-tools/tcpconnect.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/tcpconnect.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/perf.py</affectedPath><affectedPath>src/python/bcc/libbcc.py</affectedPath><commitId>104d2b3eb6ed1f1bdbc03cb322c6ae917c1b4425</commitId><timestamp>1594312439000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add .lazy_symbolize field to bcc_symbol_option and add ignored fields to perf_event_attr
</comment><date>2020-07-09 09:33:59 -0700</date><id>104d2b3eb6ed1f1bdbc03cb322c6ae917c1b4425</id><msg>Add .lazy_symbolize field to bcc_symbol_option and add ignored fields to perf_event_attr</msg><path><editType>edit</editType><file>src/python/bcc/perf.py</file></path><path><editType>edit</editType><file>src/python/bcc/libbcc.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>tests/python/test_queuestack.py</affectedPath><affectedPath>tests/python/CMakeLists.txt</affectedPath><affectedPath>src/python/bcc/__init__.py</affectedPath><affectedPath>src/python/bcc/table.py</affectedPath><commitId>e70bbdcbcbcd01e5570ba7b9d79e282d16a53d40</commitId><timestamp>1594486170000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add Python API and documentation for Queue/Stack Tables (#3013)

* Add QueueStack Python API
* Add tests for QueueStack Python API
* Add documentation for QueueStack
</comment><date>2020-07-11 09:49:30 -0700</date><id>e70bbdcbcbcd01e5570ba7b9d79e282d16a53d40</id><msg>Add Python API and documentation for Queue/Stack Tables (#3013)</msg><path><editType>edit</editType><file>src/python/bcc/table.py</file></path><path><editType>edit</editType><file>tests/python/CMakeLists.txt</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path><path><editType>add</editType><file>tests/python/test_queuestack.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>src/cc/frontends/clang/b_frontend_action.h</affectedPath><commitId>1abab9bd2b68a389db704848c3b9fbb03f8e0c02</commitId><timestamp>1594570946000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>use bpf_probe_read_kernel for implicit kernel mem read on s390

Commit f579bf8d60c8 ("bpf: use bpf_probe_read in implicitly
generated kernel mem read") unconditionally use bpf_probe_read()
for implicit kernel memory read in bpf programs.

This won't work for s390 with recent kernels since s390 has
overlap user/kernel addresses and bpf_probe_read() is not
available any more.

This patch partially reverted Commit f579bf8d60c8 such
that for s390, bpf_probe_read_kernel() will be used
while other architectures bpf_probe_read() is used.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-07-12 09:22:26 -0700</date><id>1abab9bd2b68a389db704848c3b9fbb03f8e0c02</id><msg>use bpf_probe_read_kernel for implicit kernel mem read on s390</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/test_queuestack_table.cc</affectedPath><commitId>d3a102d5d1029438ec7a1a5450095362f3b56fc1</commitId><timestamp>1594605495000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix cc queue/stack test kernel version

This commit fixes the Kernel version check in test_queuestack_table.cc .
The correct one, as discussed in #3013, is 4.20 (not 5.0).

Signed-off-by: Simone Magnani &lt;simonemagnani.96@gmail.com&gt;
</comment><date>2020-07-12 18:58:15 -0700</date><id>d3a102d5d1029438ec7a1a5450095362f3b56fc1</id><msg>fix cc queue/stack test kernel version</msg><path><editType>edit</editType><file>tests/cc/test_queuestack_table.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bcc_elf.c</affectedPath><commitId>4efe7fe3e81a65ca4d2cf6eec8055125ca3018f9</commitId><timestamp>1594621792000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix debug file lookup in bcc_elf_symbol_str

Logic for looking up debug file in bcc_elf_symbol_str and foreach_sym_core
differ. This commit factors out relevant code from foreach_sym_core and reuses
it in bcc_elf_symbol_str.
</comment><date>2020-07-12 23:29:52 -0700</date><id>4efe7fe3e81a65ca4d2cf6eec8055125ca3018f9</id><msg>fix debug file lookup in bcc_elf_symbol_str</msg><path><editType>edit</editType><file>src/cc/bcc_elf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><commitId>316b404c28744fd106b3b37cc216693d143a7a2d</commitId><timestamp>1594835592000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>update reference_guide for implicit kmem access rewriting

Update the reference_guide to spell out for implicit
kernel memory access, when rewriter uses bpf_probe_read()
(for non-s390) and when using bpf_probe_read_kernel()
(for s390).

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-07-15 10:53:12 -0700</date><id>316b404c28744fd106b3b37cc216693d143a7a2d</id><msg>update reference_guide for implicit kmem access rewriting</msg><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/biolatency.bpf.c</affectedPath><affectedPath>libbpf-tools/biolatency.h</affectedPath><affectedPath>libbpf-tools/blk_types.h</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><affectedPath>libbpf-tools/biolatency.c</affectedPath><commitId>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</commitId><timestamp>1594867082000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: add CO-RE biolatency

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-07-15 19:38:02 -0700</date><id>222821c8be2c3aa862ddd7e4bf2a10965ae0639f</id><msg>libbpf-tools: add CO-RE biolatency</msg><path><editType>add</editType><file>libbpf-tools/blk_types.h</file></path><path><editType>add</editType><file>libbpf-tools/biolatency.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>add</editType><file>libbpf-tools/biolatency.h</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/biolatency.c</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/sumanthk</absoluteUrl><fullName>sumanthk</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/jmarchan</absoluteUrl><fullName>jmarchan</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/a.s.protopopov</absoluteUrl><fullName>a.s.protopopov</fullName></culprit></matrixRun>