[ARVADOS] updated: 1cadb15617013ad5882ffaadc434536187618f06

git at public.curoverse.com git at public.curoverse.com
Fri Oct 3 13:00:58 EDT 2014


Summary of changes:
 apps/workbench/Gemfile                             |   3 +-
 apps/workbench/Gemfile.lock                        |   8 +-
 .../app/assets/javascripts/application.js          |  30 ++
 apps/workbench/app/assets/javascripts/dates.js     |  25 ++
 .../workbench/app/assets/javascripts/log_viewer.js |   2 +-
 .../app/assets/javascripts/pipeline_instances.js   |   2 +-
 .../javascripts/{selection.js => selection.js.erb} |  12 +-
 apps/workbench/app/assets/javascripts/tab_panes.js | 138 ++++----
 .../app/assets/stylesheets/application.css.scss    |  13 +
 .../assets/stylesheets/pipeline_instances.css.scss |  10 +
 .../app/assets/stylesheets/projects.css.scss       |  55 ++++
 .../app/controllers/application_controller.rb      |  53 +++-
 .../app/controllers/collections_controller.rb      |  38 ++-
 apps/workbench/app/controllers/jobs_controller.rb  |   6 +-
 .../controllers/pipeline_instances_controller.rb   |  39 ++-
 .../app/controllers/projects_controller.rb         |  94 +++++-
 apps/workbench/app/controllers/users_controller.rb |  22 +-
 apps/workbench/app/helpers/application_helper.rb   |   6 +-
 apps/workbench/app/helpers/jobs_helper.rb          |   1 +
 .../app/helpers/pipeline_components_helper.rb      |   4 +-
 .../app/helpers/pipeline_instances_helper.rb       | 165 +++++++++-
 apps/workbench/app/models/arvados_base.rb          |  10 +-
 apps/workbench/app/models/collection.rb            |   6 +-
 apps/workbench/app/models/group.rb                 |   4 +
 apps/workbench/app/models/job.rb                   |  18 +-
 apps/workbench/app/models/node.rb                  |   2 +-
 apps/workbench/app/models/pipeline_instance.rb     |  14 +-
 apps/workbench/app/models/pipeline_template.rb     |   4 +
 apps/workbench/app/models/user.rb                  |   2 +-
 apps/workbench/app/models/virtual_machine.rb       |   2 +-
 .../views/application/_arvados_attr_value.html.erb |   2 +-
 .../app/views/application/_content.html.erb        |  71 +++--
 .../app/views/application/_content_layout.html.erb |  12 +-
 .../views/application/_job_status_label.html.erb   |  23 +-
 .../app/views/application/_loading_modal.html.erb  |  12 +
 .../application/_name_and_description.html.erb     |  12 +
 .../application/_pipeline_status_label.html.erb    |   2 +
 .../app/views/application/_show_advanced.html.erb  |  12 +-
 .../views/application/_title_and_buttons.html.erb  |  51 +++
 .../workbench/app/views/application/destroy.js.erb |   1 +
 apps/workbench/app/views/application/show.html.erb |  29 +-
 .../collections/_show_source_summary.html.erb      |   5 +-
 apps/workbench/app/views/collections/show.html.erb |  21 +-
 apps/workbench/app/views/jobs/_show_log.html.erb   |  48 ++-
 .../workbench/app/views/jobs/_show_recent.html.erb |   2 +-
 .../workbench/app/views/jobs/_show_status.html.erb | 110 ++-----
 apps/workbench/app/views/jobs/show.html.erb        |  32 ++
 .../pipeline_instances/_running_component.html.erb | 174 ++++++++++
 .../pipeline_instances/_show_components.html.erb   |  10 +-
 .../_show_components_json.html.erb                 |  14 +
 .../_show_components_running.html.erb              | 139 ++++----
 .../{show.html.erb => _show_tab_buttons.html.erb}  |  35 +--
 .../app/views/pipeline_instances/show.html.erb     | 107 ++++---
 .../views/pipeline_templates/_show_recent.html.erb |   3 +-
 .../app/views/pipeline_templates/show.html.erb     |   3 +-
 .../views/projects/_compute_node_status.html.erb   |  61 ++++
 .../views/projects/_compute_node_summary.html.erb  |  19 ++
 .../app/views/projects/_show_dashboard.html.erb    | 202 ++++++++++++
 apps/workbench/app/views/projects/index.html.erb   |  85 +----
 .../app/views/projects/remove_items.js.erb         |   7 +-
 apps/workbench/app/views/projects/show.html.erb    |  28 +-
 .../workbench/app/views/projects/tab_counts.js.erb |   3 +
 .../app/views/users/_manage_repositories.html.erb  |   5 +-
 apps/workbench/app/views/users/_tables.html.erb    |   2 +-
 apps/workbench/config/application.default.yml      |  43 ++-
 apps/workbench/config/application.yml.example      |   4 +-
 apps/workbench/config/database.yml                 |   7 +
 apps/workbench/config/routes.rb                    |   1 +
 .../pipeline_instances_controller_test.rb          |  40 +++
 apps/workbench/test/diagnostics/pipeline_test.rb   |  93 ++++++
 apps/workbench/test/diagnostics_test_helper.rb     |  29 ++
 .../test/functional/actions_controller_test.rb     |  12 +-
 .../test/functional/collections_controller_test.rb |  41 +--
 .../pipeline_instances_controller_test.rb          | 110 ++++++-
 .../test/functional/users_controller_test.rb       |  11 +
 .../test/integration/application_layout_test.rb    |   3 +-
 .../workbench/test/integration/collections_test.rb |  19 +-
 apps/workbench/test/integration/jobs_test.rb       |  84 +++++
 apps/workbench/test/integration/logins_test.rb     |   2 +-
 .../test/integration/pipeline_instances_test.rb    |  81 ++++-
 .../test/integration/pipeline_templates_test.rb    |  30 ++
 apps/workbench/test/integration/projects_test.rb   | 103 +++---
 .../test/integration/user_profile_test.rb          |   5 +-
 apps/workbench/test/integration_helper.rb          |   6 +-
 apps/workbench/test/test_helper.rb                 |  30 +-
 doc/_includes/_example_sdk_go.liquid               | 109 +++++++
 doc/_includes/_example_sdk_go_imports.liquid       |   4 +
 doc/api/methods/nodes.html.textile.liquid          |   2 +
 doc/api/schema/Job.html.textile.liquid             |   1 +
 doc/api/schema/Node.html.textile.liquid            |   1 +
 doc/sdk/go/index.html.textile.liquid               |  52 +--
 ...nning-pipeline-command-line.html.textile.liquid |  12 +-
 docker/api/Dockerfile                              |   3 +-
 docker/api/application.yml.in                      |   2 +
 docker/base/Dockerfile                             |   2 +-
 docker/build_tools/build.rb                        |   1 +
 docker/config.yml.example                          |   5 +
 docker/java-bwa-samtools/Dockerfile                |   5 +-
 docker/jobs/Dockerfile                             |   5 +-
 docker/passenger/Dockerfile                        |   6 +-
 sdk/cli/Gemfile.lock                               |  32 +-
 sdk/cli/README.textile                             |  11 -
 sdk/cli/arvados-cli.gemspec                        |  17 +-
 sdk/cli/bin/arv-run-pipeline-instance              | 166 ++++++----
 sdk/cli/bin/crunch-job                             |  67 ++--
 sdk/go/arvadosclient/arvadosclient_test.go         |   8 +-
 sdk/go/keepclient/keepclient_test.go               |   4 +-
 sdk/python/arvados/collection.py                   | 152 +++++----
 sdk/python/arvados/commands/_util.py               |  12 +
 sdk/python/arvados/commands/keepdocker.py          |  55 ++--
 sdk/python/arvados/commands/put.py                 |  45 +--
 sdk/python/arvados/keep.py                         | 170 +++++-----
 sdk/python/arvados/retry.py                        |  18 ++
 sdk/python/arvados/stream.py                       |  68 ++--
 sdk/python/arvados/util.py                         |   4 +-
 sdk/python/bin/arv-get                             |  50 ++-
 sdk/python/bin/arv-ls                              |  21 +-
 sdk/python/setup.py                                |  24 +-
 sdk/python/tests/arvados_testutil.py               |  11 +
 sdk/python/tests/run_test_server.py                |   8 +-
 sdk/python/tests/test_arv_put.py                   |   8 +-
 sdk/python/tests/test_collections.py               | 143 ++++++++-
 sdk/python/tests/test_keep_client.py               | 107 +++++--
 sdk/python/tests/test_retry.py                     |  27 ++
 sdk/python/tests/test_stream.py                    | 117 +++++++
 sdk/ruby/arvados.gemspec                           |  21 +-
 services/api/Gemfile                               |   4 +-
 services/api/Gemfile.lock                          |   8 +-
 .../api/app/controllers/application_controller.rb  |   1 +
 .../app/controllers/arvados/v1/jobs_controller.rb  |  27 +-
 .../app/controllers/arvados/v1/nodes_controller.rb |  18 ++
 .../controllers/arvados/v1/schema_controller.rb    |   1 +
 services/api/app/controllers/static_controller.rb  |  17 +-
 services/api/app/mailers/admin_notifier.rb         |  12 -
 services/api/app/mailers/user_notifier.rb          |   3 +
 services/api/app/models/arvados_model.rb           |  13 +-
 services/api/app/models/collection.rb              |   3 +
 services/api/app/models/job.rb                     | 149 ++++++++-
 services/api/app/models/node.rb                    |  23 +-
 services/api/app/models/pipeline_instance.rb       |   1 +
 .../admin_notifier/new_inactive_user.text.erb      |   4 +-
 .../api/app/views/admin_notifier/new_user.text.erb |   4 +-
 .../views/user_notifier/account_is_setup.text.erb  |   4 +-
 services/api/config/application.default.yml        |  41 ++-
 services/api/config/application.yml.example        |   2 +
 services/api/config/routes.rb                      |   2 +
 ...d_description_to_pipeline_instances_and_jobs.rb |  11 +
 ...140918141529_change_user_owner_uuid_not_null.rb |  12 +
 .../20140918153541_add_properties_to_node.rb       |   9 +
 .../db/migrate/20140918153705_add_state_to_job.rb  |  21 ++
 .../20140924091559_add_job_uuid_to_nodes.rb        |  13 +
 services/api/db/structure.sql                      |  28 +-
 services/api/lib/has_uuid.rb                       |   2 +-
 services/api/lib/tasks/config_check.rake           |   4 +
 services/api/script/crunch-dispatch.rb             | 350 +++++++++++++--------
 services/api/script/rails                          |   2 +-
 services/api/script/update_node_attributes.rb      | 106 -------
 services/api/test/fixtures/collections.yml         |  76 +++++
 services/api/test/fixtures/jobs.yml                |  48 +++
 services/api/test/fixtures/links.yml               |  28 ++
 services/api/test/fixtures/logs.yml                |   9 +
 services/api/test/fixtures/nodes.yml               |  37 ++-
 services/api/test/fixtures/pipeline_instances.yml  |  81 +++++
 services/api/test/fixtures/pipeline_templates.yml  |  27 ++
 services/api/test/fixtures/repositories.yml        |   5 +
 services/api/test/fixtures/users.yml               |   1 +
 .../arvados/v1/collections_controller_test.rb      | 112 ++++++-
 .../arvados/v1/groups_controller_test.rb           |  74 +++--
 .../functional/arvados/v1/jobs_controller_test.rb  | 116 +++++--
 .../arvados/v1/keep_disks_controller_test.rb       |  22 +-
 .../functional/arvados/v1/links_controller_test.rb |  26 +-
 .../functional/arvados/v1/logs_controller_test.rb  |  22 +-
 .../functional/arvados/v1/nodes_controller_test.rb |  80 ++++-
 .../arvados/v1/schema_controller_test.rb           |   7 +
 .../functional/arvados/v1/users_controller_test.rb | 348 ++++----------------
 services/api/test/helpers/users_test_helper.rb     | 100 ++++++
 services/api/test/integration/groups_test.rb       |  42 +++
 services/api/test/integration/jobs_api_test.rb     |   2 +-
 services/api/test/integration/users_test.rb        | 216 +++++++++++++
 services/api/test/test_helper.rb                   |  20 ++
 services/api/test/unit/job_test.rb                 | 113 +++++++
 services/api/test/unit/log_test.rb                 |   6 +-
 services/api/test/unit/node_test.rb                |  14 +-
 services/api/test/unit/permission_test.rb          |  13 +
 services/fuse/arvados_fuse/__init__.py             | 131 +++++---
 services/fuse/bin/arv-mount                        |  69 ++--
 services/fuse/setup.py                             |  24 +-
 services/fuse/tests/test_mount.py                  |  21 +-
 services/keep/tools/traffic_test.py                |   4 +-
 services/keepproxy/keepproxy_test.go               |   2 +-
 services/keepstore/handler_test.go                 | 127 +++++++-
 services/keepstore/handlers.go                     | 102 ++++--
 services/keepstore/keepstore.go                    |  17 +-
 services/keepstore/pull_list/pull_list.go          |  81 -----
 services/keepstore/work_queue.go                   | 160 ++++++++++
 services/keepstore/work_queue_test.go              | 149 +++++++++
 196 files changed, 5785 insertions(+), 2102 deletions(-)
 create mode 100644 apps/workbench/app/assets/javascripts/dates.js
 rename apps/workbench/app/assets/javascripts/{selection.js => selection.js.erb} (96%)
 create mode 100644 apps/workbench/app/views/application/_loading_modal.html.erb
 create mode 100644 apps/workbench/app/views/application/_name_and_description.html.erb
 create mode 100644 apps/workbench/app/views/application/_title_and_buttons.html.erb
 create mode 100644 apps/workbench/app/views/jobs/show.html.erb
 create mode 100644 apps/workbench/app/views/pipeline_instances/_running_component.html.erb
 copy apps/workbench/app/views/pipeline_instances/{show.html.erb => _show_tab_buttons.html.erb} (51%)
 create mode 100644 apps/workbench/app/views/projects/_compute_node_status.html.erb
 create mode 100644 apps/workbench/app/views/projects/_compute_node_summary.html.erb
 create mode 100644 apps/workbench/app/views/projects/_show_dashboard.html.erb
 create mode 100644 apps/workbench/app/views/projects/tab_counts.js.erb
 create mode 100644 apps/workbench/test/controllers/pipeline_instances_controller_test.rb
 create mode 100644 apps/workbench/test/diagnostics/pipeline_test.rb
 create mode 100644 apps/workbench/test/diagnostics_test_helper.rb
 create mode 100644 apps/workbench/test/integration/jobs_test.rb
 create mode 100644 doc/_includes/_example_sdk_go.liquid
 create mode 100644 doc/_includes/_example_sdk_go_imports.liquid
 delete mode 100644 sdk/cli/README.textile
 create mode 100644 sdk/python/tests/test_stream.py
 create mode 100644 services/api/db/migrate/20140911221252_add_description_to_pipeline_instances_and_jobs.rb
 create mode 100644 services/api/db/migrate/20140918141529_change_user_owner_uuid_not_null.rb
 create mode 100644 services/api/db/migrate/20140918153541_add_properties_to_node.rb
 create mode 100644 services/api/db/migrate/20140918153705_add_state_to_job.rb
 create mode 100644 services/api/db/migrate/20140924091559_add_job_uuid_to_nodes.rb
 delete mode 100755 services/api/script/update_node_attributes.rb
 create mode 100644 services/api/test/helpers/users_test_helper.rb
 create mode 100644 services/api/test/integration/groups_test.rb
 create mode 100644 services/api/test/integration/users_test.rb
 delete mode 100644 services/keepstore/pull_list/pull_list.go
 create mode 100644 services/keepstore/work_queue.go
 create mode 100644 services/keepstore/work_queue_test.go

       via  1cadb15617013ad5882ffaadc434536187618f06 (commit)
       via  e59d7413748d047575232b16b12e7163dbd9521f (commit)
       via  a800aed41550a1a0c5a9ecee08105149db1b9362 (commit)
       via  60998a3875f79482533976e6e0ee0f99a9589c46 (commit)
       via  89e7c751bc5eb9ac467f607c9e172e44c1690f4c (commit)
       via  2fcc6fabb45befcc2ee4fe237744d6e3df5c4e39 (commit)
       via  62790d76daf181a457d8f47741721967cd9cb7d9 (commit)
       via  2935de4fbccf43b7daedb9412f2ada1bf65c52ab (commit)
       via  23acabd1c9685b0a30027a643ebc10b25d3985d3 (commit)
       via  a8bd120b4b5056e7a688e6ce4a60c1251fe7cb0f (commit)
       via  165a36741ced8d09ec15aa30873e51dab2b3e215 (commit)
       via  5d006b95fdcbb48afffef8272b4d2071acb5221b (commit)
       via  754495b451fb7dc65fe2d2c43fa4876638b0be66 (commit)
       via  9378424698db0e02856d09586333cac9142331b2 (commit)
       via  bd99df2e6c5f7bb0b75c7fa2f1a9c1c2defeca8a (commit)
       via  4ff61dd25a70e6467bbafeaaf794cc381f684384 (commit)
       via  196b4b55725db26af4000162329421c73ca893af (commit)
       via  edc5e4b6645b9b983a85a892bf3d3ad1432a657d (commit)
       via  359d96e3442f93094703a6966aecca9b0a90f55b (commit)
       via  d9d74825806615a539da950686ae801bbbf60e24 (commit)
       via  e910d13fc5fc63a86f20be3b758c08db3d429bc6 (commit)
       via  4769d3156e5d486837f7eb524ab5ca798ed090dc (commit)
       via  3ee8ac519f0c3f3fd211372d2a4699586d5c2aa8 (commit)
       via  d9df153743ada521cb42852ce2b4879b1981bbd9 (commit)
       via  3ff644b461b69c38418384e532e3741a07333daf (commit)
       via  dd0f2323bd5fbcef6a3921c45d6e3025a77d2e35 (commit)
       via  9b16ff9eb231584fcfda5eed029b1c1b08a0b819 (commit)
       via  34e461fe9d33283d8e2135802ee9accb30a5e34f (commit)
       via  70b1ac0b5a02879bb5b60f651bf0810e8362f074 (commit)
       via  8f1554cf9cfc279e0127d7ea2c7a79a98e323f13 (commit)
       via  407f1cf196f60f4af21c89cbdccb2c98e05518fb (commit)
       via  54a951255316417a42a3bd8c77aaa0b58d180440 (commit)
       via  3412c35d3da73b94c133099dceab9770fb465165 (commit)
       via  74cdb4454d4adc6b403c207169313f37332d8aac (commit)
       via  a5c4a1d17c5ea0916ae5049c19841d820f850a84 (commit)
       via  e6fbedf93f4db7325872537e36c4175c8fea0bea (commit)
       via  1afcc0c00dc9f901acce6d5b166ee51c497f8555 (commit)
       via  3dfc071494cbb0386ecd7269c72a435fc7f9cc24 (commit)
       via  5233f1d185706095d2f045b8431781c9a421ee16 (commit)
       via  6b17ef224b600b3ce889546d648df43d8aea81f4 (commit)
       via  92d5df330b86fb4c279a6e030258b860bed37358 (commit)
       via  3cdc055b90fd859cbd0e101becb4abd78f4d467f (commit)
       via  84798b73902fdf81f68ec55365e3a356cb8dec95 (commit)
       via  79da2069356cf4173795501af861ec947195e183 (commit)
       via  a4679fb93b4b835509cc77f9bf2fdce02d40520e (commit)
       via  6319bc1895aaf8d2a7f944e45e52c960f931a11e (commit)
       via  6d6de24e35e291ef9b7a0f05def9b8e8ea5f7508 (commit)
       via  5a341ad3a358bfadb96c83fb95acb7ce3f50cd83 (commit)
       via  4f41341675c108e9ffa4e5ba15b8bca521152a67 (commit)
       via  a77093bdb8cbbba6860bdda67da4d19ad3ac5a0c (commit)
       via  dc29394d6e4df36a1cab5beae69c3331e037bdb1 (commit)
       via  521df5cd1e19a671a4f940128c5c61930df9c8bb (commit)
       via  74bcc470f33cd47ca4106a7565871c07c40f9c00 (commit)
       via  b3fd3679187be8e51d31cb6bf17613cc488cda4b (commit)
       via  641a04fc2dd876440ed983a4cdf0e03f188040c1 (commit)
       via  f1c20b66097f1bb37c0ffc8808b4a5831e91f87b (commit)
       via  c53ffcb20017ae0f99fc49095c7008555ac171cc (commit)
       via  2ca602f880757f016f8d0d212b8851818decc718 (commit)
       via  f6d1dd8018f7facf8e4c1f3c82ce777fec1d5a6a (commit)
       via  99ba15c7f425c042fb61b454bba27324c80b7649 (commit)
       via  e3927b68de6d280a4172bd862bf61d5d0cb585ce (commit)
       via  7b2d04380952ac79453bd0771679e40c81281f5c (commit)
       via  4d2b509734d1ac5351ab6da16e08a092ba77f148 (commit)
       via  0c376a152770021334e0b2c3cb7c897dd4ad74bd (commit)
       via  070ca0d5fdd81ed1d3a32fbfc4d1329bb911bdf1 (commit)
       via  093bae4c914a872c501c3235f06096092725f015 (commit)
       via  33b559e83dedac970335819388b609ed01001db6 (commit)
       via  9756d91f6f1e2472184be0dc45e8849c2c9ab35b (commit)
       via  bb3ec0fefd17c68d9c0123dcfcc5e4ef616fb25e (commit)
       via  16b0697d6ea10d21381936bc9b5ad10914deb9b1 (commit)
       via  15869244560757aaa6187de437d73dbbdfb2e4db (commit)
       via  029656d8b2646bae51de03426a6496cbce0cc9d7 (commit)
       via  0fc69ec920fb2edf48a196adfbce1e7c66218f04 (commit)
       via  cad9d2f9fe930e51279a8496929857039deea2de (commit)
       via  f9ec9073f2077d81567922d612d79e8bcf3a11ba (commit)
       via  c360335c441219f20eb6c598870a6a727edc88b4 (commit)
       via  c02331eb9e7d302efdd788af0dd3ba9124352edb (commit)
       via  195b23ed7fd0c6261d0a945a9f0e541d78a0648e (commit)
       via  ebdbddd3c85ab869afcf689efd7cb4b6207000b3 (commit)
       via  b506247f4a34e1a409f57c3a01c07a94970fe68f (commit)
       via  2873926cdbfc8012b276db11d24cea3ad6a4bdd4 (commit)
       via  b27fe91e18bec8df031e4c8bf87f4da293d7b733 (commit)
       via  936ea7131a5c0e254ef213e5e2fe390e4e52e872 (commit)
       via  1b189a0961ba757caf6160285b59daa26c7cdcae (commit)
       via  d4724463bd248922dc37b43f59d54890d10581c1 (commit)
       via  93817175e247780a3aa74494e3d2f08eb1a9cd37 (commit)
       via  eaf8fb3be8218971b9a66d10b7bbabbbf92cd041 (commit)
       via  c2c38069d28fc68dea6e1b2cb0d5f4f36e1ef03f (commit)
       via  d592a37f987ed90e017bc9d2d962a2f620e27095 (commit)
       via  22c3f131e929bef5574ef71a98bc48290c36dfb3 (commit)
       via  a3787ef83a0538097fb6f802f675be740a241ebc (commit)
       via  ce410ef35e137e040ace097a74a33f04c5975ad9 (commit)
       via  c491bfd795b7c7c4f26f18003290bd7ec9e88d60 (commit)
       via  9bf347ea56bc74da1c0ff1a3809faf1ae58f5890 (commit)
       via  abc1db31bae1b33ed899a1da4b59f2edc0f5f189 (commit)
       via  1d8f975be8d35444aca0f21a0b6c91bc4a277662 (commit)
       via  4e8745c2a744a2c3e6b44ee6100fb1a26749cebf (commit)
       via  a805395a2a64aa83a1604ade6932151a0846b577 (commit)
       via  39507a40922e11e6863e4dd788ad3231e6fb3224 (commit)
       via  0b1b373da53fe7177a7f62523ef30ca79cfbea53 (commit)
       via  6d324fb5962e8425393c921c2def4aa1506c7230 (commit)
       via  48d04722a5e0478e22be33f58036806a55b3a0eb (commit)
       via  44242bfe2c86302c65650cf7fe3a7187223c6304 (commit)
       via  bbaaeabfc2d28c8a24f106b81e6677832cd68b3d (commit)
       via  0226ff322cc71b540f3ca7469ad1ecf1af95d8cd (commit)
       via  1d135e43d06148b100fbc8534144b405e4824af9 (commit)
       via  c2e491ff35fe12d895587a6e7cf0cc9f1f7bfcd9 (commit)
       via  2861857a87d4c40924f783862ee09e91cec0b96f (commit)
       via  88650e2c0020e1122449d7b91ad3ebf78bab9d23 (commit)
       via  bd3979a09bd74b6311e9d242bc040915d417253f (commit)
       via  94b11dfc98ed84d0f91f2bc2fc81e76b4d3c35d7 (commit)
       via  e9622f371ad4d75f0a0b5ee9480fae779dd63156 (commit)
       via  5253b7d81a54c6087b35148499c360c692fac870 (commit)
       via  a452ab111d29f4f06d31c3fe760bb17b211020a6 (commit)
       via  8bc77d6ee612217cfb50bca997ce3b94c19637e9 (commit)
       via  90e9b3c5ef43242afc42770d03c61489d69c1de5 (commit)
       via  7e9bb68c02ff8b21747ad88c89d79395b4c091c0 (commit)
       via  c50fe608334f9fc2e19969f41c04d671cb9c0a19 (commit)
       via  9ead624f8ea10f60a6472edb2d15ac576af85515 (commit)
       via  be3b98a52ae6773913696955e2d9c6585fc89441 (commit)
       via  caa5dd776dfad5e50592a5cc2824c70ac3474b46 (commit)
       via  11b71c18e7506374953119d717f7c4e8c52f8bc4 (commit)
       via  4bb3091019c84f748a60492fb52dcc0bba0bbef0 (commit)
       via  9b21fc7fa2702c8901a6b3f00db6c07fe7cb6849 (commit)
       via  142c18d8174004fc0665106cae71b6f18ba7980b (commit)
       via  081ffd25912e960854427a7c0531c6dbb78d1b4c (commit)
       via  586b30b8171da19a4d777c6c2edf4cd7f2fdecfe (commit)
       via  ef6972c6f0e42266220d3d256f69f817f559bf2c (commit)
       via  48694918fb3e78857d921766784f04cc49dc1ab1 (commit)
       via  36975ebf86c37148ef38a5facd10fad2a977efc9 (commit)
       via  15902f15dc95b9ecb0e0193f9bcdc437fb4fe6f9 (commit)
       via  469f117ead24509639fb5b6ba6c9bd1b6067460c (commit)
       via  7943691e146fecc929f1dcde2f794ab32fadc565 (commit)
       via  4671db01d21dad219582444592e99a74d1fa35d8 (commit)
       via  c5ac04b90cb26e49efb16b322d82913eae2ef423 (commit)
       via  9daebff7dfeaa7092da078f3a0bfdc0c9d8e51e0 (commit)
       via  4d44df51ee042c2acced50a838a74eb441fcf73b (commit)
       via  32a058657ee1445c4a1c86368ede5287d6274f98 (commit)
       via  9a15397a7e030704f63441d6e7893cb3d8be1d64 (commit)
       via  8a833d4bb82249d3f2b9c0473c0af51db92fdc72 (commit)
       via  d962404672ddd32804ddc7b8f502d01843e36404 (commit)
       via  9700a3a646ea5e1d50e5525bd094e8eb90af8ce1 (commit)
       via  8f3b2fc8dbe18a031fb7aa943b626a0f3932c3ec (commit)
       via  6741a2db39cab991efd28d742071170fdbe908f2 (commit)
       via  44e4d85c32d5e4ea4dc651570672e59d7a10d3b3 (commit)
       via  8b4cd21c6bd056e4ebf7487132a454cb5b8aacc5 (commit)
       via  3154ba6b56adb7a76bd5665c6c4c3326efea8eaa (commit)
       via  b0fa2109b62079c50c5228d227c591fde7b40ab7 (commit)
       via  77ad02138232ebf8885ceef5b4c398bf6fd39587 (commit)
       via  24fd61eb70995d505bd990a79339571294b8f6eb (commit)
       via  409fe707a4d05f1986d7bb0c29ec977d19aa63f5 (commit)
       via  da0d61f9a95848d47d28462d89e0a2070c39d587 (commit)
       via  9340ba16925c4288e6de8a457b74ae9524b04213 (commit)
       via  e350e7a5a074d6666f60b0a1789dce8da3037d8f (commit)
       via  37404e821668b6b9b1952a0a5a3b28901835884b (commit)
       via  3d84dd62a85647e9b3dfc34af8303c09b9923498 (commit)
       via  93c7127afd21f82662e9b471e7c617ae8c59ad19 (commit)
       via  68dc1fcaec00d7d954be19f2c184e04626639616 (commit)
       via  0091abfb8041e1f63ba8b7ec9baa7bb57a05bcdb (commit)
       via  1a8481cd4ebacf2036090273bb6b9444dbed16a8 (commit)
       via  2a8d349eaf2b1ac2254056ea32859f72a226d63f (commit)
       via  301917a75b61cd8a9447b5c525c38dc2e3416c9e (commit)
       via  4c53b3aee935b41e11c71ff1468a10d6a80c390c (commit)
       via  c8ad3a2a0f27964eff5d5c2d845afab728836473 (commit)
       via  2b0a7c3f635bc2340956d670c6aeda417dd11cec (commit)
       via  8716b38d3cd20640c28b6fe048927309a0f916cd (commit)
       via  f76e58645366a0cf1d33e8d681cb051e313ea713 (commit)
       via  af09cce22f077b5a537e1b7eea8d98981de9f400 (commit)
       via  5fd423a57ab1f34162f4cb2c08bd6b0b2515af40 (commit)
       via  2e940d5cd2a39b31dacf2aa65487ed62645abe14 (commit)
       via  d7c09707b2b5146367c2988b75deffce21b5ae2c (commit)
       via  2bab50e5573bec3e46585fe23e2ffb26b1b8fe55 (commit)
       via  8c52fddd7b87b36bbd5cb0d362009df33ef5f0fc (commit)
       via  06a956718e8dd55a2cdd4a84fcdfb7a3b5a0f635 (commit)
       via  8c97b8ad6f4b026f8bd2626a6d1b76d2fc60f253 (commit)
       via  b25e164d6cfc0712be5856c63f7592145669232d (commit)
       via  362be0f8b6b1d559e041c8cda7d9f154fb93ee97 (commit)
       via  2832018a959557515bfad1f763bf8d4b72182fd6 (commit)
       via  9c7058321b88320594fccec767a8326e0bb9db4f (commit)
       via  92211c8bed5aaf3abd83d02c4adbaf2329123bac (commit)
       via  1d5d09e8d1568fdae039571306bd5e56a8273ac7 (commit)
       via  1513d62bc0716698b71789f7affbf78e675cbff8 (commit)
       via  039e808b1be1f2106118dc20174977d8e8766125 (commit)
       via  eec77d22e408fe3983cba666c6f5185ecf2d15ec (commit)
       via  4ea6cda50c7fcd3d30ac01e8a421cc68cd4ea23d (commit)
       via  eb8dc9dee0793139aac55f4aa65a7b2de433afea (commit)
       via  3f7a73ef946efc268017fc6f5ea31868e18d39dd (commit)
       via  5ef678825d7b436526489e9158a916b605814133 (commit)
       via  d2517f46eb0d1a668ac8124144220436c80d6f65 (commit)
       via  ae346e842a13be74e4b4d44afb0ec61b7a2749cb (commit)
       via  240ab2c50a01531df162850be255a4c4e1084fc2 (commit)
       via  3e3df723e221dadf2512ac4935c1f6f0fe8f7834 (commit)
       via  d23d4ce9e4c52605cb23286b9e9b46a808f7437d (commit)
       via  5af4f00db1cbac83f52bf02b424968fd0ef387b1 (commit)
       via  1fc256cee80eef7aa2178789f23a729ba9f27b79 (commit)
       via  d6478bb286c0bb1e7b8af67fb4800db792200022 (commit)
       via  22c7912d7c62877647fc714cd0bbef8f37a2b120 (commit)
       via  5b2a15b6a4addfc648ef1060be47ffef64e64777 (commit)
       via  d70e5d076e907266c0f40364aaa69fdce449ce9f (commit)
       via  7e27eb2cca7e9e22ad1f56a6f0ecbbc40ad4cb64 (commit)
       via  104244f9ab68f409dbad2272910c21e317994a5d (commit)
       via  2e8aee62b13edd8eac34ac8536d41992c7adbf69 (commit)
       via  80ec2c7fe823b84ba5b3533f3c43d1bf3c627f70 (commit)
       via  96e711607984bd74a682dd3f3819dbc453a6591b (commit)
       via  6fcb589fc76b9251a142dd76d3019c993cfcd71c (commit)
       via  59607e4635868117051d77aa4a84fa9f689c52e7 (commit)
       via  aecc7109edd37aee2388c06a36d5c8ba853b3267 (commit)
       via  ccff8ce154b393512dd4b563853f63a9abeefba4 (commit)
       via  4eaf39dbe947beaaa87e656b470d7f21880ba607 (commit)
       via  148306afed19fc9138a04bcf161d8f24d83b2ac0 (commit)
       via  f9a2ed53565bf921821dff5e2120b6496ac9acdd (commit)
       via  2b6f61a7d202b771be7e85c14fb4d1cb592142ec (commit)
       via  8934b505b0cdd6af699d910148046ede7c44b7da (commit)
       via  c446dd845656e944c2d3f91f8d00e320c37b66a1 (commit)
       via  15409c5e2b7946ff7f5fd104a6757a4d874448d4 (commit)
       via  c24d0cc28ee40a37d7f0ead787394765386e5413 (commit)
       via  95723281b6a2b9d594f92cc5577c2f41e08338df (commit)
       via  b96a5d949f88fa4f11570ffdf3b951602a3ea4aa (commit)
       via  ba46f409f9c572263cb7907eb2f36139a2c0320b (commit)
       via  768889aad2bf97586d68b52af4f2b9ccae78251e (commit)
       via  bbb726b1c675cff7ef34704ecfa05353f971e951 (commit)
       via  fb9235f1b9abe0661eb7640c4db0ab7001f90f1d (commit)
       via  1ccabc86f9eb3b51e02a3571d5b133fec8258f49 (commit)
       via  ed413bb7071fe0d58a98828e89be21fef5681200 (commit)
       via  cbd11b4bfd5bcc637abe0e7678239dd1e7a2fbd2 (commit)
       via  f47d364957c90269535d3992cd048ce5aef95cd0 (commit)
       via  5ff389fc3450f97b62ef919109d6cc5691c96897 (commit)
       via  411ba18c2288d67a802a422259c2678e3d4681a4 (commit)
       via  bd0d76fa76bbb0697c13487bb7d04f0b56d01a29 (commit)
       via  5f4f8509e8fce0bcfb071188b5773a405b61f976 (commit)
       via  44d97727200a7efecd115cd01fb520f371ebfe3b (commit)
       via  40b15ddcdcb8314f0a1036de6238d0ca4bfb3e41 (commit)
       via  3cc699f70a514878b7ce7adbc3c96e73f92fdf82 (commit)
       via  7178ac911e7b160c1348da404b5aa07b9829d3c8 (commit)
       via  4403160024a6de9d2bba41cf5377aa5c3d462500 (commit)
       via  fe59fe52fd8d10f79b863022dbac6426082dfa46 (commit)
       via  f5fd953bdf34b6a6b7ba698f76b54f21ee47afc8 (commit)
       via  2bc8ce335b15136ce39b2652ab41e20b15632d08 (commit)
       via  f6cd6a5f0ca78c51c30e2689ca3d5a4caeb41073 (commit)
       via  5be834f3ac1bdd81f2c40514cdb5795a8585e1f6 (commit)
       via  5bb258b6e289b97e4bda28ff1b2d50a255339030 (commit)
       via  51444751090ef020a33a125c636f9afc099f6a46 (commit)
       via  72fb7ca979e133064f0c41193222fe352f7fbf8a (commit)
       via  3294cfcae73fe5b2cff051298b26076103251ca9 (commit)
       via  a4fc0448d97894d438fc770d7e5a890be8d8a01d (commit)
       via  d585a31fb1a2b2c4964ff2c8928a42358e8a060f (commit)
       via  6d6ee07abb8892fb1e3f606c1347d18abc321ced (commit)
       via  a6809bec920bdfdfc03c726d0808e696824289f5 (commit)
       via  c203e53c2929c2ddf1b079ec077364f8f4d23c40 (commit)
       via  9d724d2028cc942b02f5a3846fc25d46761ce136 (commit)
       via  67182ab96a8dda99ffa897a2fb04d361cd73777d (commit)
       via  96f5b2d78c60d1a16f51a269270d180b3f9a60a3 (commit)
       via  3b10b48b8a76203f75bee5233e3ab8a258803cb9 (commit)
       via  c23de360ed9e7950d8587a3ddae3c35874e61b50 (commit)
       via  84e9ab15e2068b0e0384e05d3839d16b6a71dc51 (commit)
       via  4ac75eb713fcd03b45eb1b4929e21897b4aa871b (commit)
       via  a4ab52b4305023d8c679cc7c3b09361050d167b6 (commit)
       via  1da127f1e63485ac225cb16511013094fd7e84f6 (commit)
       via  876d1f80e0344989f8b68799918c467fa5a52e19 (commit)
       via  eb3c3c9eeb73529353ee385385865d6d3dc99913 (commit)
       via  8ba7f9450ce51aa4ec8b0944991abe5a692ab4d1 (commit)
       via  1f45f7666edec7b10cee415f238931744247b762 (commit)
       via  cf9b56161704477075cda297b44dae4d9342c24a (commit)
       via  1f354e0ba1b5b23c2d36c0cb60451260b29e1d3f (commit)
       via  80c57e3536f41d8419f580b577776d85209f6111 (commit)
       via  5a9aaf3f32fc0414ae16aed17a77388cf4af9f90 (commit)
       via  af2c75821456e28875dc8006efb03f38ec1a74b8 (commit)
       via  9facc2aeba6770ee80730001ca66bdaec8bde738 (commit)
       via  8d554a2734be8bbe015d38a48494f7699f2de439 (commit)
       via  f51c721f97c6e5ef4fda47e6d0fc45cdd2c2b77d (commit)
       via  6137770472ef5b55fd604f87d303d6e07c7e3f2f (commit)
       via  4154420cdd2a2ac6cdb2cc57357f42513fb287cc (commit)
       via  58ccc8f13d66fc3da1aecb392a6698a29958e203 (commit)
       via  4c8ec1b2166a81b05b2b6cf5a6fae5b839876802 (commit)
       via  b522f728ae1674c9b9bcee189885d919e91acccf (commit)
       via  403d9f6b700f38cd3caf067445233b5ead99466c (commit)
       via  355b679d30f9d3f7f7b1619a4b807d18daaf9483 (commit)
       via  274ca7a6c2f1f600de4242eee6cb4e8465d4440c (commit)
       via  26f139f761174328ea43114a3ef9cb9ad873149a (commit)
       via  4cf16efd4dc5097b59e900d84eef3bf98d80b16f (commit)
       via  4c80f6b8856accfe6017bab4f66d018353986dbc (commit)
       via  9d11f5c700cc7b44bd592eeb80abef1fa9f5d45e (commit)
       via  5563150b747beb8ed580d74df4423c4bc2e37aca (commit)
       via  5a3b04f7177afe202ab4f8776b5ca2567b4fdabe (commit)
       via  3ef64886e9646804ab1c7e06cb5f3b24bbcba651 (commit)
       via  a9f3e9ce8853d574e9f1aafed61085b66eb09702 (commit)
       via  dce0ccabe3d9fab6943e89dc84050793cca5b553 (commit)
       via  aee63d7cbb2f8e39b417baebc145889d6290315e (commit)
       via  fc2096f2825082d526a0d98323690a09ea9a5889 (commit)
       via  2d04e7d3466cfbf166aecfde71dea909ad0b9119 (commit)
       via  9ad5b41bb28617a014410afde9eb90f758f491ef (commit)
       via  c99ba4cdc8f6ff0be1847ffe4ec6f791f6b83396 (commit)
       via  2df94bb061c94971288736299fa09357236bd13b (commit)
       via  66cba099dbc0c588fe676c029f5981ed6143c973 (commit)
       via  210d762a82c4fe3a2445c641513188fce07436e6 (commit)
       via  21cdd10032c60451743b6e6294d2e75a356ee61c (commit)
       via  f1603177aa4cf91a91528f8705b33fc3e5bef2fa (commit)
       via  c51634cad3c68d0a8400f1b1c47da9eef5307e06 (commit)
       via  1431ecfb847926e6594f9b5f5ece635609721891 (commit)
       via  a3f380f9dfe25c1c28e6354de56d93b5c9265a08 (commit)
       via  2da969ccdb4f402a44065ad36a36f915e2c44629 (commit)
       via  517d3fca54225873d36f94083f3b7056ce271f46 (commit)
       via  d8f97ca48cd194895fedbefbaa022196d25828f8 (commit)
       via  6f2433691034b6e223445c5a047554ee7c6f92c1 (commit)
       via  aad2f86f509b34f1507bd5530bc458daf14feb41 (commit)
       via  0a5f8b68dbc86519f1faa10d1597c47776bb80dd (commit)
       via  735f1ed1f3c9bf4d876981ccd94a0ad723300d18 (commit)
       via  283a6c020649948fe9164c851836a171800afadd (commit)
       via  37ab78a4c99a7b8534556881e6eb77d335abd9e3 (commit)
       via  d60536bb1ca0eb6e72388a5287e786725dbdfd9e (commit)
       via  9e2357191ca21631bcb6d8cf7a640d456a1a6cfa (commit)
       via  1f1963df75f584d575fd440206e3ac64064cf06c (commit)
       via  2749cf271f44f3783a3c2c9c309e0508da7d9446 (commit)
       via  4cfb296612f7b483b56c36f119ca175def706d2f (commit)
       via  b4d7d4a3144a84ac2332b94fb12047cb57dcc572 (commit)
       via  787c47f7e1b2e9cdc4236c3052e34125259feb7f (commit)
       via  87163a6ec678b841ced3824cbbe40ac20544821b (commit)
       via  452baf1ec1b55c6c4613972ee5f6b5ebf28e8ed7 (commit)
       via  82c5dcae45765d61f9af973bb3c02f878aa40804 (commit)
       via  391c3551e763834bdc4c18db8051905d2c338f83 (commit)
       via  0d1919c4b29f66c9af5a912f770dccce4a314e5f (commit)
       via  db9ccbd2fab6edf279408a6869a2cf2409d5f335 (commit)
       via  b941bb69fdf0bfd2cc2ce0de82f570e70f7af86c (commit)
       via  ec3e655812817f4d7935629f397d0508f961bd9e (commit)
       via  869c692dfabba2ade6db0fea518e1fed8d2b8a53 (commit)
       via  c49db117daf8993185cb271ea90d89e841e01117 (commit)
       via  63af4052e2899a275930678bda65d82e857e1a39 (commit)
       via  a6f8d9e254b27305f8f61adc04b685206531237e (commit)
       via  91fe76f4a3f8e5f59d12343ae69d2ba5a43d8e55 (commit)
       via  1245c7955eefc1bb4171d7d80dd6f0cac1f0676a (commit)
       via  c8b329a7764af3094d46b79441b9f9b07605abb2 (commit)
       via  9d1876405f50e009b686bce51c2469a52d2f79ca (commit)
       via  19ba184b0a37d93b5ef5679be8bcc72417887d62 (commit)
       via  700fcdd3594713fc2f692d5c3c31474f0c8e14ff (commit)
       via  454e8fd7bbe6afdfd5fe9905cd0376741bf5f9a0 (commit)
       via  46ad2015c1db3662a1ece565df06acbbfd7ee7ec (commit)
       via  facb6375180b37b628c417e97a181abe71e3181c (commit)
       via  3babb86cbbb3275d55b1cb928248d0cff436fb3f (commit)
       via  d35d434047cf36206ec5780e2d422bc0f4f84ea4 (commit)
       via  aa1e4c45da76894d64199acb89efdc50b8bb7756 (commit)
       via  886d7eef0316bfb5bb230db66ec90123a28315f6 (commit)
       via  9f34059300412b551a21bb8ef8bae1ffa28cf9dc (commit)
       via  46f5403fdd2b3b0bd26d81d81ba509c624f54bb3 (commit)
       via  6d5e04a731edc9ce8944ecea637070afbdadeb05 (commit)
       via  4dedb0cc8921e7210ed245107b83996eb0d4e974 (commit)
       via  642670d6614fe30f3ad4248f8415a290c6c3ad45 (commit)
       via  bc7b64beb18c4b8900a9d14f9539b184ef37cb64 (commit)
       via  ac79a0b185c3f9bf163c7685040e49c59825e17a (commit)
       via  1065f68b84a650980cbcc1e0dd51b587d075f06b (commit)
       via  5df584b3e49ccb52419449da016d86b08510f959 (commit)
       via  bff8478af0503196b18446f8b909949b618e363f (commit)
       via  7faaccf29475d419f55fe43e53dffd40392f48fa (commit)
       via  07a3aa9651168756a6f108821f6ef10ea4ba8144 (commit)
       via  195b1b9f5b683110b4cef2ebd4e7cc3401317334 (commit)
       via  672df7ed5ffe0aae1eaa948438de9d54aed61038 (commit)
       via  289f610d23d5fcb0e9deacea90e67e3f36b41077 (commit)
       via  bf775ee6fbbfec9b7d8736aea57dcb0f2b770f60 (commit)
       via  7a260be18ddba67443a2be19d7f24406c7fe5131 (commit)
       via  4c4c295193379003fa6c94c9c06e3bdec574e265 (commit)
       via  177a1468e06674e7ff0ff0730b8607fbbd78000b (commit)
       via  f91bae113a348bb049f6391043f8ba9529def694 (commit)
       via  a6e1c4ee0d72d0b3f5443dcf309135a4d609c0c2 (commit)
       via  0119bfdc48c03588e91a9fdbafe77bfd62d89c20 (commit)
       via  fcf7b0770eb45beb57f32f7855aa76e9bf28690c (commit)
       via  ff9f9c7e1a664a36bcffd54c7269c08d5bf1d436 (commit)
       via  45f25c3c3db844e2fa54d0d8761607ecc4304149 (commit)
       via  dcf5e0cef46e3aa3baba27da3f922b1c357ba3f3 (commit)
       via  90ecfcca3bcfd82b91d396c271e19698ae970715 (commit)
       via  63b52a3a8d2fb55bd6aa0386e7d86851915be5af (commit)
       via  96d9f313205dcc038a50c25a3ffdacd6516f62bf (commit)
       via  4bde33a6a4ad1390504e270ee2ea881a867b5d5b (commit)
       via  32b97aec0d210ec7a951f441cc6a44b4d0921a90 (commit)
       via  a31f94b1b433964c1481c384f2989392321d5529 (commit)
       via  b9ce584056c53253ef5c8fd19f30c20cb521b0b8 (commit)
       via  8b9f3b877a6aa7ed81db48f83f3feb5ef4388164 (commit)
       via  0cf2f356035164cd92e4a5722f0dd25c7502164e (commit)
       via  f6ea610fcc842abdbc9cfe2dd10a64debc81ac1a (commit)
       via  946aeb2debef9cb5fc3c4b557a2973b36f6d3750 (commit)
       via  893f659712cd9b742829b17e2cedc822901608ec (commit)
       via  451e52c2a7a6ead01e5ebca28e09dd02fcba49da (commit)
       via  555c1e920855989e059a4be0503ebb627193f987 (commit)
       via  004e528060e42b45c8207e43892289b14f5aa2e5 (commit)
       via  6386f2aca83b477210bda19a3284ea31463d2efc (commit)
       via  9be9761666fd091496bee885b37598db9a6ab38a (commit)
       via  577bd728e410d6a9b57b11578264b61220a50d76 (commit)
       via  a0fc519db4f3664366c356d21a8478495f2ae78b (commit)
       via  7082cec0e3dea1de16209b205e8fd053efa96490 (commit)
       via  97d1d110d172f410214adac8a49e0c984694a016 (commit)
       via  aff3c1ad491cf4ce7fe7912eaf17c1109d35faf6 (commit)
       via  ec48719c7de0d18772b811645956fab87ce14bff (commit)
       via  08b9ee71323c22fb04c183b09991ca3e6db712fd (commit)
       via  52ecfbd9838f9f643de1e0bd579aaa3576db565d (commit)
       via  9c861f63deb10765e98dba5746aac600bd1a5096 (commit)
       via  0bf498cd8a240f70517d44e3dab0fa000468531d (commit)
       via  aadca3ff41a12a7a52a2a072696564b90537b9b3 (commit)
       via  0313c6ef5ac52fc483718690b1a5902ad1c11e16 (commit)
       via  b4e495d7ee3ca9f9c816dd639dd2b57d85f6a5cf (commit)
       via  7ad2ce19e1db57314ff106bfcfa83f47c8daec2e (commit)
       via  aa22ee6471ccd426287330705ed57719004c8ac8 (commit)
       via  c2a7a5a0e1a89d10d286e060374ad9e1b83a24c7 (commit)
       via  5ff990155f06109c55bbb832a8dd670265d3f3d1 (commit)
       via  72da0be3dc47515537b89f132b0f3995b6ab132e (commit)
       via  9126da70d57cdd32938c4b3814fedf2bd1f1db93 (commit)
       via  bdaaaf2330d43200f5e9f14172ca0591d7314aaf (commit)
       via  2332fe41a097d491c7211a64d6d7c02a65952cc4 (commit)
       via  735d5487e328eb51bbaaca0475e4facf6af84567 (commit)
       via  9a57602cd575021709b94ea2fe80c414d482211c (commit)
       via  37cd41354dd5acccd2c0405fbe0c4a8d29a79670 (commit)
       via  1eedd481146bc30cd2548c44399949cbfa2d576b (commit)
       via  0bb834af65ea679d03bfe6c4e578e3d3403b8bf8 (commit)
       via  72af8e487f399fd726b8985a346a37f2e2160ca6 (commit)
       via  8a4691d711947a83e9155599e96c4173e655a8f3 (commit)
      from  09c2c027beb4ac81a07aa94005d87d92389ddd8a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 1cadb15617013ad5882ffaadc434536187618f06
