{"id":33991007,"url":"https://github.com/crowdstar/svn-agent-host","last_synced_at":"2026-04-21T18:02:42.451Z","repository":{"id":56959507,"uuid":"129166359","full_name":"Crowdstar/svn-agent-host","owner":"Crowdstar","description":"A native messaging host to handle SVN commands received from specific Chrome extension.","archived":false,"fork":false,"pushed_at":"2024-06-04T20:34:52.000Z","size":213,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-14T18:43:07.129Z","etag":null,"topics":["chrome","native-messaging","native-messaging-host","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Crowdstar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-04-11T23:35:19.000Z","updated_at":"2023-12-29T21:01:23.000Z","dependencies_parsed_at":"2022-08-21T09:50:56.649Z","dependency_job_id":null,"html_url":"https://github.com/Crowdstar/svn-agent-host","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/Crowdstar/svn-agent-host","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crowdstar%2Fsvn-agent-host","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crowdstar%2Fsvn-agent-host/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crowdstar%2Fsvn-agent-host/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crowdstar%2Fsvn-agent-host/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Crowdstar","download_url":"https://codeload.github.com/Crowdstar/svn-agent-host/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crowdstar%2Fsvn-agent-host/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32103647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","native-messaging","native-messaging-host","php"],"created_at":"2025-12-13T06:36:28.617Z","updated_at":"2026-04-21T18:02:42.446Z","avatar_url":"https://github.com/Crowdstar.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/Crowdstar/svn-agent-host.svg?branch=master)](https://travis-ci.org/Crowdstar/svn-agent-host)\n[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/gd4g9vksc8m7e4ep?svg=true)](https://ci.appveyor.com/project/deminy/svn-agent-host)\n[![Latest Stable Version](https://poser.pugx.org/Crowdstar/svn-agent-host/v/stable.svg)](https://packagist.org/packages/crowdstar/svn-agent-host)\n[![Latest Unstable Version](https://poser.pugx.org/Crowdstar/svn-agent-host/v/unstable.svg)](https://packagist.org/packages/crowdstar/svn-agent-host)\n[![License](https://poser.pugx.org/Crowdstar/svn-agent-host/license)](https://packagist.org/packages/crowdstar/svn-agent-host)\n\nA native messaging host to handle SVN commands received from specific Chrome extension.\n\nThe host program is built for Mac and Linux. For Windows users, you may have the host program installed in Ubuntu or\nsome other Linux distribution through the _Windows Subsystem for Linux_.\n\nThis repository was for an internal project at [Glu Mobile](https://www.glu.com). We make part of the whole project open\nsource to share our experience on\n\n* writing [native messaging host](https://developer.chrome.com/apps/nativeMessaging#native-messaging-host) in PHP.\n* wrapping Subversion operations in PHP without using [the Subversion extension](http://php.net/manual/en/book.svn.php).\n\n# Run Tests\n\nWe use _Docker_ to setup our test environments. You may run unit tests, coding style checks, and other tests on\ndifferent versions of PHP and Subversion installations (prepared with _Docker_) using following commands:\n\n```bash\nPHP_VERSION=7.0    SVN_VERSION=1.8.19 ./bin/ci-on-linux.sh\nPHP_VERSION=7.1    SVN_VERSION=1.9.9  ./bin/ci-on-linux.sh\nPHP_VERSION=7.2    SVN_VERSION=1.10.3 ./bin/ci-on-linux.sh\nPHP_VERSION=7.3    SVN_VERSION=1.11.0 ./bin/ci-on-linux.sh\nPHP_VERSION=7.4    SVN_VERSION=1.13.0 ./bin/ci-on-linux.sh\n# or, more specifically:\nPHP_VERSION=7.1.19 SVN_VERSION=1.10.0 ./bin/ci-on-linux.sh\n```\n\nTo run unit tests with current PHP and Subversion installation on your box, just execute following commands directly:\n\n```bash\n./bin/ci-on-osx.sh\n```\n\n# Demo Code\n\nFollowing demo code shows how to communicate with the native message host from a Chrome extension.\n\n```javascript\n// content.js: a Content Script file.\nwindow.addEventListener(\n    \"message\",\n    function (event) {\n        chrome.runtime.sendMessage(\n            event.data,\n            function (response) {\n                console.log('response from the background script', response);\n            }\n        );\n    },\n    false\n);\nwindow.postMessage({action: \"create\", data: {\"path\": \"path/1\"}}, \"*\");\n\n// background.js: a Background Script file.\nchrome.runtime.onMessage.addListener(\n    function (request, sender, sendResponse) {\n        chrome.runtime.sendNativeMessage(\n            'com.glu.crowdstar.svnagent', // name of the native messaging host.\n            request,\n            function (response) {\n                console.log(\"response from the native messaging host: \", response);\n                // sendResponse(response);\n            }\n        );\n\n        return true;\n    }\n);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrowdstar%2Fsvn-agent-host","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrowdstar%2Fsvn-agent-host","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrowdstar%2Fsvn-agent-host/lists"}