GithubHelp home page GithubHelp logo

418sec / node-svn-ultimate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from peteward44/node-svn-ultimate

0.0 2.0 1.0 82 KB

The ultimate SVN wrapper for node. Contains all the basic methods checkout, update, info, etc, and includes svnmucc support

License: MIT License

JavaScript 100.00%

node-svn-ultimate's Introduction

node-svn-ultimate

This project is no longer maintained

The ultimate SVN wrapper for node. Contains all the methods exposed by the command line svn tool, including checkout, update, info, etc, and includes svnmucc support.

Has methods for manipulating both working copies and the repo directly.

All direct svn command line functions are exposed through the commands object, and accept the same parameters as the command line tool.

Utility methods are provided through a util object.

npm install node-svn-ultimate --save

Example usage

var svnUltimate = require('node-svn-ultimate');

svnUltimate.commands.checkout( 'https://my.url/svn/repo', '/home/user/checkout', function( err ) {
	console.log( "Checkout complete" );
} );

svnUltimate.commands.update( '/home/user/checkout',
	{	// optional options object - can be passed to any command not just update
		trustServerCert: true,	// same as --trust-server-cert
		username: "username",	// same as --username
		password: "password",	// same as --password
		shell: "sh", 			// override shell used to execute command
		cwd: process.cwd(),		// override working directory command is executed
		quiet: true,			// provide --quiet to commands that accept it
		force: true,			// provide --force to commands that accept it
		revision: 33050,		// provide --revision to commands that accept it
		depth: "empty",			// provide --depth to commands that accept it
		ignoreExternals: true,	// provide --ignore-externals to commands that accept it
		params: [ '-m "Commit comment"' ], // extra parameters to pass
		'config-option': [
			'servers:global:http-proxy-host=proxy.someProxy.com',
			'servers:global:http-proxy-port=8080',
		] // provide --config-option to commands that accept it.  Use an array for multiple config options
	},
	function( err ) {
		console.log( "Update complete" );
	} );

Utility methods

// Gets the working copy revision or the HEAD revision if the target is a URL
svnUltimate.util.getRevision( 'https://my.url/svn/repo', function( err, revision ) {
	console.log( "Head revision=" + revision );
} );

var obj = svnUltimate.util.parseUrl( 'https://my.url/svn/repo/trunk' );
// this call will return an object comprising of
obj = {
	rootUrl: 'https://my.url/svn/repo',
	type: 'trunk', // either trunk, tags, or branches
	typeName: '1.3.5' // only populated if a tag or a branch, name of the tag or branch
	trunkUrl: 'https://my.url/svn/repo/trunk',
	tagsUrl: 'https://my.url/svn/repo/tags',
	branchesUrl: 'https://my.url/svn/repo/branches'
};


svnUltimate.util.getTags( 'https://my.url/svn/repo/trunk', function( err, tagsArray ) {
	// tagsArray will be an array of strings containing all tag names
} );

svnUltimate.util.getLatestTag( 'https://my.url/svn/repo/trunk', function( err, latestTag ) {
	// latestTag will be the most recent tag, worked out by semver comparison (not the date it was created)
} );

Methods

commands : object

Exposes the commands for the command line svn tool.

util : object

Exposes some custom utility methods

commands : object

Exposes the commands for the command line svn tool.

Kind: global namespace

commands.checkout(url, dir, [options], [callback])

Checks out a repository to a working copy

Kind: static method of commands

Param Type Description
url string Repository URL
dir string Working copy dir
[options] object Options object
[callback] function Complete callback

commands.add(files, [options], [callback])

Adds a file / folder to a working copy

Kind: static method of commands

Param Type Description
files Array | string Add given files / folders
[options] object Options object
[callback] function Complete callback

commands.cat(targets, [options], [callback])

Gets the content of a file from either a working copy or a URL.

Kind: static method of commands

Param Type Description
targets Array | string Array of URLs or working copy files to catalogue
[options] object Options object
[callback] function Complete callback

commands.cleanup(wc, [options], [callback])

Performs an svn cleanup operation on the working copy

Kind: static method of commands

Param Type Description
wc string Working copy directory to clean
[options] object Options object
[callback] function Complete callback

commands.commit(files, [options], [callback])

Commits a working copy to a repository

Kind: static method of commands

Param Type Description
files Array | string Array of files / folders to commit
[options] object Options object
[callback] function Complete callback

commands.copy(srcs, dst, [options], [callback])

Copies a file / folder within either a working copy or a URL

Kind: static method of commands

Param Type Description
srcs Array | string URLs / files to copy
dst string destination
[options] object Options object
[callback] function Complete callback

commands.del(srcs, [options], [callback])

Deletes a file/folder from either a working copy or a URL

Kind: static method of commands

Param Type Description
srcs Array | string Array of URLs / files to delete
[options] object Options object
[callback] function Complete callback

commands.export(src, dst, [options], [callback])

Exports a file from the repository to a local file

Kind: static method of commands

Param Type Description
src string Source URL
dst string Destination file
[options] object Options object
[callback] function Complete callback

commands.import(src, dst, [options], [callback])

Imports a file to the repository

Kind: static method of commands

Param Type Description
src string Source file
dst string Destination URL
[options] object Options object
[callback] function Complete callback

commands.info(targets, [options], [callback])

Performs an svn info command on a given working copy file / URL

Kind: static method of commands

Param Type Description
targets Array | string Target URLs / files to info
[options] object Options object
[callback] function Complete callback

commands.list(targets, [options], [callback])

Lists the files within a directory, either working copy or URL

Kind: static method of commands

Param Type Description
targets Array | string Target URLs / files to list
[options] object Options object
[callback] function Complete callback

commands.lock(targets, [options], [callback])