Author: Phil Hodgson <bitbucket at philhodgson.net>
Date:   Fri Oct 3 12:42:27 2014 -0400

    3634: If a link has the class "force-cache-reload", then on browser-back the page will be reloaded
    (a modal will be shown to the user while the reload is occurring)

diff --git a/apps/workbench/app/assets/javascripts/application.js b/apps/workbench/app/assets/javascripts/application.js
index 567a6d1..9fa37c9 100644
--- a/apps/workbench/app/assets/javascripts/application.js
+++ b/apps/workbench/app/assets/javascripts/application.js
@@ -214,4 +214,26 @@ jQuery(function($){
         $(e.target.href).collapse('toggle');
     });
 
+    $(document).on('click', '.force-cache-reload', function(e) {
+        history.replaceState( { nocache: true }, '' );
+    });
 });
+
+window.addEventListener("DOMContentLoaded", function(e) {
+    if(history.state) {
+        if(history.state.nocache) {
+            console.log('no cache!');
+            showLoadingModal();
+            history.replaceState( {}, '' );
+            location.reload(true);
+        }
+    }
+});
+
+function showLoadingModal() {
+    $('#loading-modal').modal('show');
+}
+
+function hideLoadingModal() {
+    $('#loading-modal').modal('hide');
+}
diff --git a/apps/workbench/app/views/application/_content_layout.html.erb b/apps/workbench/app/views/application/_content_layout.html.erb
index 4902332..ff597d9 100644
--- a/apps/workbench/app/views/application/_content_layout.html.erb
+++ b/apps/workbench/app/views/application/_content_layout.html.erb
@@ -6,3 +6,5 @@
 </div>
 
 <%= content_for :tab_panes %>
