<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/41e70d120a5eb5f549e66c8df9731f837682e7b0" style="text-decoration: none; font-weight: bold; color: #573;">api: set authuser in the thread global request instace - and temporarily verify that it matches what is passed explicitly to auth methods  This makes it more...</a></h1>
<div id="body">
kiilerix committed on 2016-09-12 15:41:19<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/41e70d120a5eb5f549e66c8df9731f837682e7b0">41e70d12</a><pre>api: set authuser in the thread global request instace - and temporarily verify that it matches what is passed explicitly to auth methods<br /><br />This makes it more like what middleware / controllers do for "normal" HTTP requests.

 M kallithea/controllers/api/__init__.py (2 lines added, 1 lines removed)
 M kallithea/lib/auth.py (12 lines added, 14 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/c96e05599877d109f671ec338ac121b413d54d8b" style="text-decoration: none; font-weight: bold; color: #573;">api: stop explicitly passing apiuser to auth methods - use the global user instead</a></h1>
<div id="body">
kiilerix committed on 2016-09-12 15:41:19<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/c96e05599877d109f671ec338ac121b413d54d8b">c96e0559</a><pre>api: stop explicitly passing apiuser to auth methods - use the global user instead

 M kallithea/controllers/api/api.py (50 lines added, 57 lines removed)
 M kallithea/lib/auth.py (8 lines added, 15 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/2990b0587e3f445c8dfe86f86045b37d6eb333e0" style="text-decoration: none; font-weight: bold; color: #573;">api: stop passing apiuser as parameter to handler functions - if they really need it, use self.authuser</a></h1>
<div id="body">
kiilerix committed on 2016-09-12 15:41:20<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/2990b0587e3f445c8dfe86f86045b37d6eb333e0">2990b058</a><pre>api: stop passing apiuser as parameter to handler functions - if they really need it, use self.authuser

 M kallithea/controllers/api/__init__.py (1 lines added, 9 lines removed)
 M kallithea/controllers/api/api.py (64 lines added, 150 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/8be0633ff85269cb500624f0ee3c5d514529de64" style="text-decoration: none; font-weight: bold; color: #573;">api: fail when given unknown arguments  This make the API more type safe and can help developers fix issues early.</a></h1>
<div id="body">
kiilerix committed on 2016-09-12 15:41:20<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/8be0633ff85269cb500624f0ee3c5d514529de64">8be0633f</a><pre>api: fail when given unknown arguments<br /><br />This make the API more type safe and can help developers fix issues early.

 M kallithea/controllers/api/__init__.py (8 lines added, 0 lines removed)
 M kallithea/tests/api/api_base.py (4 lines added, 11 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/591effa1fc4dbef696b0a08f8aba6e2e74e0cea8" style="text-decoration: none; font-weight: bold; color: #573;">api: drop the old Api auth methods and use the normal methods for access control</a></h1>
<div id="body">
kiilerix committed on 2016-09-12 15:41:20<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/591effa1fc4dbef696b0a08f8aba6e2e74e0cea8">591effa1</a><pre>api: drop the old Api auth methods and use the normal methods for access control

 M kallithea/controllers/api/api.py (46 lines added, 46 lines removed)
 M kallithea/lib/auth.py (0 lines added, 78 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/f973b866fffc1cacbaa840641b1f7d8491a19bb5" style="text-decoration: none; font-weight: bold; color: #573;">Turbogears2 migration: use sqlalchemy.url iso sqlalchemy.db1.url  In Turbogears2, much of the application initialization is handled by the framework, whereas...</a></h1>
<div id="body">
patrickdp committed on 2016-08-22 15:50:51<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/f973b866fffc1cacbaa840641b1f7d8491a19bb5">f973b866</a><pre>Turbogears2 migration: use sqlalchemy.url iso sqlalchemy.db1.url<br /><br />In Turbogears2, much of the application initialization is handled by the<br />framework, whereas in Pylons the application was responsible for it.<br />Initializing SQLAlchemy is one such part of initialization which is handled<br />by Turbogears2.<br /><br />Turbogears2 expects the configuration file to refer to the database using<br />'sqlalchemy.url' rather than the current 'sqlalchemy.db1.url'. While the<br />exact name is not really important, not following this approach means we'll<br />need to override the sqlalchemy initialization method.<br /><br />Therefore, as a preparation to the Turbogears2 migration, already change the<br />database reference string under Pylons.<br />When upgrading to a version of Kallithea containing this commit, the .ini<br />file will manually need to be adapted to remove the .db1 strings.

 M development.ini (5 lines added, 5 lines removed)
 M docs/upgrade.rst (1 lines added, 1 lines removed)
 M kallithea/alembic/env.py (1 lines added, 1 lines removed)
 M kallithea/bin/template.ini.mako (5 lines added, 5 lines removed)
 M kallithea/config/deployment.ini_tmpl (5 lines added, 5 lines removed)
 M kallithea/config/environment.py (3 lines added, 3 lines removed)
 M kallithea/lib/celerylib/__init__.py (1 lines added, 1 lines removed)
 M kallithea/lib/hooks.py (1 lines added, 1 lines removed)
 M kallithea/lib/paster_commands/common.py (1 lines added, 1 lines removed)
 M kallithea/lib/utils.py (1 lines added, 1 lines removed)
 M kallithea/tests/scripts/manual_test_concurrency.py (1 lines added, 1 lines removed)
 M kallithea/tests/test.ini (6 lines added, 6 lines removed)
 M kallithea/websetup.py (1 lines added, 1 lines removed)
 M scripts/dbmigrate-test (1 lines added, 1 lines removed)
 M scripts/generate-ini.py (1 lines added, 1 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/5eec79420ce3706e28f670addb7caa66ed004b2a" style="text-decoration: none; font-weight: bold; color: #573;">Turbogears2 migration: remove some references to Pylons in comments  In order to minimize the diff of the actual Turbogears2 migration, this commit already r...</a></h1>
<div id="body">
patrickdp committed on 2016-09-13 16:01:19<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/5eec79420ce3706e28f670addb7caa66ed004b2a">5eec7942</a><pre>Turbogears2 migration: remove some references to Pylons in comments<br /><br />In order to minimize the diff of the actual Turbogears2 migration, this<br />commit already removes certain unnecessary references to Pylons from the<br />Kallithea source base.<br />Places where the reference to Pylons is important are still kept for now, as<br />well as references in kallithea/config where many changes are made for<br />Turbogears2 anyway.

 M kallithea/__init__.py (3 lines added, 3 lines removed)
 M kallithea/controllers/admin/user_groups.py (1 lines added, 1 lines removed)
 M kallithea/controllers/admin/users.py (1 lines added, 1 lines removed)
 M kallithea/controllers/changeset.py (1 lines added, 2 lines removed)
 M kallithea/controllers/compare.py (1 lines added, 1 lines removed)
 M kallithea/controllers/journal.py (1 lines added, 1 lines removed)
 M kallithea/lib/auth.py (2 lines added, 2 lines removed)
 M kallithea/lib/hooks.py (2 lines added, 2 lines removed)
 M kallithea/lib/paster_commands/common.py (1 lines added, 1 lines removed)
 M kallithea/lib/utils.py (1 lines added, 1 lines removed)
 M kallithea/tests/__init__.py (1 lines added, 6 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/49c82acd30b27b56f1eabd937eec73fecaf35993" style="text-decoration: none; font-weight: bold; color: #573;">scripts: fix X mode on code formatting scripts</a></h1>
<div id="body">
kiilerix committed on 2016-09-19 20:39:26<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/49c82acd30b27b56f1eabd937eec73fecaf35993">49c82acd</a><pre>scripts: fix X mode on code formatting scripts

 M docs/usage/performance.rst (1 lines added, 1 lines removed)
 M scripts/dbmigrate-test (0 lines added, 0 lines removed)
 M scripts/generate-ini.py (0 lines added, 0 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/8d98924c58b14869ddcd212d7784d6b1eb8e0a59" style="text-decoration: none; font-weight: bold; color: #573;">tests: add as little code as possible in __init__.py  kallithea/tests/__init__.py contained quite a lot of code, including the test base class TestController...</a></h1>
<div id="body">
patrickdp committed on 2016-09-18 19:44:21<br />branch: default<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/8d98924c58b14869ddcd212d7784d6b1eb8e0a59">8d98924c</a><pre>tests: add as little code as possible in __init__.py<br /><br />kallithea/tests/__init__.py contained quite a lot of code, including the test<br />base class TestController. This in itself may be considered bad practice.<br /><br />Specifically, this poses a problem when using pytest 3.0+, in which asserts<br />in some files are not automatically rewritten to give improved assert<br />output. That problem can be fixed by explicitly registering such files for<br />assertion rewriting, but that register call should be executed _before_ said<br />files are imported. I.e. if the register call is in<br />kallithea/tests/__init__.py, assert calls in __init__.py itself can not be<br />rewritten.<br /><br />Since the TestController base class does effectively contain asserts, and we<br />do not want to execute the register call from somewhere outside the<br />kallithea/tests directory, we need to move the TestController class to<br />another file (kallithea/tests/base.py) so we can have a register call in<br />__init__.py before loading base.py.<br /><br />While not strictly necessary to fix the mentioned pytest problem, we take<br />the opportunity to fully clean __init__.py and move everything to<br />the new kallithea/tests/base.py. While doing so, unnecessary imports are<br />removed, and imports are ordered alphabetically. Explicit imports of symbols<br />from modules that were already imported as a whole, are removed in favor of<br />fully qualifying the references (e.g. tempfile._RandomNameSequence).

 M kallithea/config/environment.py (1 lines added, 1 lines removed)
 M kallithea/lib/db_manage.py (1 lines added, 1 lines removed)
 M kallithea/lib/utils.py (1 lines added, 1 lines removed)
 M kallithea/tests/__init__.py (0 lines added, 211 lines removed)
 M kallithea/tests/api/api_base.py (1 lines added, 1 lines removed)
 M kallithea/tests/api/test_api_git.py (1 lines added, 1 lines removed)
 M kallithea/tests/api/test_api_hg.py (1 lines added, 1 lines removed)
 M kallithea/tests/base.py (6 lines added, 17 lines removed)
 M kallithea/tests/conftest.py (1 lines added, 1 lines removed)
 M kallithea/tests/fixture.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_auth_settings.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_defaults.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_gists.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_notifications.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_permissions.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_repo_groups.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_repos.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_settings.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_user_groups.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_admin_users.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_changelog.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_changeset.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_changeset_comments.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_compare.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_compare_local.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_feed.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_files.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_followers.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_forks.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_home.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_journal.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_login.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_my_account.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_pullrequests.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_repo_groups.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_search.py (1 lines added, 1 lines removed)
 M kallithea/tests/functional/test_summary.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/common.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_changeset_status.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_diff_parsers.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_notifications.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_permissions.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_repo_groups.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_repos.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_user_groups.py (1 lines added, 1 lines removed)
 M kallithea/tests/models/test_users.py (1 lines added, 1 lines removed)
 M kallithea/tests/other/manual_test_vcs_operations.py (1 lines added, 1 lines removed)
 M kallithea/tests/other/test_libs.py (1 lines added, 1 lines removed)
 M kallithea/tests/other/test_mail.py (1 lines added, 1 lines removed)
 M kallithea/tests/other/test_validators.py (1 lines added, 1 lines removed)
 M kallithea/tests/scripts/manual_test_concurrency.py (1 lines added, 1 lines removed)
 M kallithea/tests/vcs/__init__.py (1 lines added, 1 lines removed)
 M kallithea/tests/vcs/conf.py (1 lines added, 1 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>

<!DOCTYPE html>
<html>
  <head>
</head>
<body style='font: 12pt Roboto, "DejaVu Sans", Arial; margin-left: 5px; margin-right: 5px;'>
<div id="entry">
<h1 style='font: 12pt Roboto, "DejaVu Sans", Arial; display:block; background: #c0cf88; border-bottom: solid 3px #573; padding: 5px; margin-top: 0px; color: #573;'><a href="https://kallithea-scm.org/repos/kallithea/changeset/790aeeddcab598d2aacbbecf86830b608ca8b32b" style="text-decoration: none; font-weight: bold; color: #573;">tests: fix assertion rewriting in some tests with pytest-3.0.0+  Since pytest 3.0.0, asserts present in modules that are not directly seen by pytest as 'test...</a></h1>
<div id="body">
patrickdp committed on 2016-09-09 13:34:08<br />branch: default<br />tag: tip<br />changeset: <a href="https://kallithea-scm.org/repos/kallithea/changeset/790aeeddcab598d2aacbbecf86830b608ca8b32b">790aeedd</a><pre>tests: fix assertion rewriting in some tests with pytest-3.0.0+<br /><br />Since pytest 3.0.0, asserts present in modules that are not directly seen by<br />pytest as 'test modules', are no longer rewritten to have improved<br />reporting, unless they are explicitly marked as up-for-rewriting.<br />Rationale from pytest upstream:<br /><br />    However since we do not want to test different bytecode then you will<br />    run in production this hook only re-writes test modules themselves as<br />    well as any modules which are part of plugins. Any other imported module<br />    will not be re-written and normal assertion behaviour will happen.<br /><br />This is e.g. the case for asserts in files like<br />kallithea/tests/api/api_base.py and kallithea/tests/models/common.py.<br /><br />See<br /><a href="http://doc.pytest.org/en/latest/changelog.html#id13">http://doc.pytest.org/en/latest/changelog.html#id13</a><br /><a href="http://doc.pytest.org/en/latest/writing_plugins.html#assertion-rewriting">http://doc.pytest.org/en/latest/writing_plugins.html#assertion-rewriting</a><br /><br />This commit registers all modules below kallithea.tests for assert<br />rewriting, but note that asserts in kallithea/tests/__init__.py itself are<br />not rewritten as kallithea.tests is already imported when the register<br />statement is encountered.<br />Moving the register statement to kallithea/__init__.py would fix that, but<br />even then asserts in kallithea/tests/__init__.py seem not to be rewritten<br />(let alone the issue that we do not want a pytest dependency enforced in<br />kallithea/__init__.py which is also used in production).<br />Moving the code from kallithea/tests/__init__.py to a proper module, as<br />suggested by Mads Kiilerich, solves that problem.

 M kallithea/tests/__init__.py (4 lines added, 0 lines removed)</pre>
</div>
</div>
</div>
</body>
</html>