q-svn-spawn
v0.0.8
Published
Wrapper for svn-spawn that make use of Q promises
Downloads
4
Readme
q-svn-spawn
Wrapper for @ddliu's svn-spawn that makes use of Q promises; an easy way to access SVN repository with node.js.
Features
- Easy to use
- Fast way to add local changes
- Query SVN infomation as array or object
- Common SVN commands are all supported
Usage
Create an SVN client instance
var QSVNSpawn = require('q-svn-spawn'),
client = new QSVNSpawn({
// Path to your SVN working directory
cwd: '/bar',
// Optional, authentication not required if already saved
username: 'username',
password: 'password',
});
svn update
client.update().done(function (data) {
console.log('Updated');
});
svn info
client.getInfo().done(function (data) {
console.log('Repository url is %s', data.url);
});
svn commit
Make some changes and commit all changed files
console.log('Adding local changes to commit');
client.addLocal()
.then(function () {
console.log('Committing to repository');
return client.commit('commit message here');
})
.done(function () {
console.log('Local changes has been committed!');
});
or only single changed file
client.add('relative/path/to/file')
.then(function () {
return client.commit(['commit message here', 'relative/path/to/file']);
})
.done(function (data) {
console.log('Committed one file!', data);
});
Any other command
client.cmd(['subcommand', '--option1=xx', '--option2=xx', 'arg1', 'arg2']).done(function (data) {
console.log('Subcommand done');
});
Return objects
Please refer to svn-spawn documentation.
Requirements
You need to have command line svn
installed (installation inscructions).
Installation
npm install q-svn-spawn
Testing
Requires nodeunit
installed globally.
npm test
License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.