Locks a file in a working copy / repository

Kind: static method of commands

Param Type Description
targets Array | string Target URLs / files to lock
[options] object Options object
[callback] function Complete callback

commands.log(targets, [options], [callback])

Gets the SVN message log and returns as a JSON object

Kind: static method of commands

Param Type Description
targets Array | string Target URLs / files to get logs for
[options] object Options object
[callback] function Complete callback

commands.merge(targets, [options], [callback])

Apply the differences between two sources to a working copy path

Kind: static method of commands

Param Type Description
targets Array | string Target URLs
[options] object Options object
[callback] function Complete callback

commands.mergeinfo(source, target, [options], [callback])

Query information related to merges (or potential merges) between SOURCE and TARGET.

Kind: static method of commands

Param Type Description
source string SOURCE URL
target string TARGET URL
[options] object Options object
[callback] function Complete callback

commands.mkdir(targets, [options], [callback])

Creates a directory in the working copy or repository

Kind: static method of commands

Param Type Description
targets Array | string Target URLs / folders to create
[options] object Options object
[callback] function Complete callback

commands.move(srcs, dst, [options], [callback])

Moves a file / folder in a working copy or URL

Kind: static method of commands

Param Type Description
srcs Array | string Target URLs / files to move
dst string Destination URL / file
[options] object Options object
[callback] function Complete callback

commands.propdel(propName, target, [options], [callback])

Deletes an svn property from a working copy / repository

Kind: static method of commands

Param Type Description
propName string Property name
target string Target file / folder or URL
[options] object Options object
[callback] function Complete callback

commands.propget(propName, targets, [options], [callback])

Gets an svn property from a working copy / repository

Kind: static method of commands

Param Type Description
propName string Property name
targets Array | string Target file / folder or URL
[options] object Options object
[callback] function Complete callback

commands.proplist(targets, [options], [callback])

Lists svn properties from a working copy / repository

Kind: static method of commands

Param Type Description
targets Array | string Target file / folder or URL
[options] object Options object
[callback] function Complete callback

commands.propset(propName, propVal, wc, [options], [callback])

Sets an svn property from a working copy / repository

Kind: static method of commands

Param Type Description
propName string Property name
propVal string Property value
wc string Target file / folder or URL
[options] object Options object
[callback] function Complete callback

commands.relocate(url, wc, [options], [callback])

Relocates an svn working copy

Kind: static method of commands

Param Type Description
url string Relocation URL
wc string Working copy to relocate
[options] object Options object
[callback] function Complete callback

commands.revert(wc, [options], [callback])

Reverts files / folders in a working copy to their uncommited state

Kind: static method of commands

Param Type Description
wc string Working copy target
[options] object Options object
[callback] function Complete callback

commands.status(wc, [options], [callback])

Performs an svn status command on a working copy

Kind: static method of commands

Param Type Description
wc string Working copy target
[options] object Options object
[callback] function Complete callback

commands.switch(url, wc, [options], [callback])

Switches to a given branch / tag for a working copy

Kind: static method of commands

Param Type Description
url string Switch URL
wc string Working copy target
[options] object Options object
[callback] function Complete callback

commands.unlock(targets, [options], [callback])

Unlocks a previously locked svn file from a working copy / repository

Kind: static method of commands

Param Type Description
targets Array | string Working copy / URL targets
[options] object Options object
[callback] function Complete callback

commands.update(wcs, [options], [callback])

Updates an svn working copy

Kind: static method of commands

Param Type Description
wcs Array | string Working copy targets
[options] object Options object
[callback] function Complete callback

commands.upgrade(wcs, [options], [callback])

Upgrades a given svn working copy (requires v1.7 of svn client)

Kind: static method of commands

Param Type Description
wcs Array | string Working copy targets
[options] object Options object
[callback] function Complete callback

commands.mucc(commandArray, commitMessage, [options], [callback])

Executes svnmucc command, for multiple commands

Kind: static method of commands
See: http://svnbook.red-bean.com/en/1.8/svn.ref.svnmucc.re.html

Param Type Description
commandArray Array Array of command strings, see above link for options
commitMessage string Commit message to use
[options] object Options object
[callback] function Complete callback

util : object

Exposes some custom utility methods

Kind: global namespace

util.getRevision(target, [options], [callback])

Gets head revision of a given URL

Kind: static method of util

Param Type Description
target string Target URL
[options] object Options object
[callback] function Complete callback

util.getWorkingCopyRevision(wcDir, [options], [callback])

Gets the revision of a working copy.

Kind: static method of util

Param Type Description
wcDir string Working copy folder
[options] object Options object
[callback] function Complete callback

util.parseUrl(url) ? object

Parse a url for an SVN project repository and breaks it apart

Kind: static method of util

Param Type Description
url string URL to parse

util.getTags(url, [options], [callback])

Gets all available tags for the given svn URL

Kind: static method of util

Param Type Description
url string Project URL to get tags for
[options] object Options object
[callback] function Complete callback

util.getLatestTag(url, options, [callback])

Uses node's semver package to work out the latest tag value

Kind: static method of util

Param Type Description
url string Project URL to get latest tag for
options object Options object
[callback] function Complete callback

util.getBranches(url, [options], [callback])

Gets all available branches for the given svn URL

Kind: static method of util

Param Type Description
url string Project URL to get branches for
[options] object Options object
[callback] function Complete callback

node-svn-ultimate's People

Contributors

peteward44 avatar pineoc avatar devjeonghun avatar patroclos avatar alromh87 avatar micheleangioni avatar jamieslome avatar marcbachmann avatar sgoff0 avatar mjmarrazzo avatar

Watchers

James Cloos avatar  avatar

Forkers

alromh87

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.