summaryrefslogtreecommitdiff
path: root/lib/support
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@gitlab.com>2014-12-02 16:20:50 +0000
committerDmitriy Zaporozhets <dzaporozhets@gitlab.com>2014-12-02 16:20:50 +0000
commitc2e5343849fdfc24d7f363da7eb881214bf1b327 (patch)
treef8a5b9aef22e89c24db97b80cb04cdf54084c3af /lib/support
parent1587c36b0489731c1248dfa3a6e8750ca5fcab88 (diff)
parent835cbc06d8d9c773a3b405eca81650378a8ccdcd (diff)
downloadgitlab-ce-c2e5343849fdfc24d7f363da7eb881214bf1b327.tar.gz
Merge branch 'improve-mr-reloading' into 'master'
Improve MR reloading ## Theory Every time you pushed to master it updates merge requests that has master as target branch. So if you have 50 open merge requests point to master it will reload all of them every time you push a single commit to master. The funny thing is that after reloading diff of most merge requests looks the same. After this patch we update diff only if we push commit to master that includes in MR commits list. For example we have next repository: feature: A - B - C master: A We create merge request with code from feature to master. MR: B - C If we push to master commit D - MR will not be reloaded. So picture will look next: feature: A - B - C master: A - D MR: B - C And if we push to master commit B - MR will be reloaded. So picture will look next: feature: A - B - C master: A - B MR: C ## Benchmark For project with 45 open merge requests to master Before ``` Benchmark post-receive | Cache and size: 0.060000 0.040000 0.100000 ( 0.379720) Benchmark post-receive | Push commits selection: 0.130000 0.020000 0.150000 ( 0.149299) Benchmark post-receive | Update merge requests: 9.180000 2.030000 11.210000 ( 11.971747) Benchmark post-receive | Process commit messages: 0.140000 0.010000 0.150000 ( 0.168810) Benchmark post-receive | Push data: 0.020000 0.000000 0.020000 ( 0.016363) Benchmark post-receive | Push event and services: 0.030000 0.000000 0.030000 ( 0.088062) ``` After ``` Benchmark post-receive | Cache and size: 0.070000 0.030000 0.100000 ( 0.106676) Benchmark post-receive | Push commits selection: 0.130000 0.020000 0.150000 ( 0.143081) Benchmark post-receive | Update merge requests: 0.660000 0.210000 0.870000 ( 0.892663) Benchmark post-receive | Process commit messages: 0.030000 0.000000 0.030000 ( 0.029263) Benchmark post-receive | Push data: 0.020000 0.000000 0.020000 ( 0.018479) Benchmark post-receive | Push event and services: 0.030000 0.000000 0.030000 ( 0.038230) ``` - - - ## References Discussion in gitlab/gitlabhq#1796 See merge request !1288
Diffstat (limited to 'lib/support')
0 files changed, 0 insertions, 0 deletions