+
+<%= render :partial => 'loading_modal' %>
diff --git a/apps/workbench/app/views/application/_loading_modal.html.erb b/apps/workbench/app/views/application/_loading_modal.html.erb
new file mode 100644
index 0000000..b8f6888
--- /dev/null
+++ b/apps/workbench/app/views/application/_loading_modal.html.erb
@@ -0,0 +1,12 @@
+<div id="loading-modal" class="modal fade">
+  <div class="modal-dialog">
+  	<div class="modal-content">
+	  <div class="modal-header">
+	    <h3>Refreshing...</h3>
+	  </div>
+	  <div class="modal-body">
+	    <p>Content may have changed.</p>
+	  </div>
+	</div>
+  </div>
+</div>
diff --git a/apps/workbench/app/views/application/_title_and_buttons.html.erb b/apps/workbench/app/views/application/_title_and_buttons.html.erb
index e1ec160..1735478 100644
--- a/apps/workbench/app/views/application/_title_and_buttons.html.erb
+++ b/apps/workbench/app/views/application/_title_and_buttons.html.erb
@@ -42,7 +42,7 @@
              selection_param: 'uuid',
              success: 'redirect-to-created-object'
            }.to_json),
-          { class: "btn btn-sm btn-primary", remote: true, method: 'get' }) do %>
+          { class: "btn btn-sm btn-primary force-cache-reload", remote: true, method: 'get' }) do %>
         <i class="fa fa-fw fa-truck"></i> Move to project...
       <% end %>
     <% end %>

