Contribute to Open Source. Search issue labels to find the right project for you!

[REVIEW]: array_split: Multi-dimensional array partitioning

openjournals/joss-reviews

Submitting author: @Shane-J-Latham (<a href=“http://orcid.org/0000-0001-8033-4665”>Shane J. Latham</a>) Repository: <a href=“https://github.com/array-split/array_split” target =“_blank”>https://github.com/array-split/array_split</a> Version: 0.5.0 Editor: @arfon Reviewer: @dvalters Archive: Pending

Status

status

Status badge code:

HTML: <a href="http://joss.theoj.org/papers/4b59c7430176ef78c80c6a1100031eb6"><img src="http://joss.theoj.org/papers/4b59c7430176ef78c80c6a1100031eb6/status.svg"></a>
Markdown: [![status](http://joss.theoj.org/papers/4b59c7430176ef78c80c6a1100031eb6/status.svg)](http://joss.theoj.org/papers/4b59c7430176ef78c80c6a1100031eb6)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the <a href=“https://github.com/array-split/array_split” target=“_blank”>target repository</a> and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer questions

@dvalters, please carry out your review in this issue by updating the checklist below (please make sure you’re logged in to GitHub). The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @arfon know.

Conflict of interest

  • [ ] As the reviewer I confirm that there are no conflicts of interest for me to review this work (such as being a major contributor to the software).

Code of Conduct

General checks

  • [ ] Repository: Is the source code for this software available at the <a target=“_blank” href=“https://github.com/array-split/array_split”>repository url</a>?
  • [ ] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [ ] Version: Does the release version given match the GitHub release (0.5.0)?
  • [ ] Authorship: Has the submitting author (@Shane-J-Latham) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [ ] Installation: Does installation proceed as outlined in the documentation?
  • [ ] Functionality: Have the functional claims of the software been confirmed?
  • [ ] Performance: Have any performance claims of the software been confirmed?

Documentation

  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [ ] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [ ] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [ ] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [ ] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [ ] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
Updated 19/08/2017 11:10 1 Comments

[REVIEW]: Go-HEP: libraries for High Energy Physics analyses in Go

openjournals/joss-reviews

Submitting author: @sbinet (<a href=“http://orcid.org/0000-0003-4913-6104”>Sebastien Binet</a>) Repository: <a href=“https://github.com/go-hep/hep” target =“_blank”>https://github.com/go-hep/hep</a> Version: v0.4 Editor: @arfon Reviewer: @jpivarski Archive: Pending

Status

status

Status badge code:

HTML: <a href="http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971"><img src="http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971/status.svg"></a>
Markdown: [![status](http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971/status.svg)](http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the <a href=“https://github.com/go-hep/hep” target=“_blank”>target repository</a> and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer questions

@jpivarski, please carry out your review in this issue by updating the checklist below (please make sure you’re logged in to GitHub). The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @arfon know.

Conflict of interest

  • [ ] As the reviewer I confirm that there are no conflicts of interest for me to review this work (such as being a major contributor to the software).

Code of Conduct

General checks

  • [ ] Repository: Is the source code for this software available at the <a target=“_blank” href=“https://github.com/go-hep/hep”>repository url</a>?
  • [ ] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [ ] Version: Does the release version given match the GitHub release (v0.4)?
  • [ ] Authorship: Has the submitting author (@sbinet) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [ ] Installation: Does installation proceed as outlined in the documentation?
  • [ ] Functionality: Have the functional claims of the software been confirmed?
  • [ ] Performance: Have any performance claims of the software been confirmed?

Documentation

  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [ ] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [ ] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [ ] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [ ] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [ ] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
Updated 19/08/2017 23:53 3 Comments

During tombstone, trigger body deletion if previous body non-empty

couchbase/sync_gateway

Fixes regression to SG tombstone handling introduced in https://github.com/couchbase/sync_gateway/commit/db39d17b22a44420f5620d9e649d782e4a3650a3. After refactoring, was determining whether to delete the body based on the current document body, not the previous.

Previous unit tests weren’t validating empty document body after tombstone - added additional test (and included that test in integration suite).

Fixes #2827

Integration tests running: http://uberjenkins.sc.couchbase.com/view/Build/job/build-sync-gateway/225/ (xattr) http://uberjenkins.sc.couchbase.com/view/Build/job/build-sync-gateway/226/ (non-xattr)

Updated 19/08/2017 06:54

non-admin-auth

Erdiko/users
  • Created constants for LogsValidator attributes
  • Added alias getAnonymous in User model because it’s required by interface
  • Upgraded UserAjax controller
Updated 19/08/2017 01:05

[xattrs] test_document_resurrection and test_sg_sdk_interop_unique_docs failing with NotFoundError

couchbase/sync_gateway

Sync Gateway version

1.5.0-538

Operating system

CentOS7

Config file

{
    "out.stdout": {
        "adminInterface": "0.0.0.0:4985", 
        "cluster_config": {
            "bucket": "data-bucket", 
            "data_dir": ".", 
            "password": "password", 
            "server": "http://192.168.33.20:8091", 
            "username": "data-bucket"
        }, 
        "compressResponses": false, 
        "databases": {
            "db": {
                "bucket": "data-bucket", 
                "channel_index": {
                    "bucket": "index-bucket", 
                    "num_shards": 16, 
                    "password": "password", 
                    "server": "http://192.168.33.20:8091", 
                    "username": "index-bucket", 
                    "writer": true
                }, 
                "enable_shared_bucket_access": true, 
                "password": "password", 
                "server": "http://192.168.33.20:8091", 
                "username": "data-bucket"
            }
        }, 
        "interface": ":4984", 
        "log": [
            "CRUD+", 
            "Cache+", 
            "HTTP+", 
            "Changes+"
        ], 
        "maxCouchbaseConnections": 16, 
        "maxFileDescriptors": 90000, 
        "maxIncomingConnections": 0, 
        "slowServerCallWarningThreshold": 500
    }
}

Log output

http://uberjenkins.sc.couchbase.com:8080/job/cen7-sync-gateway-functional-tests-base-di/838/testReport/testsuites.syncgateway.functional.tests/test_crud/test_document_resurrection_sync_gateway_default_functional_tests_tombstone_/

Expected behavior

Test should pass

Actual behavior

Test fails trying to verify sdk deletes. Test passes without xattrs. ```

      verify_sdk_deletes(sdk_client, deleted_docs_to_verify)

testsuites/syncgateway/functional/tests/test_crud.py:180:

          sdk_client.get(doc_id)

E Failed: DID NOT RAISE <class ‘couchbase.exceptions.NotFoundError’> ```

Steps to reproduce

pytest -s -k test_document_resurrection --xattrs --ci --mode=di --server-version=5.0.0-3490 --sync-gateway-version=1.5.0-538 testsuites/syncgateway/functional/tests/

Updated 19/08/2017 06:52 1 Comments

Add experimental nio-transport plugin with http

elastic/elasticsearch

This commit adds an nio-transport plugin. It builds upon the nio transport work in test:framework. However, it adds http functionality. The http functionality is added by adapting a netty embedded channel. For now, the bulk of the nio networking and tcp transport will remain in test:framework. This allows it to be used as a tcp transport for internal clusters.

This plugin is unique in that it depends on test:framework for the nio work and the netty4 transport module for http (cors, pipeling, etc) handlers.

Updated 18/08/2017 21:33 1 Comments

Updating hello-world README

strongloop/loopback-next-hello-world

Description

Cleaning and updating of README.md

Related issues

  • connect to #499

Checklist

  • [ X] New tests added or existing tests modified to cover all changes (N/A for README)
  • [ X] Code conforms with the style guide

Questions

  • I don’t have coveralls account access, lmk how that can be updated & I’ll add it to this repo
  • suggestions for improvement welcome! I expect this will need changes as tests are added, components fleshed out, etc.
Updated 18/08/2017 20:40

Update Dashboards to Latest Version

elastic/apm-server

This PR updates the dashboards to the latest version. In this update the response time charts for TSVB use the new duration formatter instead of relying on a calculation. This also fixes a few broken links and changes the default index pattern to apm-server-*.

Updated 18/08/2017 18:17

[Site] Getting Started

mineral-ui/mineral-ui

<!– NOTE: We’re just getting started. While we appreciate any feedback, we’re not yet ready to accept public contributions.

Thank you for your contribution! Here’s a template to help you format your PR.

Your title should look like: [ComponentName] Clear, brief title using imperative tense For example: [Button] Add support for type=submit

For a PR to be considered, each item in the checklist must be checked. –>

Description

  • Add real content to Getting Started page
  • Add CodeBlock component

Motivation and context

<!– Why is this change required? What problem does it solve? If it fixes an open issue, please link to the issue here and auto-close them via commit messages: https://help.github.com/articles/closing-issues-via-commit-messages. –> People need to know how to get started, even if they don’t visit out GitHub repo.

Screenshots or videos, if appropriate

<!– To record and share a video: http://recordit.co/ –>

How to test

<!– Please describe the steps for reviewers to take to cover all facets of this feature. –>

  1. cd mineral-ui/packages/site && npm start
  2. It should redirect you to /getting-started (but that’s an issue with #275 if it doesn’t work), if not, navigate there
  3. Read the content

Types of changes

<!– What types of changes does your code introduce? Remove the lines below that are NOT applicable. Note: Whatever you choose here should match your commit messages. –> - New feature (non-breaking change which adds functionality)

Checklist

<!– Put an x in all the boxes that apply and are complete. If an item does not apply, put an x in it anyway and add “[n/a]” to the end of the line. If you’re unsure about any of these, don’t hesitate to ask. We’re here to help! –> * [x] Renders and functions properly in all supported browsers * [x] Automated tests written and passing * [x] Accessibility and inclusivity considered * [x] Rendering performance (initial load time & 60fps) and perceived performance considered * [x] Documentation created or updated * [x] Tested in sandbox if new component or breaking change [n/a]

<!– If any of the above need further details, you should include those here. –>

How does this PR make you feel?

<!– 1. Find a gif: http://giphy.com/categories/ 2. Click ‘Copy link’ 3. Copy the ‘GIF Link’, paste it in place of the URL below, and update the alt text –> Get started

Updated 18/08/2017 17:27

Support distance units in GeoHashGrid aggregation precision

elastic/elasticsearch

Currently the precision parameter must be a precision level in the range of [1,12]. In #5042 it was suggested also supporting distance units like “1km” to automatically approcimate the needed precision level. This change adds this support to the Rest API by making use of GeoUtils#geoHashLevelsForPrecision.

Plain integer values without a unit are still treated as precision levels like before. Distance values that are too small to be represented by a precision level of 12 (values approx. less than 0.056m) are rejected.

Closes #5042

Updated 18/08/2017 17:18

Clamp the centroid to stay within the box boundaries

elastic/kibana

If a document has two or more geo fields, then the centroid calculation will place the centroid in between the two geo fields. This can cause the centroid to be in the middle of nowhere so clamp it to keep it closer to where it should be.

I had filed a bug against elasticsearch (https://github.com/elastic/elasticsearch/issues/24694) but that was recently closed so I think the only work around is to clamp the value in Kibana.

Updated 18/08/2017 18:04 1 Comments

[Button]: Fix vertical alignment

mineral-ui/mineral-ui

<!– NOTE: We’re just getting started. While we appreciate any feedback, we’re not yet ready to accept public contributions.

Thank you for your contribution! Here’s a template to help you format your PR.

Your title should look like: [ComponentName] Clear, brief title using imperative tense For example: [Button] Add support for type=submit

For a PR to be considered, each item in the checklist must be checked. –>

Description

Add alignItems: 'center' to Button Inner styles, to ensure proper vertical alignment.

Motivation and context

<!– Why is this change required? What problem does it solve? If it fixes an open issue, please link to the issue here and auto-close them via commit messages: https://help.github.com/articles/closing-issues-via-commit-messages. –> Closes #253

Screenshots or videos, if appropriate

<!– To record and share a video: http://recordit.co/ –>

How to test

<!– Please describe the steps for reviewers to take to cover all facets of this feature. –>

  1. cd mineral-ui/packages/button && npm start
  2. Change the the icon size to small when the Button size is jumbo: js const iconSize = { // ... jumbo: 'small' };
  3. Confirm that alignment is correct.
  4. Remove the modification above.
  5. Confirm that alignment is correct.

Types of changes

<!– What types of changes does your code introduce? Remove the lines below that are NOT applicable. Note: Whatever you choose here should match your commit messages. –> - Bug fix (non-breaking change which fixes an issue)

Checklist

<!– Put an x in all the boxes that apply and are complete. If an item does not apply, put an x in it anyway and add “[n/a]” to the end of the line. If you’re unsure about any of these, don’t hesitate to ask. We’re here to help! –> * [x] Renders and functions properly in all supported browsers * [x] Automated tests written and passing * [x] Accessibility and inclusivity considered [n/a] * [x] Rendering performance (initial load time & 60fps) and perceived performance considered [n/a] * [x] Documentation created or updated [n/a] * [x] Tested in sandbox if new component or breaking change [n/a]

<!– If any of the above need further details, you should include those here. –>

How does this PR make you feel?

<!– 1. Find a gif: http://giphy.com/categories/ 2. Click ‘Copy link’ 3. Copy the ‘GIF Link’, paste it in place of the URL below, and update the alt text –> Centered

Updated 18/08/2017 15:14

Removes outdated apidoc build instructions, links to correct ones

cyberark/conjur

Closes #280

What does this pull request do?

Links in the “docs” readme to the top level readme, which contains instructions for building the API docs from source.

What background context can you provide?

We suggested three methods of building the apidocs, only one of which really works, so it makes sense to settle on that one alone.

Where should the reviewer start?

Changes in docs/README.md. See the correct instructions in the top-level README.md

How should this be manually tested?

Follow the link to the correct build instructions.

Updated 18/08/2017 14:43

Add ThreadPool constructor that accepts name as a String

elastic/elasticsearch

BulkProcessor needs a ThreadPool to be created, which needs settings that must contain a node.name setting. In a client, such setting makes little sense. This commit allows to create a ThreadPool by providing its name separately as a String, which will internally be added to the settings. TestThreadPool can be removed and replaced with the ordinary ThreadPool.

Closes #26028

Updated 18/08/2017 14:41

Add basic docs structure to agent

elastic/apm-agent-nodejs

This is the basic doc structure needed for the elastic docs build. For convenience I added a script that can be executed with npm run docs to build the docs locally to see if the doc build passes and how the docs will look like.

As soon as we have Jenkins added as CI we should also add a build step for npm run docs to make sure we do not break the doc build.

Updated 18/08/2017 14:08 2 Comments

[6.3] FIX API UI test_errata CDN repos

SatelliteQE/robottelo
(sat-6.3.0) dlezz@elysion:~/projects/robottelo-fork$ py.test -v tests/foreman/api/test_errata.py::ErrataTestCase::test_positive_get_applicable_for_host
================================================= test session starts ==================================================
platform linux2 -- Python 2.7.13, pytest-3.1.3, py-1.4.34, pluggy-0.4.0 -- /home/dlezz/.pyenv/versions/sat-6.3.0/bin/python2.7
cachedir: .cache
rootdir: /home/dlezz/projects/robottelo-fork, inifile:
plugins: xdist-1.15.0, services-1.2.1, mock-1.6.2, cov-2.4.0
collected 1 item 
2017-08-18 12:18:00 - conftest - DEBUG - Found WONTFIX in decorated tests ['1147100', '1269196', '1378009', '1245334', '1217635', '1226425', '1156555', '1311113', '1199150', '1204686', '1221971', '1103157', '1230902', '1230865', '1214312', '1079482']

2017-08-18 12:18:00 - conftest - DEBUG - Collected 1 test cases


tests/foreman/api/test_errata.py::ErrataTestCase::test_positive_get_applicable_for_host PASSED

================================================== 0 tests deselected ==================================================
============================================= 1 passed in 1108.28 seconds ==============================================
(sat-6.3.0) dlezz@elysion:~/projects/robottelo-fork$ py.test tests/foreman/ui/test_errata.py::ErrataTestCase -v -k "test_positive_show_count_on_chost_details_page or test_positive_show_count_on_chost_page"
================================================= test session starts ==================================================
platform linux2 -- Python 2.7.13, pytest-3.1.3, py-1.4.34, pluggy-0.4.0 -- /home/dlezz/.pyenv/versions/sat-6.3.0/bin/python2.7
cachedir: .cache
rootdir: /home/dlezz/projects/robottelo-fork, inifile:
plugins: xdist-1.15.0, services-1.2.1, mock-1.6.2, cov-2.4.0
collected 17 items 
2017-08-18 13:03:23 - conftest - DEBUG - Found WONTFIX in decorated tests ['1147100', '1269196', '1378009', '1245334', '1217635', '1226425', '1156555', '1311113', '1199150', '1204686', '1221971', '1103157', '1230902', '1230865', '1214312', '1079482']

2017-08-18 13:03:23 - conftest - DEBUG - Collected 17 test cases


tests/foreman/ui/test_errata.py::ErrataTestCase::test_positive_show_count_on_chost_details_page PASSED
tests/foreman/ui/test_errata.py::ErrataTestCase::test_positive_show_count_on_chost_page PASSED

================================================= 15 tests deselected ==================================================
====================================== 2 passed, 15 deselected in 2521.69 seconds ======================================
Updated 18/08/2017 15:28 1 Comments

Fix docs to have a valid doc build

elastic/apm-server

Run make docs didn’t work with the previous structure. I mainly fixed titles etc. to be a valid asciidoc format for our doc build. It is not the intention to fix the doc structure in this PR but being able to start with the doc build integration which requires a green doc build to start with.

Updated 18/08/2017 10:49

Added coverage for settings in UI

SatelliteQE/robottelo

Test results

pytest tests/foreman/ui/test_setting.py::SettingTestCase::test_positive_remove_
login_page_footer_text
========================================================== test session starts ==========================================================
collected 42 items

tests/foreman/ui/test_setting.py .

======================================================= 1 passed===================================================
pytest tests/foreman/ui/test_setting.py::SettingTestCase::test_positive_remove_
hostname_default_prefix
========================================================== test session starts ==========================================================
collected 42 items

tests/foreman/ui/test_setting.py .

======================================================= 1 passed===================================
pytest tests/foreman/ui/test_setting.py::SettingTestCase::test_positive_remove_
hostname_default_facts
========================================================== test session starts ==========================================================
collected 42 items

tests/foreman/ui/test_setting.py .

======================================================= 1 passed =======================================
Updated 18/08/2017 06:19 1 Comments

tq: teach Batch() API to retry itself after io.EOF's

git-lfs/git-lfs

This pull request resolves an issue pointed out by @larsxschneider and @terrorobe in https://github.com/git-lfs/git-lfs/issues/2314, wherein a mysterious io.EOF error would appear after issuing a batch API request.

An EOF can occur given the following conditions:

  1. LFS opens a HTTP connection to an LFS-compliant API server, with keep-alive.
  2. The LFS server, or a proxy fronting connections to it times out the connection between batch requests, an io.EOF will occur.

To address this, we treat io.EOF’s as unexpected, and retry the request until successful, or a non-io.EOF error is returned.

I’d like to discuss a few other potential improvements:

  • Adding an integration test for the io.EOF behavior: while researching this, I found net/http.Hijacker, a type that will allow us access to the TCP connection underlying a given net/http.(*Request) instance, but this is not implemented by net/http/httptest. I see a few alternatives: we could implement a custom listener that resolves this by embedding the net/tcp.(*Conn) in the request’s context. We could also write our own server that does implement http.Hijacker.
  • Should there be a limit to the number of times we retry batch requests? If so, should this be configurable, or a constant?
  • Should we retry all requests, or just batch API ones?

I would love recommendations on the above.

Closes: https://github.com/git-lfs/git-lfs/issues/2314.


/cc @git-lfs/core /cc @technoweenie @larsxschneider @terrorobe for specific thoughts

Updated 18/08/2017 15:16 2 Comments

locking: read SetLockableFilesReadOnly from OS/Git config

git-lfs/git-lfs

This pull request fixes a bug pointed out by @mrbobbyboberson in https://github.com/git-lfs/git-lfs/issues/2494:

But when we “git lfs unlock” a file that was previously locked, its readonly attribute is not set again, which leaves the file writeable (and robs us of the helpful reminder which files should be locked before edit).

This is because the following boolean was unset, and defaulted to its zero-value of false:

https://github.com/git-lfs/git-lfs/blob/621d1f821f73efcedc829dda43fd9c1fcf07c6ab/locking/locks.go#L131-L134

This is because we do not currently assign this to the value of config.(*Configuration). SetLockableFilesReadOnly(). This pull requests does that, and adds tests to guard against any regressions here.

Closes: https://github.com/git-lfs/git-lfs/issues/2494.


/cc @git-lfs/core /cc @mrbobbybobberson

Updated 18/08/2017 00:06

Add api testing based on Dredd

strongloop/loopback-next-hello-world

Description

Related issues

<!– Please use the following link syntaxes:

  • connect to https://github.com/strongloop/loopback-next/issues/472 –>

  • connect to https://github.com/strongloop/loopback-next/issues/472

Checklist

<!– - Please mark your choice with an “x” (i.e. [x], see https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments) - PR’s without test coverage will be closed. –>

  • [x] New tests added or existing tests modified to cover all changes
  • [x] Code conforms with the style guide
Updated 19/08/2017 15:47 4 Comments

Remove CLI deploy from release:semantic

mineral-ui/mineral-ui

<!– NOTE: We’re just getting started. While we appreciate any feedback, we’re not yet ready to accept public contributions.

Thank you for your contribution! Here’s a template to help you format your PR.

Your title should look like: [ComponentName] Clear, brief title using imperative tense For example: [Button] Add support for type=submit

For a PR to be considered, each item in the checklist must be checked. –>

Description

<!– Describe your changes in detail –> With the switch to Netlify, we no longer need to manually deploy the site after release via the CLI. Instead, Netlify’s continuous deployment will automatically deploy when the chore(publish) commit is merged into master.

Motivation and context

<!– Why is this change required? What problem does it solve? If it fixes an open issue, please link to the issue here and auto-close them via commit messages: https://help.github.com/articles/closing-issues-via-commit-messages. –> It’s wasteful to deploy the same thing twice. Also, authentication can be an issue for the CLI deploy.

How to test

<!– Please describe the steps for reviewers to take to cover all facets of this feature. –>

  1. cd mineral-ui && npm run release:semantic
  2. Step through options
  3. Confirm that netlify deploy never runs
  4. Confirm that the site still deployed via continuous deployment

Types of changes

<!– What types of changes does your code introduce? Remove the lines below that are NOT applicable. Note: Whatever you choose here should match your commit messages. –> - Other (provide details below)

Build-related

Checklist

<!– Put an x in all the boxes that apply and are complete. If an item does not apply, put an x in it anyway and add “[n/a]” to the end of the line. If you’re unsure about any of these, don’t hesitate to ask. We’re here to help! –> * [x] Renders and functions properly in all supported browsers [n/a] * [x] Automated tests written and passing * [x] Accessibility and inclusivity considered [n/a] * [x] Rendering performance (initial load time & 60fps) and perceived performance considered [n/a] * [x] Documentation created or updated [n/a] * [x] Tested in sandbox if new component or breaking change [n/a]

<!– If any of the above need further details, you should include those here. –>

How does this PR make you feel?

<!– 1. Find a gif: http://giphy.com/categories/ 2. Click ‘Copy link’ 3. Copy the ‘GIF Link’, paste it in place of the URL below, and update the alt text –> Facepalm

Updated 17/08/2017 15:44

[REVIEW]: Production Function Estimation in R: The prodest Package

openjournals/joss-reviews

Submitting author: @GabrieleRovigatti (<a href=“http://orcid.org/0000-0003-4021-3070”>Gabriele Rovigatti</a>) Repository: <a href=“https://github.com/GabrieleRovigatti/prodest/tree/master/prodest” target =“_blank”>https://github.com/GabrieleRovigatti/prodest/tree/master/prodest</a> Version: v0.1.1 Editor: @leeper Reviewer: @sebastianbarfort Archive: Pending

Status

status

Status badge code:

HTML: <a href="http://joss.theoj.org/papers/fd6b1f48e1f78d1a06f8d6f40cbfc987"><img src="http://joss.theoj.org/papers/fd6b1f48e1f78d1a06f8d6f40cbfc987/status.svg"></a>
Markdown: [![status](http://joss.theoj.org/papers/fd6b1f48e1f78d1a06f8d6f40cbfc987/status.svg)](http://joss.theoj.org/papers/fd6b1f48e1f78d1a06f8d6f40cbfc987)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the <a href=“https://github.com/GabrieleRovigatti/prodest/tree/master/prodest” target=“_blank”>target repository</a> and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer questions

@sebastianbarfort, please carry out your review in this issue by updating the checklist below (please make sure you’re logged in to GitHub). The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @leeper know.

Conflict of interest

  • [ ] As the reviewer I confirm that there are no conflicts of interest for me to review this work (such as being a major contributor to the software).

Code of Conduct

General checks

  • [ ] Repository: Is the source code for this software available at the <a target=“_blank” href=“https://github.com/GabrieleRovigatti/prodest/tree/master/prodest”>repository url</a>?
  • [ ] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [ ] Version: Does the release version given match the GitHub release (v0.1.1)?
  • [ ] Authorship: Has the submitting author (@GabrieleRovigatti) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [ ] Installation: Does installation proceed as outlined in the documentation?
  • [ ] Functionality: Have the functional claims of the software been confirmed?
  • [ ] Performance: Have any performance claims of the software been confirmed?

Documentation

  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [ ] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [ ] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [ ] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [ ] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [ ] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
Updated 17/08/2017 13:22 1 Comments

[6.3] FIX test_installer flags

SatelliteQE/robottelo

this test failed with missing and added options ```

      set(extract_params(stdout or []))

E AssertionError: Items in the first set but not the second: E u'–certs-server-ca-name' E u'–certs-org-unit' E u'–foreman-loggers' E u'-d' E u'–katello-num-pulp-workers' E u'–certs-org' E u'–katello-user-groups' E u'–foreman-version' E u'–foreman-ipa-manage-sssd' E u'–foreman-server-ssl-cert' E u'–foreman-repo' E u'–foreman-ssl' E u'–foreman-db-sslmode' E u'–certs-ca-common-name' E u'–foreman-db-password' E u'–foreman-passenger-interface' E u'–capsule-parent-fqdn' E u'–katello-oauth-secret' E u'–foreman-vhost-priority' E u'–foreman-oauth-map-users' E u'–certs-ssl-build-dir' E u'–foreman-oauth-consumer-secret' E u'–foreman-http-keytab' E u'–foreman-server-ssl-port' E u'–foreman-db-host' E u'–certs-user' E u'–foreman-websockets-ssl-key' E u'–foreman-unattended' E u'–foreman-server-port' E u'–foreman-db-username' E u'–foreman-db-port' E u'–foreman-authentication' E u'–certs-generate' E u'–foreman-db-adapter' E u'–foreman-websockets-ssl-cert' E u'–foreman-configure-epel-repo' E u'–foreman-manage-user' E u'–foreman-keepalive-timeout' E u'–certs-default-ca-name' E u'–foreman-websockets-encrypt' E u'–certs-deploy' E u'–foreman-passenger-min-instances' E u'–foreman-selinux' E u'–foreman-plugin-version' E u'–foreman-passenger-prestart' E u'–foreman-server-ssl-key' E u'–katello-cdn-ssl-version' E u'–foreman-puppet-home' E u'–katello-log-dir' E u'–foreman-passenger-start-timeout' E u'–capsule-enable-ostree' E u'–certs-city' E u'–foreman-puppet-ssldir' E u'–katello-package-names' E u'–foreman-group' E u'–foreman-db-pool' E u'–certs-state' E u'–foreman-passenger' E u'–foreman-db-database' E u'–foreman-keepalive' E u'–foreman-server-ssl-certs-dir' E u'–foreman-serveraliases' E u'–foreman-pam-service' E u'–foreman-passenger-ruby-package' E u'–foreman-servername' E u'–certs-pki-dir' E u'–katello-group' E u'–foreman-client-ssl-ca' E u'–foreman-server-ssl-chain' E u'–foreman-user-groups' E u'–foreman-configure-scl-repo' E u'–foreman-max-keepalive-requests' E u'–foreman-rails-env' E u'–certs-ca-expiration' E u'–foreman-logging-level' E u'–katello-user' E u'–foreman-oauth-consumer-key' E u'–foreman-client-ssl-key' E u'–foreman-email-conf' E u'–certs-regenerate-ca' E u'–foreman-foreman-url' E u'–capsule-certs-tar' E u'–foreman-use-vhost' E u'–foreman-email-source' E u'–foreman-custom-repo' E u'–katello-config-dir' E u'–[no-]enable-capsule' E u'–certs-expiration' E u'–foreman-passenger-ruby' E u'–certs-country' E u'–certs-group' E u'–foreman-server-ssl-ca' E u'–foreman-app-root' E u'–capsule-puppet-ca-proxy' E u'–capsule-puppet-server-implementation' E u'–katello-max-keep-alive' E u'–katello-oauth-key' E u'–katello-post-sync-token' E u'–foreman-oauth-active' E u'–foreman-client-ssl-cert' E u'–foreman-gpgcheck' E u'–certs-regenerate' E u'–foreman-plugin-prefix' E u'–foreman-user' E u'–foreman-server-ssl-crl' E u'–capsule-puppet' E u'–certs-log-dir' E Items in the second set but not the first: E u'–foreman-cli-username' E u'–puppet-dns-alt-names' E u'–[no-]enable-foreman-compute-vmware' E u'–foreman-proxy-content-enable-ostree' E u'–foreman-compute-ec2-version' E u'–puppet-syslogfacility' E u'–foreman-compute-ovirt-version' E u'–foreman-proxy-puppet-api-timeout' E u'–certs-cname' E u'–puppet-module-repository' E u'–puppet-autosign' E u'–puppet-manage-packages' E u'–puppet-ssldir' E u'–puppet-sharedir' E u'–puppet-listen-to' E u'–puppet-port' E u'–foreman-proxy-freeipa-config' E u'–[no-]enable-foreman-compute-ec2' E u'–puppet-version' E u'–[no-]enable-foreman-compute-ovirt' E u'–puppet-pluginsync' E u'–foreman-proxy-content-certs-tar' E u'–puppet-cron-cmd' E u'–foreman-proxy-use-sudoers' E u'–foreman-cli-foreman-url' E u'–puppet-rundir' E u'–puppet-main-template' E u'–puppet-usecacheonfailure' E u'–puppet-use-srv-records' E u'–certs-reset' E u'–puppet-ca-server' E u'–puppet-ca-crl-filepath' E u'–puppet-hiera-config' E u'–foreman-compute-libvirt-version' E u'–[no-]enable-puppet' E u'–puppet-autosign-entries' E u'–foreman-proxy-groups' E u'–puppet-splaylimit' E u'–puppet-show-diff' E u'–[no-]enable-foreman-compute-openstack' E u'–foreman-compute-gce-version' E u'–puppet-auth-template' E u'–[no-]enable-foreman-compute-libvirt' E u'–foreman-proxy-realm-split-config-files' E u'–puppet-configtimeout' E u'–foreman-compute-openstack-version' E u'–[no-]parser-cache' E u'–[no-]enable-foreman-proxy-content' E u'–puppet-ca-port' E u'–puppet-srv-domain' E u'–puppet-listen' E u'–[no-]enable-foreman-plugin-templates' E u'–foreman-compute-rackspace-version' E u'–puppet-systemd-cmd' E u'–puppet-pluginfactsource' E u'–foreman-proxy-content-parent-fqdn' E u'–foreman-compute-vmware-version' E u'–puppet-runinterval' E u'–puppet-autosign-mode' E u'–[no-]enable-foreman-compute-gce' E u'–[no-]enable-foreman-plugin-docker' E u'–puppet-dir' E u'–foreman-cli-password' E u'–foreman-proxy-dhcp-pxeserver' E u'–puppet-package-provider' E u'–puppet-codedir' E u'–katello-pulp-max-speed' E u'–[no-]enable-foreman-compute-rackspace' E u'–puppet-splay' E u'–[no-]enable-foreman-plugin-hooks' E u'–puppet-autosign-content' E u'–foreman-proxy-plugin-remote-execution-ssh-install-key' E u'–puppet-package-source' E u'–puppet-pluginsource' E u'–puppet-runmode' E u'–puppet-group' E u'–disable-resolve-mismatches' E u'–puppet-classfile' E u'–[no-]enable-foreman-cli' E u'–puppet-logdir' E u'–puppet-vardir' E u'–puppet-additional-settings' E u'–puppet-unavailable-runmodes' E u'–puppet-user' ```

(sat-6.3.0) dlezz@elysion:~/projects/robottelo-fork$ py.test -v tests/foreman/installer/test_installer.py
================================================= test session starts ==================================================
platform linux2 -- Python 2.7.13, pytest-3.1.3, py-1.4.34, pluggy-0.4.0 -- /home/dlezz/.pyenv/versions/sat-6.3.0/bin/python2.7
cachedir: .cache
rootdir: /home/dlezz/projects/robottelo-fork, inifile:
plugins: xdist-1.15.0, services-1.2.1, mock-1.6.2, cov-2.4.0
collected 4 items 
2017-08-17 12:29:08 - conftest - DEBUG - Found WONTFIX in decorated tests ['1147100', '1269196', '1378009', '1245334', '1217635', '1226425', '1156555', '1311113', '1199150', '1204686', '1221971', '1103157', '1230902', '1230865', '1214312', '1079482']

2017-08-17 12:29:08 - conftest - DEBUG - Collected 4 test cases


tests/foreman/installer/test_installer.py::SELinuxTestCase::test_positive_check_installer_logfile PASSED
tests/foreman/installer/test_installer.py::SELinuxTestCase::test_positive_check_installer_services PASSED
tests/foreman/installer/test_installer.py::SELinuxTestCase::test_positive_foreman_module PASSED
tests/foreman/installer/test_installer.py::InstallerParamsTestCase::test_installer_options_and_flags PASSED

================================================== 0 tests deselected ==================================================
============================================== 4 passed in 88.89 seconds ===============================================
Updated 18/08/2017 12:26 1 Comments

Support for NFC login

commercetools/commercetools-sunrise-ios

The code for this feature relies on changes from https://github.com/commercetools/commercetools-ios-sdk/commit/d93cf4ff37629d1f655a92ab166f5b67b449f0e2 .

The current implementation reads the email address stored in the NFC tag, and attempts to log in if there’s a refreshToken for that particular user stored locally, on the device’s keychain. If not, it will prompt for the password, only the first time.

Since the iOS SDK doesn’t allow direct access to tokens, I had to make those changes, which are not going to be merged to master at this moment, but if we identify this is a use case we’d like to fully support, I’d do a bit more thinking on the cleanest way to achieve this functionality.

Updated 17/08/2017 09:13

Upgrade Angular to 1.6.5

elastic/kibana

Closes #13439

The full list of changes between angular 1.4.7 and 1.6.5 is available at https://github.com/angular/angular.js/blob/master/CHANGELOG.md, but I found it impossible to grok. This is a condensed versions of that list that combines everything from the relevant versions, removes changes to features that were added in angular 1.5, and strips examples so it is more skimmable.

angular core

Services

  • modules loader
    • decorator providers are now executed in config phase
  • $q
    • errors thrown in resolve/reject handlers will not call $exceptionHandler()
    • Unhandled rejected promises will call $exceptionHandler()
    • (☆^ー^☆)
  • $parse
    • $locals can now be used to access all local values, use $locals.$locals to get previous values with the same name
  • $http
    • success() and error() callbacks removed
    • JSON_CALLBACK placeholder no longer supported
    • JSONP requests now require trusted resource URLs
    • $browser.outstandingRequestCount is now updated synchronously
  • $compile
    • correctly merge consecutive text nodes on IE11
    • throw “nodomevents” error at compile time rather than link when using interpolation in on...* event handler attributes
    • href attribute on <link> is now checked as RESOURCE_URL by $sce
    • white-space in attributes is no longer trimmed
  • $location
    • default hashPrefix is now ! but Kibana overrides it to be empty
  • $resource
    • Using a promise as timeout is no longer supported (and never worked)
    • all non-inheritted properties of params objects will be used as query parameters
      • Foo.get({id: 42, bar: 'baz', toString: 'hmm'}); previously created bar=baz but now bar=baz&toString=hmm
    • ; is no longer url encoded

Directives

  • bindToController: true
    • binding values from scope to the controller instance now happens right after the controller’s constructor runs. See “InitAfterBindingsWorkaround” below for more details
  • ng-model
    • synchronous validators with “falsy” (0, null, NaN, etc.) result mark model invalid
    • controllers use prototype methods, methods must be called with correct context
    • ngModelController.$options no longer has the options as properties, use ngModelController.$options.getOption(name)
    • add support for [type=range]
      • model value is now a number, previously string
      • min/max attributes needed
      • validated
    • [type=number] now validates step or ng-step
  • ng-transclude
    • use fallback content if only whitespace is provided
  • ng-bind and $interpolate
    • Support custom toString() function when converting values to strings
    • new algorithm:
      • use "" if value is null or undefined
      • use special formatter if value is an array, number, or Date object
      • use JSON.stringify(value) if value.toString is Object.prototype.toString
      • use value.toString()
  • <select ng-options>
    • falsy groups in are now their own groups, use undefined to remove from a group
    • errors if used on <select> without ng-model
  • <option ng-value>
    • type of value is not encoded in value attribute
      • <option ng-value="myString"> becomes <option ng-value="myString" value="string:myString">.
    • only convert text content to value attribute when used within <select ng-model>
  • <input type="radio">
    • checked status is now determined by strict comparison === of value and ngModel.$viewValue.

InitAfterBindingsWorkaround

Introduced with Angular’s new component lifecycle support; directives or components using bindToController: true will no longer be able to see the bindings on the controller instance until after the constructor has completed. Identifying the components that this effects is pretty straight forward, but we can’t safely start consuming the bindings asynchronously without using the new lifecycle methods. These new methods are supposed to be used in a certain way though, and I personally don’t want to introduce them to our codebase until we are ready to use them correctly.

Instead I’ve created ui/compat which exposes to helpers for working around this breaking change, which we can remove once we have migrated all of the affected components to use the new lifecycle:

<dl> <dt><code>import { InitAfterBindingsWorkaround } from ‘ui/compat’</code></dt> <dd>If your directive’s controller is using the <code>class</code> keyword then <code>extend</code> this class and rename your <code>constructor(…)</code> to <code>initAfterBindings(…)</code>.</dd> <dt><code>import { callAfterBindingsWorkaround } from ‘ui/compat’</code></dt> <dd>If your directive’s controller is using <code>function() {}</code> syntax then wrap the function with a call to this helper - <a href=“https://github.com/spalger/kibana/blob/c51114bbb05146c8e2a46234abeb6a5e574556a8/src/core_plugins/kibana/public/context/app.js#L32”>example</a> </dd> </dl>

Filters

  • orderBy filter
    • collections must be array-like, null, or undefined. Other values will now throw an error

ngSanitize

  • $sanitize
    • removes svg
    • removes usemap attribute
    • removes <use> tags
  • linky filter
    • throws a better error when passed a non-string

ngRoute

  • $scope.$resolve exposes route resolve values to ng-view, set route.resolveAs to change its local name
  • allow ngView to be included in an asynchronously loaded template
  • routes with redirectTo no longer instantiate controllers or call resolves
  • if redirectTo is a function and throws an Error fire a $routeChangeError event

ngMock

  • trigger digest in $httpBackend.verifyNoOutstandingRequest()
  • fail if undefined is provided as url argument

These modules are not enabled by default in Kibana but might have relevant breaking changes to plugin developers

  • ngAria
    • Where appropriate, ngAria now applies ARIA to custom controls only, not native inputs
    • don’t add role attribute to native control elements
    • aria-multiline no longer supported on textareas
    • ng-click binds to keydown instead of keypress
    • default ngModel.$isEmpty() is now used, undefined, null, NaN and '' are now “empty”
  • ngTouch
    • ng-click override is deprecated and disabled by default. Use FastClick instead
  • ngMessage
    • ng-message directive priority is now 1, directives on the same element might be affected
Updated 19/08/2017 02:43 2 Comments

Add codeowners

strongloop/loopback-next

Add CODEOWNERS for automatically requests reviews from code owners Connect to: https://github.com/strongloop/loopback-next/issues/517

The codeowners are derived from looking at the committers of a few selected files for each package, so this may not be accurate. It would be great if @bajtos and/or @raymondfeng could review this.

Updated 17/08/2017 01:23

Improve timelion accessibility

elastic/kibana

This pull requests improves the accessibility of timelion:

  • Improves accessibility of timelion interval picker (read out the actual unit instead of the abbr)
  • Make everything keyboard accessible that needs to be
  • Fix broken form labels
  • Make the auto completion accessible and prevent keyboard trap (see below)
  • Bonus: Make <kbd>Ctrl</kbd> + <kbd>Enter</kbd> work as described in the documentation

To create a proper accessible auto completion and prevent the tab key to be trapped in the input box while auto completion is shown I changed the behavior a bit. The auto completion dialog will now open without anything selected. So you have to press an arrow key first to select an entry in the list. While no entry is selected, you can press <kbd>Tab</kbd> and it will focus the next element. As soon as an entry is selected <kbd>Tab</kbd> will autocomplete this (but I don’t think this would be an a11y issue, since the user actively selected a suggestion beforehand). <kbd>Enter</kbd> works the same as before.

~Also I added lots of ARIA attributes, to best describe the functionality of the auto completion to an assistive technology. NVDA on windows let’s you also now correctly chose an entry and reads that out. VoiceOver unfortunately seems to lack support for that combination (I guess mostly for aria-activedescendant), but it will just ignore the auto completion.~

The current state is like suggested in ARIA 1.1 spec and doesn’t work with NVDA, but only works with VoiceOver at the moment. It also requires some quirks to get it working properly (e.g. the role="textbox" on an element, that has that role by default).

If anyone has the time to try out the behavior (with a screen reader) I would be very glad (looking at @aphelionz and @cjcenizal :D).

Fixes #11533, #11525, #11844, #12246, #12486, #12487, #12907, #12908, #12909,

Updated 17/08/2017 21:54 2 Comments

Facebook page continuous loading and blinking in app

Xtraball/SiberianCMS

Hi People of Siberia,

Has anyone experienced this problem? When you add a facebook page and view it from the app, it keeps blinking and loading continuously.

This is a bug. Please any help to fix this will be appreciated.

Here’s a video link to see how the facebook page displays/loads continuously. https://s.nimbus.everhelper.me/share/1065637/ibm05dxwezf07qeykkdn

Thanks

Updated 16/08/2017 14:23 1 Comments

multiple CBS URLs in configs

couchbaselabs/couchbase-mobile-portal

changes:

  • callout on whatsnew page.
  • document server prop in SG config.
  • document server prop for data and channel buckets in SGA config.

relates to https://github.com/couchbase/sync_gateway/issues/1019, https://github.com/couchbase/sync_gateway/issues/942 fix https://github.com/couchbaselabs/couchbase-mobile-portal/issues/791

Updated 17/08/2017 19:05 3 Comments

commands: teach 'delay' capability to `git-lfs-filter-process(1)`

git-lfs/git-lfs

This pull requests teaches the git-lfs-filter-process(1) command the ‘delay’ capability that was proposed by @larsxschneider in https://github.com/git-lfs/git-lfs/issues/1632#issuecomment-259756814 and added to Git in https://github.com/git/git/commit/51b8aecabed1363f13c990320a50e1fb2aa3f696.

This implementation allows the process filter to respond with a status=delayed when asked to smudge the contents of a file that it does not already have in the local .git/lfs/objects cache.

If any items were delayed, Git will later ask for blobs that were available with the list_available_blobs command, which Git LFS will either respond with the immediately available blobs, wait until at least one becomes available, or respond with an empty set indicating that the transfer is complete.

To implement this, I added a new delayedSmudge helper function, which behaves the same way as smudge(), but instead adds the pointer to *tq.TransferQueue given as an argument.

Here are some benchmarks when running git clone on GitHub.com and a local copy of GitHub:

lfs.concurrenttransfers=1 ...=3 ...=8 ...=16 ...=32
v2.13.2
github.com 29.2297 - - - -
github.dev 18.4657 - - - -
v2.14.1.next
github.com 45.6183 28.6867 14.9877 13.8893 13.7767
github.dev 9.02767 7.41867 7.70833 7.33933 7.71067

For a delta of:

lfs.concurrenttransfers=1 ...=3 ...=8 ...=16 ...=32
github.com -43.3866 0.543 14.242 15.3404 15.453
github.dev 9.43803 11.04703 10.75737 11.12637 10.75503

Excluding outliers:

v2.13.2 v2.14.1.next delta delta %
github.com 29.2297 17.8351 11.4s faster 164% faster
github.dev 18.4657 7.840934 10.6s faster 236% faster

There were three big performance changes that impact this improvement:

  1. https://github.com/git-lfs/git-lfs/pull/2483: Infinitely buffering the tq.(*TransferQueue).Add() function, which allows the TransferQueue to accept new items sent by Git, instead of waiting until the first batch of items were transferred.
  2. https://github.com/git-lfs/git-lfs/pull/2506: Increasing the default number of concurrently running transfers from 3 to 8 allows LFS to take advantage of more network bandwidth and process items faster.
  3. Not blocking on list_available_blobs until tq.Wait() returns. Instead, read from tq.Watch() until a read becomes blocking (via select { case <-tq.Wait(): ... default: }. This allows Git to perform the checkout while the tq.(*TransferQueue) is still transferring items.

Following this, I’d like to deprecate the git lfs clone command, since git clone is now as fast or faster than git lfs clone as of the latest tip of git.git.

EDIT: the each number is the average of 5 runs of a given command, with the outliers removed. The benchmark command is written as: benchmark.sh. The average-timings command is written as: average-timings.sh.

Closes: https://github.com/git-lfs/git-lfs/issues/2466.


/cc @git-lfs/core /cc @larsxschneider

Updated 17/08/2017 21:48

Fork me on GitHub