π A SVN Log Polling mechanism for NodeJS.
$ npm install --save svn-polling or
$ yarn add svn-polling You need to have the svn command installed.
const SvnPolling = require('svn-polling'); const polling = new SvnPolling({ remoteUrl: 'svn://your-svn-project-url.com/code/trunk' }); // Will be called as soon as new changes are commited into the repository polling.on('data', (data) => { console.log(data); }); // Start polling from svn log history polling.start();Result:
{ "revision": 2, "logs": [ { "revision": "1", "author": "marcobarcelos", "date": "2017-01-05T03:29:42.036677Z", "msg": "Add index.js", "changes": [ { "action": "A", "path": "/index.js" } ] }, { "revision": "2", "author": "marcobarcelos", "date": "2017-01-05T03:30:20.881618Z", "msg": "Add readme.md", "changes": [ { "action": "A", "path": "/readme.md" } ] } ] }You can configure some options by passing it into the constructor:
const options = { remoteUrl: 'svn://your-svn-project-url.com/code/trunk', pollInterval: 1000, logsLimit: 10, username: 'marcobarcelos', password: 'ultrasecret' }; const polling = new SvnPolling(options);Type: string
The remote repository's url.
Type: number
Default: 15000
The interval between a svn log history fetch and another.
Type: number
Default: 5
How many logs/commits to retrieve by the first time.
Type: string
Optional (in case authentication is not required or is already saved)
The svn user's username.
Type: string
Optional (in case authentication is not required or is already saved)
The svn user's password.
MIT Β© Marco Barcelos