commit e59d7413748d047575232b16b12e7163dbd9521f
Author: Phil Hodgson <bitbucket at philhodgson.net>
Date:   Fri Oct 3 12:41:08 2014 -0400

    3634: set the response to ask the browser nicely to never cache
    (even though it will use its "bfcache" anyway for many cases)

diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index 0313111..4f5d8fd 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -12,6 +12,7 @@ class ApplicationController < ActionController::Base
   # Methods that don't require login should
   #   skip_around_filter :require_thread_api_token
   around_filter :require_thread_api_token, except: ERROR_ACTIONS
+  before_filter :set_cache_buster
   before_filter :accept_uuid_as_id_param, except: ERROR_ACTIONS
   before_filter :check_user_agreements, except: ERROR_ACTIONS
   before_filter :check_user_profile, except: ERROR_ACTIONS
@@ -31,6 +32,12 @@ class ApplicationController < ActionController::Base
                 with: :render_exception)
   end
 
+  def set_cache_buster
+    response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
+    response.headers["Pragma"] = "no-cache"
+    response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
+  end
+
   def unprocessable(message=nil)
     @errors ||= []
 

commit a800aed41550a1a0c5a9ecee08105149db1b9362
Merge: a77093b 60998a3
Author: Phil Hodgson <bitbucket at philhodgson.net>
Date:   Fri Oct 3 08:35:06 2014 -0400

    Merge branch 'master' into 3634-tab-state


