##// END OF EJS Templates
release: Merge default into stable for release preparation
marcink -
r354:c835ad40 merge stable
parent child Browse files
Show More
@@ -1,5 +1,5 b''
1 [bumpversion]
1 [bumpversion]
2 current_version = 4.10.6
2 current_version = 4.11.0
3 message = release: Bump version {current_version} to {new_version}
3 message = release: Bump version {current_version} to {new_version}
4
4
5 [bumpversion:file:vcsserver/VERSION]
5 [bumpversion:file:vcsserver/VERSION]
@@ -21,8 +21,7 b' syntax: regexp'
21 ^\.cache.*$
21 ^\.cache.*$
22 ^\.rhodecode$
22 ^\.rhodecode$
23
23
24 ^_dev
24 ^.dev
25 ^._dev
26 ^build/
25 ^build/
27 ^coverage\.xml$
26 ^coverage\.xml$
28 ^data$
27 ^data$
@@ -5,12 +5,10 b' done = false'
5 done = true
5 done = true
6
6
7 [task:fixes_on_stable]
7 [task:fixes_on_stable]
8 done = true
9
8
10 [task:pip2nix_generated]
9 [task:pip2nix_generated]
11 done = true
12
10
13 [release]
11 [release]
14 state = prepared
12 state = in_progress
15 version = 4.10.6
13 version = 4.11.0
16
14
@@ -137,6 +137,7 b' let'
137 # We ensure that always the correct version is available as a symlink.
137 # We ensure that always the correct version is available as a symlink.
138 # So that users calling them via the profile path will always use the
138 # So that users calling them via the profile path will always use the
139 # correct version.
139 # correct version.
140 ln -s ${self.python}/bin/python $out/bin
140 ln -s ${pkgs.git}/bin/git $out/bin
141 ln -s ${pkgs.git}/bin/git $out/bin
141 ln -s ${self.mercurial}/bin/hg $out/bin
142 ln -s ${self.mercurial}/bin/hg $out/bin
142 ln -s ${pkgs.subversion}/bin/svn* $out/bin
143 ln -s ${pkgs.subversion}/bin/svn* $out/bin
@@ -24,6 +24,13 b' self: super: {'
24 '';
24 '';
25 });
25 });
26
26
27 hgsubversion = super.hgsubversion.override (attrs: {
28 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
29 pkgs.sqlite
30 basePythonPackages.sqlite3
31 ];
32 });
33
27 mercurial = super.mercurial.override (attrs: {
34 mercurial = super.mercurial.override (attrs: {
28 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
35 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
29 self.python.modules.curses
36 self.python.modules.curses
@@ -16,13 +16,13 b''
16 };
16 };
17 };
17 };
18 Jinja2 = super.buildPythonPackage {
18 Jinja2 = super.buildPythonPackage {
19 name = "Jinja2-2.8";
19 name = "Jinja2-2.9.6";
20 buildInputs = with self; [];
20 buildInputs = with self; [];
21 doCheck = false;
21 doCheck = false;
22 propagatedBuildInputs = with self; [MarkupSafe];
22 propagatedBuildInputs = with self; [MarkupSafe];
23 src = fetchurl {
23 src = fetchurl {
24 url = "https://pypi.python.org/packages/f2/2f/0b98b06a345a761bec91a079ccae392d282690c2d8272e708f4d10829e22/Jinja2-2.8.tar.gz";
24 url = "https://pypi.python.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
25 md5 = "edb51693fe22c53cee5403775c71a99e";
25 md5 = "6411537324b4dba0956aaa8109f3c77b";
26 };
26 };
27 meta = {
27 meta = {
28 license = [ pkgs.lib.licenses.bsdOriginal ];
28 license = [ pkgs.lib.licenses.bsdOriginal ];
@@ -42,13 +42,13 b''
42 };
42 };
43 };
43 };
44 MarkupSafe = super.buildPythonPackage {
44 MarkupSafe = super.buildPythonPackage {
45 name = "MarkupSafe-0.23";
45 name = "MarkupSafe-1.0";
46 buildInputs = with self; [];
46 buildInputs = with self; [];
47 doCheck = false;
47 doCheck = false;
48 propagatedBuildInputs = with self; [];
48 propagatedBuildInputs = with self; [];
49 src = fetchurl {
49 src = fetchurl {
50 url = "https://pypi.python.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-0.23.tar.gz";
50 url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
51 md5 = "f5ab3deee4c37cd6a922fb81e730da6e";
51 md5 = "2fcedc9284d50e577b5192e8e3578355";
52 };
52 };
53 meta = {
53 meta = {
54 license = [ pkgs.lib.licenses.bsdOriginal ];
54 license = [ pkgs.lib.licenses.bsdOriginal ];
@@ -81,13 +81,13 b''
81 };
81 };
82 };
82 };
83 WebTest = super.buildPythonPackage {
83 WebTest = super.buildPythonPackage {
84 name = "WebTest-2.0.27";
84 name = "WebTest-2.0.29";
85 buildInputs = with self; [];
85 buildInputs = with self; [];
86 doCheck = false;
86 doCheck = false;
87 propagatedBuildInputs = with self; [six WebOb waitress beautifulsoup4];
87 propagatedBuildInputs = with self; [six WebOb waitress beautifulsoup4];
88 src = fetchurl {
88 src = fetchurl {
89 url = "https://pypi.python.org/packages/80/fa/ca3a759985c72e3a124cbca3e1f8a2e931a07ffd31fd45d8f7bf21cb95cf/WebTest-2.0.27.tar.gz";
89 url = "https://pypi.python.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz";
90 md5 = "54e6515ac71c51b6fc90179483c749ad";
90 md5 = "30b4cf0d340b9a5335fac4389e6f84fc";
91 };
91 };
92 meta = {
92 meta = {
93 license = [ pkgs.lib.licenses.mit ];
93 license = [ pkgs.lib.licenses.mit ];
@@ -159,13 +159,13 b''
159 };
159 };
160 };
160 };
161 decorator = super.buildPythonPackage {
161 decorator = super.buildPythonPackage {
162 name = "decorator-4.0.11";
162 name = "decorator-4.1.2";
163 buildInputs = with self; [];
163 buildInputs = with self; [];
164 doCheck = false;
164 doCheck = false;
165 propagatedBuildInputs = with self; [];
165 propagatedBuildInputs = with self; [];
166 src = fetchurl {
166 src = fetchurl {
167 url = "https://pypi.python.org/packages/cc/ac/5a16f1fc0506ff72fcc8fd4e858e3a1c231f224ab79bb7c4c9b2094cc570/decorator-4.0.11.tar.gz";
167 url = "https://pypi.python.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
168 md5 = "73644c8f0bd4983d1b6a34b49adec0ae";
168 md5 = "a0f7f4fe00ae2dde93494d90c192cf8c";
169 };
169 };
170 meta = {
170 meta = {
171 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
171 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
@@ -224,16 +224,16 b''
224 };
224 };
225 };
225 };
226 gprof2dot = super.buildPythonPackage {
226 gprof2dot = super.buildPythonPackage {
227 name = "gprof2dot-2016.10.13";
227 name = "gprof2dot-2017.9.19";
228 buildInputs = with self; [];
228 buildInputs = with self; [];
229 doCheck = false;
229 doCheck = false;
230 propagatedBuildInputs = with self; [];
230 propagatedBuildInputs = with self; [];
231 src = fetchurl {
231 src = fetchurl {
232 url = "https://pypi.python.org/packages/a0/e0/73c71baed306f0402a00a94ffc7b2be94ad1296dfcb8b46912655b93154c/gprof2dot-2016.10.13.tar.gz";
232 url = "https://pypi.python.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
233 md5 = "0125401f15fd2afe1df686a76c64a4fd";
233 md5 = "cda2d552bb0d0b9f16e6824a9aabd225";
234 };
234 };
235 meta = {
235 meta = {
236 license = [ { fullName = "LGPL"; } ];
236 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
237 };
237 };
238 };
238 };
239 greenlet = super.buildPythonPackage {
239 greenlet = super.buildPythonPackage {
@@ -263,26 +263,26 b''
263 };
263 };
264 };
264 };
265 hg-evolve = super.buildPythonPackage {
265 hg-evolve = super.buildPythonPackage {
266 name = "hg-evolve-6.6.0";
266 name = "hg-evolve-7.0.1";
267 buildInputs = with self; [];
267 buildInputs = with self; [];
268 doCheck = false;
268 doCheck = false;
269 propagatedBuildInputs = with self; [];
269 propagatedBuildInputs = with self; [];
270 src = fetchurl {
270 src = fetchurl {
271 url = "https://pypi.python.org/packages/c5/04/3557c97eaa320b5a6769edade64a299cd2710f5f3b818f64991ab6c8c08f/hg-evolve-6.6.0.tar.gz";
271 url = "https://pypi.python.org/packages/92/5c/4c216be1a08f326a12076b645f4892a2b0865810db1f4a0c9648f1f4c113/hg-evolve-7.0.1.tar.gz";
272 md5 = "06b9a9c8e8137bbf0c4fbf940c009725";
272 md5 = "2dfa926846ea873a8406bababb06b277";
273 };
273 };
274 meta = {
274 meta = {
275 license = [ { fullName = "GPLv2+"; } ];
275 license = [ { fullName = "GPLv2+"; } ];
276 };
276 };
277 };
277 };
278 hgsubversion = super.buildPythonPackage {
278 hgsubversion = super.buildPythonPackage {
279 name = "hgsubversion-1.8.7";
279 name = "hgsubversion-1.9";
280 buildInputs = with self; [];
280 buildInputs = with self; [];
281 doCheck = false;
281 doCheck = false;
282 propagatedBuildInputs = with self; [mercurial subvertpy];
282 propagatedBuildInputs = with self; [mercurial subvertpy];
283 src = fetchurl {
283 src = fetchurl {
284 url = "https://pypi.python.org/packages/1c/b8/ff4d2e0ec486f9765b410f09728c02a010e7485d68d6154968074498a403/hgsubversion-1.8.7.tar.gz";
284 url = "https://pypi.python.org/packages/db/26/7293a6c6b85e2a74ab452e9ba7f00b04ff0e440e6cd4f84131ac5d5e6b22/hgsubversion-1.9.tar.gz";
285 md5 = "289f1c36c13bd6a3435a9be390a77bdc";
285 md5 = "0c6f93ef12cc2e7fe67286f16bcc7211";
286 };
286 };
287 meta = {
287 meta = {
288 license = [ pkgs.lib.licenses.gpl1 ];
288 license = [ pkgs.lib.licenses.gpl1 ];
@@ -354,13 +354,13 b''
354 };
354 };
355 };
355 };
356 mercurial = super.buildPythonPackage {
356 mercurial = super.buildPythonPackage {
357 name = "mercurial-4.2.3";
357 name = "mercurial-4.4.2";
358 buildInputs = with self; [];
358 buildInputs = with self; [];
359 doCheck = false;
359 doCheck = false;
360 propagatedBuildInputs = with self; [];
360 propagatedBuildInputs = with self; [];
361 src = fetchurl {
361 src = fetchurl {
362 url = "https://www.mercurial-scm.org/release/mercurial-4.2.3.tar.gz";
362 url = "https://pypi.python.org/packages/d0/83/92a5fa662ba277128db305e39e7ea5a638f2f1cbbc6dc5fbf4c14aefae22/mercurial-4.4.2.tar.gz";
363 md5 = "a24a8fab7c2ad2c65e945b1b35d94e3b";
363 md5 = "95769125cf7e9dbc341a983253acefcd";
364 };
364 };
365 meta = {
365 meta = {
366 license = [ pkgs.lib.licenses.gpl1 pkgs.lib.licenses.gpl2Plus ];
366 license = [ pkgs.lib.licenses.gpl1 pkgs.lib.licenses.gpl2Plus ];
@@ -406,13 +406,13 b''
406 };
406 };
407 };
407 };
408 pexpect = super.buildPythonPackage {
408 pexpect = super.buildPythonPackage {
409 name = "pexpect-4.2.1";
409 name = "pexpect-4.3.0";
410 buildInputs = with self; [];
410 buildInputs = with self; [];
411 doCheck = false;
411 doCheck = false;
412 propagatedBuildInputs = with self; [ptyprocess];
412 propagatedBuildInputs = with self; [ptyprocess];
413 src = fetchurl {
413 src = fetchurl {
414 url = "https://pypi.python.org/packages/e8/13/d0b0599099d6cd23663043a2a0bb7c61e58c6ba359b2656e6fb000ef5b98/pexpect-4.2.1.tar.gz";
414 url = "https://pypi.python.org/packages/f8/44/5466c30e49762bb92e442bbdf4472d6904608d211258eb3198a11f0309a4/pexpect-4.3.0.tar.gz";
415 md5 = "3694410001a99dff83f0b500a1ca1c95";
415 md5 = "047a486dcd26134b74f2e67046bb61a0";
416 };
416 };
417 meta = {
417 meta = {
418 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
418 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
@@ -432,26 +432,26 b''
432 };
432 };
433 };
433 };
434 plaster = super.buildPythonPackage {
434 plaster = super.buildPythonPackage {
435 name = "plaster-0.5";
435 name = "plaster-1.0";
436 buildInputs = with self; [];
436 buildInputs = with self; [];
437 doCheck = false;
437 doCheck = false;
438 propagatedBuildInputs = with self; [setuptools];
438 propagatedBuildInputs = with self; [setuptools];
439 src = fetchurl {
439 src = fetchurl {
440 url = "https://pypi.python.org/packages/99/b3/d7ca1fe31d2b56dba68a238721fda6820770f9c2a3de17a582d4b5b2edcc/plaster-0.5.tar.gz";
440 url = "https://pypi.python.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
441 md5 = "c59345a67a860cfcaa1bd6a81451399d";
441 md5 = "80e6beb4760c16fea31754babcc0576e";
442 };
442 };
443 meta = {
443 meta = {
444 license = [ pkgs.lib.licenses.mit ];
444 license = [ pkgs.lib.licenses.mit ];
445 };
445 };
446 };
446 };
447 plaster-pastedeploy = super.buildPythonPackage {
447 plaster-pastedeploy = super.buildPythonPackage {
448 name = "plaster-pastedeploy-0.4.1";
448 name = "plaster-pastedeploy-0.4.2";
449 buildInputs = with self; [];
449 buildInputs = with self; [];
450 doCheck = false;
450 doCheck = false;
451 propagatedBuildInputs = with self; [PasteDeploy plaster];
451 propagatedBuildInputs = with self; [PasteDeploy plaster];
452 src = fetchurl {
452 src = fetchurl {
453 url = "https://pypi.python.org/packages/9d/6e/f8be01ed41c94e6c54ac97cf2eb142a702aae0c8cce31c846f785e525b40/plaster_pastedeploy-0.4.1.tar.gz";
453 url = "https://pypi.python.org/packages/2c/62/0daf9c0be958e785023e583e51baac15863699e956bfb3d448898d80edd8/plaster_pastedeploy-0.4.2.tar.gz";
454 md5 = "f48d5344b922e56c4978eebf1cd2e0d3";
454 md5 = "58fd7852002909378e818c9d5b71e90a";
455 };
455 };
456 meta = {
456 meta = {
457 license = [ pkgs.lib.licenses.mit ];
457 license = [ pkgs.lib.licenses.mit ];
@@ -484,13 +484,13 b''
484 };
484 };
485 };
485 };
486 py = super.buildPythonPackage {
486 py = super.buildPythonPackage {
487 name = "py-1.4.34";
487 name = "py-1.5.2";
488 buildInputs = with self; [];
488 buildInputs = with self; [];
489 doCheck = false;
489 doCheck = false;
490 propagatedBuildInputs = with self; [];
490 propagatedBuildInputs = with self; [];
491 src = fetchurl {
491 src = fetchurl {
492 url = "https://pypi.python.org/packages/68/35/58572278f1c097b403879c1e9369069633d1cbad5239b9057944bb764782/py-1.4.34.tar.gz";
492 url = "https://pypi.python.org/packages/90/e3/e075127d39d35f09a500ebb4a90afd10f9ef0a1d28a6d09abeec0e444fdd/py-1.5.2.tar.gz";
493 md5 = "d9c3d8f734b0819ff48e355d77bf1730";
493 md5 = "279ca69c632069e1b71e11b14641ca28";
494 };
494 };
495 meta = {
495 meta = {
496 license = [ pkgs.lib.licenses.mit ];
496 license = [ pkgs.lib.licenses.mit ];
@@ -523,13 +523,13 b''
523 };
523 };
524 };
524 };
525 pyramid-jinja2 = super.buildPythonPackage {
525 pyramid-jinja2 = super.buildPythonPackage {
526 name = "pyramid-jinja2-2.5";
526 name = "pyramid-jinja2-2.7";
527 buildInputs = with self; [];
527 buildInputs = with self; [];
528 doCheck = false;
528 doCheck = false;
529 propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe];
529 propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe];
530 src = fetchurl {
530 src = fetchurl {
531 url = "https://pypi.python.org/packages/a1/80/595e26ffab7deba7208676b6936b7e5a721875710f982e59899013cae1ed/pyramid_jinja2-2.5.tar.gz";
531 url = "https://pypi.python.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
532 md5 = "07cb6547204ac5e6f0b22a954ccee928";
532 md5 = "c2f8b2cd7b73a6f1d9a311fcfaf4fb92";
533 };
533 };
534 meta = {
534 meta = {
535 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
535 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
@@ -549,13 +549,13 b''
549 };
549 };
550 };
550 };
551 pytest = super.buildPythonPackage {
551 pytest = super.buildPythonPackage {
552 name = "pytest-3.1.2";
552 name = "pytest-3.2.5";
553 buildInputs = with self; [];
553 buildInputs = with self; [];
554 doCheck = false;
554 doCheck = false;
555 propagatedBuildInputs = with self; [py setuptools];
555 propagatedBuildInputs = with self; [py setuptools];
556 src = fetchurl {
556 src = fetchurl {
557 url = "https://pypi.python.org/packages/72/2b/2d3155e01f45a5a04427857352ee88220ee39550b2bc078f9db3190aea46/pytest-3.1.2.tar.gz";
557 url = "https://pypi.python.org/packages/1f/f8/8cd74c16952163ce0db0bd95fdd8810cbf093c08be00e6e665ebf0dc3138/pytest-3.2.5.tar.gz";
558 md5 = "c4d179f89043cc925e1c169d03128e02";
558 md5 = "6dbe9bb093883f75394a689a1426ac6f";
559 };
559 };
560 meta = {
560 meta = {
561 license = [ pkgs.lib.licenses.mit ];
561 license = [ pkgs.lib.licenses.mit ];
@@ -588,39 +588,39 b''
588 };
588 };
589 };
589 };
590 pytest-profiling = super.buildPythonPackage {
590 pytest-profiling = super.buildPythonPackage {
591 name = "pytest-profiling-1.2.6";
591 name = "pytest-profiling-1.2.11";
592 buildInputs = with self; [];
592 buildInputs = with self; [];
593 doCheck = false;
593 doCheck = false;
594 propagatedBuildInputs = with self; [six pytest gprof2dot];
594 propagatedBuildInputs = with self; [six pytest gprof2dot];
595 src = fetchurl {
595 src = fetchurl {
596 url = "https://pypi.python.org/packages/f9/0d/df67fb9ce16c2cef201693da956321b1bccfbf9a4ead39748b9f9d1d74cb/pytest-profiling-1.2.6.tar.gz";
596 url = "https://pypi.python.org/packages/c0/4a/b4aa786e93c07a86f1f87c581a36bf355a9e06a9da7e00dbd05047626bd2/pytest-profiling-1.2.11.tar.gz";
597 md5 = "50eb4c66c3762a2f1a49669bedc0b894";
597 md5 = "9ef6b60248731be5d44477980408e8f7";
598 };
598 };
599 meta = {
599 meta = {
600 license = [ pkgs.lib.licenses.mit ];
600 license = [ pkgs.lib.licenses.mit ];
601 };
601 };
602 };
602 };
603 pytest-runner = super.buildPythonPackage {
603 pytest-runner = super.buildPythonPackage {
604 name = "pytest-runner-2.11.1";
604 name = "pytest-runner-3.0";
605 buildInputs = with self; [];
605 buildInputs = with self; [];
606 doCheck = false;
606 doCheck = false;
607 propagatedBuildInputs = with self; [];
607 propagatedBuildInputs = with self; [];
608 src = fetchurl {
608 src = fetchurl {
609 url = "https://pypi.python.org/packages/9e/4d/08889e5e27a9f5d6096b9ad257f4dea1faabb03c5ded8f665ead448f5d8a/pytest-runner-2.11.1.tar.gz";
609 url = "https://pypi.python.org/packages/65/b4/ae89338cd2d81e2cc54bd6db2e962bfe948f612303610d68ab24539ac2d1/pytest-runner-3.0.tar.gz";
610 md5 = "bdb73eb18eca2727944a2dcf963c5a81";
610 md5 = "8f8363a52bbabc4cedd5e239beb2ba11";
611 };
611 };
612 meta = {
612 meta = {
613 license = [ pkgs.lib.licenses.mit ];
613 license = [ pkgs.lib.licenses.mit ];
614 };
614 };
615 };
615 };
616 pytest-sugar = super.buildPythonPackage {
616 pytest-sugar = super.buildPythonPackage {
617 name = "pytest-sugar-0.8.0";
617 name = "pytest-sugar-0.9.0";
618 buildInputs = with self; [];
618 buildInputs = with self; [];
619 doCheck = false;
619 doCheck = false;
620 propagatedBuildInputs = with self; [pytest termcolor];
620 propagatedBuildInputs = with self; [pytest termcolor];
621 src = fetchurl {
621 src = fetchurl {
622 url = "https://pypi.python.org/packages/a5/b0/b2773dee078f17773a5bf2dfad49b0be57b6354bbd84bbefe4313e509d87/pytest-sugar-0.8.0.tar.gz";
622 url = "https://pypi.python.org/packages/49/d8/c5ff6cca3ce2ebd8b73eec89779bf6b4a7737456a70e8ea4d44c1ff90f71/pytest-sugar-0.9.0.tar.gz";
623 md5 = "8cafbdad648068e0e44b8fc5f9faae42";
623 md5 = "89fbff17277fa6a95a560a04b68cb9f9";
624 };
624 };
625 meta = {
625 meta = {
626 license = [ pkgs.lib.licenses.bsdOriginal ];
626 license = [ pkgs.lib.licenses.bsdOriginal ];
@@ -640,20 +640,20 b''
640 };
640 };
641 };
641 };
642 repoze.lru = super.buildPythonPackage {
642 repoze.lru = super.buildPythonPackage {
643 name = "repoze.lru-0.6";
643 name = "repoze.lru-0.7";
644 buildInputs = with self; [];
644 buildInputs = with self; [];
645 doCheck = false;
645 doCheck = false;
646 propagatedBuildInputs = with self; [];
646 propagatedBuildInputs = with self; [];
647 src = fetchurl {
647 src = fetchurl {
648 url = "https://pypi.python.org/packages/6e/1e/aa15cc90217e086dc8769872c8778b409812ff036bf021b15795638939e4/repoze.lru-0.6.tar.gz";
648 url = "https://pypi.python.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
649 md5 = "2c3b64b17a8e18b405f55d46173e14dd";
649 md5 = "c08cc030387e0b1fc53c5c7d964b35e2";
650 };
650 };
651 meta = {
651 meta = {
652 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
652 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
653 };
653 };
654 };
654 };
655 rhodecode-vcsserver = super.buildPythonPackage {
655 rhodecode-vcsserver = super.buildPythonPackage {
656 name = "rhodecode-vcsserver-4.10.6";
656 name = "rhodecode-vcsserver-4.11.0";
657 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj];
657 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj];
658 doCheck = true;
658 doCheck = true;
659 propagatedBuildInputs = with self; [Beaker configobj decorator dulwich hgsubversion hg-evolve infrae.cache mercurial msgpack-python pyramid pyramid-jinja2 pyramid-mako repoze.lru simplejson subprocess32 subvertpy six translationstring WebOb wheel zope.deprecation zope.interface ipdb ipython gevent greenlet gunicorn waitress pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage];
659 propagatedBuildInputs = with self; [Beaker configobj decorator dulwich hgsubversion hg-evolve infrae.cache mercurial msgpack-python pyramid pyramid-jinja2 pyramid-mako repoze.lru simplejson subprocess32 subvertpy six translationstring WebOb wheel zope.deprecation zope.interface ipdb ipython gevent greenlet gunicorn waitress pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage];
@@ -663,13 +663,13 b''
663 };
663 };
664 };
664 };
665 scandir = super.buildPythonPackage {
665 scandir = super.buildPythonPackage {
666 name = "scandir-1.5";
666 name = "scandir-1.6";
667 buildInputs = with self; [];
667 buildInputs = with self; [];
668 doCheck = false;
668 doCheck = false;
669 propagatedBuildInputs = with self; [];
669 propagatedBuildInputs = with self; [];
670 src = fetchurl {
670 src = fetchurl {
671 url = "https://pypi.python.org/packages/bd/f4/3143e0289faf0883228017dbc6387a66d0b468df646645e29e1eb89ea10e/scandir-1.5.tar.gz";
671 url = "https://pypi.python.org/packages/77/3f/916f524f50ee65e3f465a280d2851bd63685250fddb3020c212b3977664d/scandir-1.6.tar.gz";
672 md5 = "a2713043de681bba6b084be42e7a8a44";
672 md5 = "0180ddb97c96cbb2d4f25d2ae11c64ac";
673 };
673 };
674 meta = {
674 meta = {
675 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
675 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
@@ -715,13 +715,13 b''
715 };
715 };
716 };
716 };
717 six = super.buildPythonPackage {
717 six = super.buildPythonPackage {
718 name = "six-1.9.0";
718 name = "six-1.11.0";
719 buildInputs = with self; [];
719 buildInputs = with self; [];
720 doCheck = false;
720 doCheck = false;
721 propagatedBuildInputs = with self; [];
721 propagatedBuildInputs = with self; [];
722 src = fetchurl {
722 src = fetchurl {
723 url = "https://pypi.python.org/packages/16/64/1dc5e5976b17466fd7d712e59cbe9fb1e18bec153109e5ba3ed6c9102f1a/six-1.9.0.tar.gz";
723 url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
724 md5 = "476881ef4012262dfc8adc645ee786c4";
724 md5 = "d12789f9baf7e9fb2524c0c64f1773f8";
725 };
725 };
726 meta = {
726 meta = {
727 license = [ pkgs.lib.licenses.mit ];
727 license = [ pkgs.lib.licenses.mit ];
@@ -741,16 +741,16 b''
741 };
741 };
742 };
742 };
743 subvertpy = super.buildPythonPackage {
743 subvertpy = super.buildPythonPackage {
744 name = "subvertpy-0.9.3";
744 name = "subvertpy-0.10.1";
745 buildInputs = with self; [];
745 buildInputs = with self; [];
746 doCheck = false;
746 doCheck = false;
747 propagatedBuildInputs = with self; [];
747 propagatedBuildInputs = with self; [];
748 src = fetchurl {
748 src = fetchurl {
749 url = "https://code.rhodecode.com/upstream/subvertpy/archive/subvertpy-0.9.3.tar.gz?md5=4e49da2fe07608239cc9a80a7bb8f33c";
749 url = "https://pypi.python.org/packages/9d/76/99fa82affce75f5ac0f7dbe513796c3f37311ace0c68e1b063683b4f9b99/subvertpy-0.10.1.tar.gz";
750 md5 = "4e49da2fe07608239cc9a80a7bb8f33c";
750 md5 = "a70e03579902d480f5e9f8c570f6536b";
751 };
751 };
752 meta = {
752 meta = {
753 license = [ pkgs.lib.licenses.lgpl21Plus ];
753 license = [ pkgs.lib.licenses.lgpl21Plus pkgs.lib.licenses.gpl2Plus ];
754 };
754 };
755 };
755 };
756 termcolor = super.buildPythonPackage {
756 termcolor = super.buildPythonPackage {
@@ -806,13 +806,13 b''
806 };
806 };
807 };
807 };
808 waitress = super.buildPythonPackage {
808 waitress = super.buildPythonPackage {
809 name = "waitress-1.0.2";
809 name = "waitress-1.1.0";
810 buildInputs = with self; [];
810 buildInputs = with self; [];
811 doCheck = false;
811 doCheck = false;
812 propagatedBuildInputs = with self; [];
812 propagatedBuildInputs = with self; [];
813 src = fetchurl {
813 src = fetchurl {
814 url = "https://pypi.python.org/packages/cd/f4/400d00863afa1e03618e31fd7e2092479a71b8c9718b00eb1eeb603746c6/waitress-1.0.2.tar.gz";
814 url = "https://pypi.python.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz";
815 md5 = "b968f39e95d609f6194c6e50425d4bb7";
815 md5 = "0f1eb7fdfdbf2e6d18decbda1733045c";
816 };
816 };
817 meta = {
817 meta = {
818 license = [ pkgs.lib.licenses.zpt21 ];
818 license = [ pkgs.lib.licenses.zpt21 ];
@@ -3,24 +3,23 b' setuptools==30.1.0'
3
3
4 Beaker==1.9.0
4 Beaker==1.9.0
5 configobj==5.0.6
5 configobj==5.0.6
6 decorator==4.0.11
6 decorator==4.1.2
7 dulwich==0.13.0
7 dulwich==0.13.0
8 hgsubversion==1.8.7
8 hgsubversion==1.9.0
9 hg-evolve==6.6.0
9 hg-evolve==7.0.1
10 infrae.cache==1.0.1
10 infrae.cache==1.0.1
11 mercurial==4.2.3
11 mercurial==4.4.2
12 msgpack-python==0.4.8
12 msgpack-python==0.4.8
13 pyramid-jinja2==2.5
13 pyramid-jinja2==2.7
14 pyramid==1.9.1
14 pyramid==1.9.1
15 pyramid-mako==1.0.2
15 pyramid-mako==1.0.2
16 repoze.lru==0.6
16 repoze.lru==0.7
17 simplejson==3.11.1
17 simplejson==3.11.1
18 subprocess32==3.2.7
18 subprocess32==3.2.7
19
19
20 # Custom subvertpy that is not available on pypi.
20 subvertpy==0.10.1
21 https://code.rhodecode.com/upstream/subvertpy/archive/subvertpy-0.9.3.tar.gz?md5=4e49da2fe07608239cc9a80a7bb8f33c#egg=subvertpy==0.9.3
22
21
23 six==1.9.0
22 six==1.11.0
24 translationstring==1.3
23 translationstring==1.3
25 WebOb==1.7.4
24 WebOb==1.7.4
26 wheel==0.29.0
25 wheel==0.29.0
@@ -31,7 +30,7 b' zope.interface==4.1.3'
31 gevent==1.2.2
30 gevent==1.2.2
32 greenlet==0.4.12
31 greenlet==0.4.12
33 gunicorn==19.7.1
32 gunicorn==19.7.1
34 waitress==1.0.2
33 waitress==1.1.0
35
34
36 ## debug
35 ## debug
37 ipdb==0.10.3
36 ipdb==0.10.3
@@ -1,15 +1,15 b''
1 # test related requirements
1 # test related requirements
2 pytest==3.1.2
2 pytest==3.2.5
3 py==1.4.34
3 py==1.5.2
4 pytest-cov==2.5.1
4 pytest-cov==2.5.1
5 pytest-sugar==0.8.0
5 pytest-sugar==0.9.0
6 pytest-runner==2.11.1
6 pytest-runner==3.0.0
7 pytest-catchlog==1.2.2
7 pytest-catchlog==1.2.2
8 pytest-profiling==1.2.6
8 pytest-profiling==1.2.11
9 gprof2dot==2016.10.13
9 gprof2dot==2017.9.19
10 pytest-timeout==1.2.0
10 pytest-timeout==1.2.0
11
11
12 mock==1.0.1
12 mock==1.0.1
13 WebTest==2.0.27
13 WebTest==2.0.29
14 cov-core==1.15.0
14 cov-core==1.15.0
15 coverage==3.7.1
15 coverage==3.7.1
@@ -1,1 +1,1 b''
1 4.10.6 No newline at end of file
1 4.11.0 No newline at end of file
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 b' import os'
20 import posixpath as vcspath
20 import posixpath as vcspath
21 import re
21 import re
22 import stat
22 import stat
23 import traceback
23 import urllib
24 import urllib
24 import urllib2
25 import urllib2
25 from functools import wraps
26 from functools import wraps
@@ -124,11 +125,15 b' class GitRemote(object):'
124
125
125 @reraise_safe_exceptions
126 @reraise_safe_exceptions
126 def assert_correct_path(self, wire):
127 def assert_correct_path(self, wire):
128 path = wire.get('path')
127 try:
129 try:
128 self._factory.repo(wire)
130 self._factory.repo(wire)
129 except NotGitRepository as e:
131 except NotGitRepository as e:
130 # Exception can contain unicode which we convert
132 tb = traceback.format_exc()
131 raise exceptions.AbortException(repr(e))
133 log.debug("Invalid Git path `%s`, tb: %s", path, tb)
134 return False
135
136 return True
132
137
133 @reraise_safe_exceptions
138 @reraise_safe_exceptions
134 def bare(self, wire):
139 def bare(self, wire):
@@ -442,6 +447,14 b' class GitRemote(object):'
442 return remote_refs
447 return remote_refs
443
448
444 @reraise_safe_exceptions
449 @reraise_safe_exceptions
450 def sync_push(self, wire, url, refs=None):
451 if self.check_url(url, wire):
452 repo = self._factory.repo(wire)
453 self.run_git_command(
454 wire, ['push', url, '--mirror'], fail_on_stderr=False)
455
456
457 @reraise_safe_exceptions
445 def get_remote_refs(self, wire, url):
458 def get_remote_refs(self, wire, url):
446 repo = Repo(url)
459 repo = Repo(url)
447 return repo.get_refs()
460 return repo.get_refs()
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -53,6 +53,7 b' def make_ui_from_config(repo_config):'
53 # make our hgweb quiet so it doesn't print output
53 # make our hgweb quiet so it doesn't print output
54 baseui.setconfig('ui', 'quiet', 'true')
54 baseui.setconfig('ui', 'quiet', 'true')
55
55
56 baseui.setconfig('ui', 'paginate', 'never')
56 # force mercurial to only use 1 thread, otherwise it may try to set a
57 # force mercurial to only use 1 thread, otherwise it may try to set a
57 # signal in a non-main thread, thus generating a ValueError.
58 # signal in a non-main thread, thus generating a ValueError.
58 baseui.setconfig('worker', 'numcpus', 1)
59 baseui.setconfig('worker', 'numcpus', 1)
@@ -453,10 +454,9 b' class HgRemote(object):'
453 fctx = ctx.filectx(path)
454 fctx = ctx.filectx(path)
454
455
455 result = []
456 result = []
456 for i, annotate_data in enumerate(fctx.annotate()):
457 for i, (a_line, content) in enumerate(fctx.annotate()):
457 ln_no = i + 1
458 ln_no = i + 1
458 node_info, content = annotate_data
459 sha = hex(a_line.fctx.node())
459 sha = hex(node_info[0].node())
460 result.append((ln_no, sha, content))
460 result.append((ln_no, sha, content))
461 return result
461 return result
462
462
@@ -561,6 +561,15 b' class HgRemote(object):'
561 repo, remote, heads=commit_ids, force=None).cgresult
561 repo, remote, heads=commit_ids, force=None).cgresult
562
562
563 @reraise_safe_exceptions
563 @reraise_safe_exceptions
564 def sync_push(self, wire, url):
565 if self.check_url(url, wire['config']):
566 repo = self._factory.repo(wire)
567 bookmarks = dict(repo._bookmarks).keys()
568 remote = peer(repo, {}, url)
569 return exchange.push(
570 repo, remote, newbranch=True, bookmarks=bookmarks).cgresult
571
572 @reraise_safe_exceptions
564 def revision(self, wire, rev):
573 def revision(self, wire, rev):
565 repo = self._factory.repo(wire)
574 repo = self._factory.repo(wire)
566 ctx = repo[rev]
575 ctx = repo[rev]
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -20,10 +20,10 b' Mercurial libs compatibility'
20 """
20 """
21
21
22 import mercurial
22 import mercurial
23 import mercurial.demandimport
23 from mercurial import demandimport
24 # patch demandimport, due to bug in mercurial when it always triggers
24 # patch demandimport, due to bug in mercurial when it always triggers
25 # demandimport.enable()
25 # demandimport.enable()
26 mercurial.demandimport.enable = lambda *args, **kwargs: 1
26 demandimport.enable = lambda *args, **kwargs: 1
27
27
28 from mercurial import ui
28 from mercurial import ui
29 from mercurial import patch
29 from mercurial import patch
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,7 +1,7 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # RhodeCode VCSServer provides access to different vcs backends via network.
3 # RhodeCode VCSServer provides access to different vcs backends via network.
4 # Copyright (C) 2014-2017 RodeCode GmbH
4 # Copyright (C) 2014-2018 RhodeCode GmbH
5 #
5 #
6 # This program is free software; you can redistribute it and/or modify
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
7 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -331,6 +331,8 b' class HTTPApplication(object):'
331 username = dict_conf.get('username')
331 username = dict_conf.get('username')
332 if username:
332 if username:
333 environ['REMOTE_USER'] = username
333 environ['REMOTE_USER'] = username
334 # mercurial specific, some extension api rely on this
335 environ['HGUSER'] = username
334
336
335 ip = dict_conf.get('ip')
337 ip = dict_conf.get('ip')
336 if ip:
338 if ip:
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 b' class StreamFeeder(Thread):'
45 self.bytes = bytes(source)
45 self.bytes = bytes(source)
46 else: # can be either file pointer or file-like
46 else: # can be either file pointer or file-like
47 if type(source) in (int, long): # file pointer it is
47 if type(source) in (int, long): # file pointer it is
48 ## converting file descriptor (int) stdin into file-like
48 # converting file descriptor (int) stdin into file-like
49 try:
49 try:
50 source = os.fdopen(source, 'rb', 16384)
50 source = os.fdopen(source, 'rb', 16384)
51 except Exception:
51 except Exception:
@@ -118,7 +118,7 b' class InputStreamChunker(Thread):'
118 t = self.target
118 t = self.target
119 cs = self.chunk_size
119 cs = self.chunk_size
120 ccm = self.chunk_count_max
120 ccm = self.chunk_count_max
121 kr = self.keep_reading
121 keep_reading = self.keep_reading
122 da = self.data_added
122 da = self.data_added
123 go = self.go
123 go = self.go
124
124
@@ -129,15 +129,13 b' class InputStreamChunker(Thread):'
129
129
130 while b and go.is_set():
130 while b and go.is_set():
131 if len(t) > ccm:
131 if len(t) > ccm:
132 kr.clear()
132 keep_reading.clear()
133 kr.wait(2)
133 keep_reading.wait(2)
134 # # this only works on 2.7.x and up
134
135 # if not kr.wait(10):
135 if not keep_reading.wait(10):
136 # raise Exception("Timed out while waiting for input to be read.")
136 raise Exception(
137 # instead we'll use this
137 "Timed out while waiting for input to be read.")
138 if len(t) > ccm + 3:
138
139 raise IOError(
140 "Timed out while waiting for input from subprocess.")
141 t.append(b)
139 t.append(b)
142 da.set()
140 da.set()
143 b = s.read(cs)
141 b = s.read(cs)
@@ -159,7 +157,8 b' class BufferedGenerator(object):'
159 """
157 """
160
158
161 def __init__(self, source, buffer_size=65536, chunk_size=4096,
159 def __init__(self, source, buffer_size=65536, chunk_size=4096,
162 starting_values=[], bottomless=False):
160 starting_values=None, bottomless=False):
161 starting_values = starting_values or []
163
162
164 if bottomless:
163 if bottomless:
165 maxlen = int(buffer_size / chunk_size)
164 maxlen = int(buffer_size / chunk_size)
@@ -190,9 +189,9 b' class BufferedGenerator(object):'
190 elif self.worker.EOF.is_set():
189 elif self.worker.EOF.is_set():
191 raise StopIteration
190 raise StopIteration
192
191
193 def throw(self, type, value=None, traceback=None):
192 def throw(self, exc_type, value=None, traceback=None):
194 if not self.worker.EOF.is_set():
193 if not self.worker.EOF.is_set():
195 raise type(value)
194 raise exc_type(value)
196
195
197 def start(self):
196 def start(self):
198 self.worker.start()
197 self.worker.start()
@@ -354,7 +353,7 b' class SubprocessIOChunker(object):'
354 _closed = False
353 _closed = False
355
354
356 def __init__(self, cmd, inputstream=None, buffer_size=65536,
355 def __init__(self, cmd, inputstream=None, buffer_size=65536,
357 chunk_size=4096, starting_values=[], fail_on_stderr=True,
356 chunk_size=4096, starting_values=None, fail_on_stderr=True,
358 fail_on_return_code=True, **kwargs):
357 fail_on_return_code=True, **kwargs):
359 """
358 """
360 Initializes SubprocessIOChunker
359 Initializes SubprocessIOChunker
@@ -370,6 +369,7 b' class SubprocessIOChunker(object):'
370 exception if the return code is not 0.
369 exception if the return code is not 0.
371 """
370 """
372
371
372 starting_values = starting_values or []
373 if inputstream:
373 if inputstream:
374 input_streamer = StreamFeeder(inputstream)
374 input_streamer = StreamFeeder(inputstream)
375 input_streamer.start()
375 input_streamer.start()
@@ -417,6 +417,10 b' class SubprocessIOChunker(object):'
417 "Subprocess exited due to an error:\n" + err)
417 "Subprocess exited due to an error:\n" + err)
418 if _returncode and fail_on_return_code:
418 if _returncode and fail_on_return_code:
419 err = ''.join(bg_err)
419 err = ''.join(bg_err)
420 if not err:
421 # maybe get empty stderr, try stdout instead
422 # in many cases git reports the errors on stdout too
423 err = ''.join(bg_out)
420 raise EnvironmentError(
424 raise EnvironmentError(
421 "Subprocess exited with non 0 ret code:%s: stderr:%s" % (
425 "Subprocess exited with non 0 ret code:%s: stderr:%s" % (
422 _returncode, err))
426 _returncode, err))
@@ -434,6 +438,7 b' class SubprocessIOChunker(object):'
434 # are doing some magic in between closing stdout and terminating the
438 # are doing some magic in between closing stdout and terminating the
435 # process and, as a result, we are not getting return code on "slow"
439 # process and, as a result, we are not getting return code on "slow"
436 # systems.
440 # systems.
441 result = None
437 stop_iteration = None
442 stop_iteration = None
438 try:
443 try:
439 result = self.output.next()
444 result = self.output.next()
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -83,6 +83,11 b' def test_dynamic_capabilities_uses_large'
83 assert LARGEFILES_CAPABILITY in caps
83 assert LARGEFILES_CAPABILITY in caps
84
84
85
85
86 def test_hgsubversion_import():
87 from hgsubversion import svnrepo
88 assert svnrepo
89
90
86 @pytest.fixture
91 @pytest.fixture
87 def patched_capabilities(request):
92 def patched_capabilities(request):
88 """
93 """
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
@@ -1,5 +1,5 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2017 RodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
General Comments 0
You need to be logged in to leave comments. Login now