๐ 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