commit a77093bdb8cbbba6860bdda67da4d19ad3ac5a0c
Merge: c203e53 b3fd367
Author: Phil Hodgson <bitbucket at philhodgson.net>
Date:   Tue Sep 30 08:28:55 2014 -0400

    Merge branch 'master' into 3634-tab-state
    
    Conflicts:
    	apps/workbench/app/views/application/_content.html.erb

diff --cc apps/workbench/app/views/application/_content.html.erb
index 1fbbbeb,e37225c..c1cdd8a
--- a/apps/workbench/app/views/application/_content.html.erb
+++ b/apps/workbench/app/views/application/_content.html.erb
@@@ -2,32 -2,30 +2,33 @@@
  
    <% comparable = controller.respond_to? :compare %>
  
 -<ul class="nav nav-tabs" data-tab-counts-url="<%= url_for(action: :tab_counts) rescue '' %>">
 -  <% pane_list.each_with_index do |pane, i| %>
 -    <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
 -    <li class="<%= 'active' if i==0 %>">
 -      <a href="#<%= pane_name %>" data-toggle="tab"
 -         class="pane-anchor"
 -         id="<%= pane_name %>-tab"
 -         data-pane-content-url="<%= url_for(params.merge(tab_pane: pane)) %>">
 -        <%= pane_name.gsub('_', ' ') %> <span id="<%= pane_name %>-count"></span>
 -      </a>
 -    </li>
 -  <% end %>
 -</ul>
 -<div class="tab-content">
 -<% pane_list.each_with_index do |pane, i| %>
 +  <ul class="nav nav-tabs" data-tab-counts-url="<%= url_for(action: :tab_counts) rescue '' %>">
 +    <% pane_list.each_with_index do |pane, i| %>
        <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
 -  <div id="<%= pane_name %>"
 -       class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
 -<% if controller.action_name == "index" %>
 -       data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
 -<% else %>
 -       data-object-uuid="<%= @object.uuid %>"
 -<% end %>
 -  >
 +      <li class="<%= 'active' if i==0 %>">
 +        <a href="#<%= pane_name %>"
