q-svn-spawn

0.0.8 • Public • Published

q-svn-spawn Build Status Dependency Status NPM version

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 GPL-3.0+

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/>.

Package Sidebar

Install

npm i q-svn-spawn

Weekly Downloads

0

Version

0.0.8

License

GPL-3.0+

Last publish

Collaborators

  • muchweb