-            data-toggle="tab"
++           class="pane-anchor"
 +           id="<%= pane_name %>-tab"
++           data-toggle="tab"
 +           data-tab-history=true
 +           data-pane-content-url="<%= url_for(params.merge(tab_pane: pane_name)) %>">
 +          <%= pane_name.gsub('_', ' ') %> <span id="<%= pane_name %>-count"></span>
 +        </a>
 +      </li>
 +    <% end %>
 +  </ul>
 +
 +  <div class="tab-content">
 +    <% pane_list.each_with_index do |pane, i| %>
 +      <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
 +      <div id="<%= pane_name %>"
 +           class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
 +           <% if controller.action_name == "index" %>
 +             data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
 +           <% else %>
 +             data-object-uuid="<%= @object.uuid %>"
 +           <% end %>
 +      >
          <div id="<%= pane_name %>-scroll" style="margin-top:0.5em;">
            <div class="pane-content">
              <% if i == 0 %>

commit c203e53c2929c2ddf1b079ec077364f8f4d23c40
Merge: 09c2c02 67182ab
Author: Phil Hodgson <bitbucket at philhodgson.net>
Date:   Thu Sep 18 17:25:43 2014 -0400

    Merge branch 'master' into 3634-tab-state
    
    Conflicts:
    	apps/workbench/app/views/application/_content.html.erb

diff --cc apps/workbench/Gemfile.lock
index 34d126e,bdf3913..17239f6
--- a/apps/workbench/Gemfile.lock
+++ b/apps/workbench/Gemfile.lock
@@@ -231,9 -229,8 +231,9 @@@ PLATFORM
  DEPENDENCIES
    RedCloth
    andand
-   arvados (>= 0.1.20140910123800)
+   arvados (>= 0.1.20140917180103)
    bootstrap-sass (~> 3.1.0)
 +  bootstrap-tab-history-rails
    bootstrap-x-editable-rails
    capybara
    coffee-rails
diff --cc apps/workbench/app/views/application/_content.html.erb
index 05e6a01,8ec92bf..1fbbbeb
--- a/apps/workbench/app/views/application/_content.html.erb
+++ b/apps/workbench/app/views/application/_content.html.erb
@@@ -1,42 -1,40 +1,44 @@@
  <% content_for :tab_panes do %>
  
- <% comparable = controller.respond_to? :compare %>
+   <% comparable = controller.respond_to? :compare %>
  
- <ul class="nav nav-tabs">
-   <% pane_list.each_with_index do |pane, i| %>
-     <li class="<%= 'active' if i==0 %>">
-       <a href="#<%= pane %>" 
-          data-toggle="tab" 
-          id="<%= pane %>-tab" 
-          data-tab-history=true
-          data-pane-content-url="<%= url_for(params.merge(tab_pane: pane)) %>">
-         <%= pane.gsub('_', ' ') %>
-       </a>
-     </li>
-   <% end %>
- </ul>
- <div class="tab-content">
- <% pane_list.each_with_index do |pane, i| %>
-   <div id="<%= pane %>"
-        class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
- <% if controller.action_name == "index" %>
-        data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
- <% else %>
-        data-object-uuid="<%= @object.uuid %>"
- <% end %>
-   >
+   <ul class="nav nav-tabs" data-tab-counts-url="<%= url_for(action: :tab_counts) rescue '' %>">
+     <% pane_list.each_with_index do |pane, i| %>
+       <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
+       <li class="<%= 'active' if i==0 %>">
 -        <a href="#<%= pane_name %>" data-toggle="tab" id="<%= pane_name %>-tab" data-pane-content-url="<%= url_for(params.merge(tab_pane: pane_name)) %>">
++        <a href="#<%= pane_name %>"
++           data-toggle="tab"
++           id="<%= pane_name %>-tab"
++           data-tab-history=true
++           data-pane-content-url="<%= url_for(params.merge(tab_pane: pane_name)) %>">
+           <%= pane_name.gsub('_', ' ') %> <span id="<%= pane_name %>-count"></span>
+         </a>
+       </li>
+     <% end %>
+   </ul>
  
-     <div id="<%= pane %>-scroll" style="margin-top:0.5em;">
-       <div class="pane-content">
-         <% if i == 0 %>
-           <%= render_pane pane, to_string: true %>
-         <% else %>
-           <div class="spinner spinner-32px spinner-h-center"></div>
-         <% end %>
+   <div class="tab-content">
+     <% pane_list.each_with_index do |pane, i| %>
+       <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
+       <div id="<%= pane_name %>"
+            class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
+            <% if controller.action_name == "index" %>
+              data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
+            <% else %>
+              data-object-uuid="<%= @object.uuid %>"
+            <% end %>
+       >
+         <div id="<%= pane_name %>-scroll" style="margin-top:0.5em;">
+           <div class="pane-content">
+             <% if i == 0 %>
+               <%= render_pane pane_name, to_string: true %>
+             <% else %>
+               <div class="spinner spinner-32px spinner-h-center"></div>
+             <% end %>
+           </div>
+         </div>
        </div>
-     </div>
+     <% end %>
    </div>
- <% end %>
- </div>
  
  <% end %>

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list