Main Page | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals | Related Pages

svn::Client Class Reference

#include <client.hpp>


Public Member Functions

 Client (Context *context=0)
virtual ~Client ()
const ContextgetContext () const
void setContext (Context *context=NULL)
StatusEntries status (const char *path, const bool descend=false, const bool get_all=true, const bool update=false, const bool no_ignore=false) throw (ClientException)
Status singleStatus (const char *path) throw (ClientException)
svn_revnum_t checkout (const char *moduleName, const Path &destPath, const Revision &revision, bool recurse) throw (ClientException)
void relocate (const Path &path, const char *from_url, const char *to_url, bool recurse) throw (ClientException)
void remove (const Path &path, bool force) throw (ClientException)
void remove (const Targets &targets, bool force) throw (ClientException)
void revert (const Targets &targets, bool recurse) throw (ClientException)
void add (const Path &path, bool recurse) throw (ClientException)
svn_revnum_t update (const Path &path, const Revision &revision, bool recurse) throw (ClientException)
std::string cat (const Path &path, const Revision &revision) throw (ClientException)
void get (Path &dstPath, const Path &path, const Revision &revision) throw (ClientException)
AnnotatedFileannotate (const Path &path, const Revision &revisionStart, const Revision &revisionEnd) throw (ClientException)
svn_revnum_t commit (const Targets &targets, const char *message, bool recurse) throw (ClientException)
void copy (const Path &srcPath, const Revision &srcRevision, const Path &destPath) throw (ClientException)
void move (const Path &srcPath, const Revision &srcRevision, const Path &destPath, bool force) throw (ClientException)
void mkdir (const Path &path, const char *message) throw (ClientException)
void mkdir (const Targets &targets, const char *message) throw (ClientException)
void cleanup (const Path &path) throw (ClientException)
void resolved (const Path &path, bool recurse) throw (ClientException)
svn_revnum_t doExport (const Path &srcPath, const Path &destPath, const Revision &revision, bool force=false) throw (ClientException)
svn_revnum_t doSwitch (const Path &path, const char *url, const Revision &revision, bool recurse) throw (ClientException)
void import (const Path &path, const char *url, const char *message, bool recurse) throw (ClientException)
void merge (const Path &path1, const Revision &revision1, const Path &path2, const Revision &revision2, const Path &localPath, bool force, bool recurse, bool notice_ancestry=false, bool dry_run=false) throw (ClientException)
Entry info (const char *path)
const LogEntrieslog (const char *path, const Revision &revisionStart, const Revision &revisionEnd, bool discoverChangedPaths=false, bool strictNodeHistory=true) throw (ClientException)
std::string diff (const Path &tmpPath, const Path &path, const Revision &revision1, const Revision &revision2, const bool recurse, const bool ignoreAncestry, const bool noDiffDeleted) throw (ClientException)
DirEntries ls (const char *pathOrUrl, svn_opt_revision_t *revision, bool recurse) throw (ClientException)
DirEntries list (const char *pathOrUrl, svn_opt_revision_t *revision, bool recurse) throw (ClientException)
PathPropertiesMapList proplist (const Path &path, const Revision &revision, bool recurse=false)
PathPropertiesMapList propget (const char *propName, const Path &path, const Revision &revision, bool recurse=false)
void propset (const char *propName, const char *propValue, const Path &path, const Revision &revision, bool recurse=false)
void propdel (const char *propName, const Path &path, const Revision &revision, bool recurse=false)
std::pair< svn_revnum_t, PropertiesMaprevproplist (const Path &path, const Revision &revision)
std::pair< svn_revnum_t, std::string > revpropget (const char *propName, const Path &path, const Revision &revision)
svn_revnum_t revpropset (const char *propName, const char *propValue, const Path &path, const Revision &revision, bool force=false)
svn_revnum_t revpropdel (const char *propName, const Path &path, const Revision &revision, bool force=false)


Detailed Description

Subversion client API.


Constructor & Destructor Documentation

svn::Client::Client Context context = 0  ) 
 

Initializes the primary memory pool.

virtual svn::Client::~Client  )  [virtual]
 


Member Function Documentation

void svn::Client::add const Path path,
bool  recurse
throw (ClientException)
 

Adds a file to the repository.

Exceptions:
ClientException 

AnnotatedFile* svn::Client::annotate const Path path,
const Revision revisionStart,
const Revision revisionEnd
throw (ClientException)
 

Retrieves the contents for a specific revision of a path

Parameters:
path path of file or directory
revisionStart revision to retrieve
revisionEnd revision to retrieve
Returns:
contents of the file

std::string svn::Client::cat const Path path,
const Revision revision
throw (ClientException)
 

Retrieves the contents for a specific revision of a path

Parameters:
path path of file or directory
revision revision to retrieve
Returns:
contents of the file

svn_revnum_t svn::Client::checkout const char *  moduleName,
const Path destPath,
const Revision revision,
bool  recurse
throw (ClientException)
 

Executes a revision checkout.

Parameters:
moduleName name of the module to checkout.
destPath destination directory for checkout.
revision the revision number to checkout. If the number is -1 then it will checkout the latest revision.
recurse whether you want it to checkout files recursively.
Exceptions:
ClientException 

void svn::Client::cleanup const Path path  )  throw (ClientException)
 

Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.

Parameters:
path a local directory.
Exceptions:
ClientException 

svn_revnum_t svn::Client::commit const Targets targets,
const char *  message,
bool  recurse
throw (ClientException)
 

Commits changes to the repository. This usually requires authentication, see Auth.

Returns:
Returns a long representing the revision. It returns a -1 if the revision number is invalid.
Parameters:
targets files to commit.
message log message.
recurse whether the operation should be done recursively.
Exceptions:
ClientException 

void svn::Client::copy const Path srcPath,
const Revision srcRevision,
const Path destPath
throw (ClientException)
 

Copies a versioned file with the history preserved.

Exceptions:
ClientException 

std::string svn::Client::diff const Path tmpPath,
const Path path,
const Revision revision1,
const Revision revision2,
const bool  recurse,
const bool  ignoreAncestry,
const bool  noDiffDeleted
throw (ClientException)
 

Produce diff output which describes the delta between path/revision1 and path/revision2. path can be either a working-copy path or a URL.

A ClientException will be thrown if either revision1 or revision2 has an `unspecified' or unrecognized `kind'.

Parameters:
tmpPath prefix for a temporary directory needed by diff. Filenames will have ".tmp" and similar added to this prefix in order to ensure uniqueness.
path path of the file.
revision1 one of the revisions to check.
revision2 the other revision.
recurse whether the operation should be done recursively.
ignoreAncestry whether the files will be checked for relatedness.
noDiffDeleted if true, no diff output will be generated on deleted files.
Returns:
delta between the files
Exceptions:
ClientException 

svn_revnum_t svn::Client::doExport const Path srcPath,
const Path destPath,
const Revision revision,
bool  force = false
throw (ClientException)
 

Exports the contents of either a subversion repository into a 'clean' directory (meaning a directory with no administrative directories).

Exceptions:
ClientException 
Parameters:
srcPath source path
destPath a destination path that must not already exist.
revision revision to use for the export
force force export

svn_revnum_t svn::Client::doSwitch const Path path,
const char *  url,
const Revision revision,
bool  recurse
throw (ClientException)
 

Update local copy to mirror a new url. This excapsulates the svn_client_switch() client method.

Exceptions:
ClientException 

void svn::Client::get Path dstPath,
const Path path,
const Revision revision
throw (ClientException)
 

Retrieves the contents for a specific revision of a path and saves it to the destination file dstPath.

If dstPath is empty (""), then this path will be constructed from the temporary directory on this system and the filename in path. dstPath will still have the file extension from path and uniqueness of the temporary filename will be ensured.

Parameters:
dstPath Filename in which the contents of the file file will be safed.
path path or url
revision 

const Context* svn::Client::getContext  )  const
 

Returns:
returns the Client context

void svn::Client::import const Path path,
const char *  url,
const char *  message,
bool  recurse
throw (ClientException)
 

Import file or directory PATH into repository directory URL at head. This usually requires authentication, see Auth.

Parameters:
path path to import
url 
message log message.
recurse 
Exceptions:
ClientException 

Entry svn::Client::info const char *  path  ) 
 

Retrieve information for the given path from the wc

Parameters:
path 
Returns:
Entry

DirEntries svn::Client::list const char *  pathOrUrl,
svn_opt_revision_t *  revision,
bool  recurse
throw (ClientException)
 

lists entries in pathOrUrl no matter whether local or repository

Parameters:
pathOrUrl 
revision 
recurse 
Returns:
a vector of directory entries, each with a relative path (only filename)

const LogEntries* svn::Client::log const char *  path,
const Revision revisionStart,
const Revision revisionEnd,
bool  discoverChangedPaths = false,
bool  strictNodeHistory = true
throw (ClientException)
 

Retrieve log information for the given path Loads the log messages result set. The first entry is the youngest revision.

You can use the constants Revision::START and Revision::HEAD

Parameters:
path 
revisionStart 
revisionEnd 
discoverChangedPaths 
strictNodeHistory 
Returns:
a vector with log entries

DirEntries svn::Client::ls const char *  pathOrUrl,
svn_opt_revision_t *  revision,
bool  recurse
throw (ClientException)
 

lists entries in pathOrUrl no matter whether local or repository

Remarks:
Please do not use the method anymore. Since it tries to return entries with absolute paths it has to add pathOrUrl to the beginning of the enrties. This works fine if pathOrUrl points to a directory. But if it point to a file "file:///foo/bar.txt", the path of the returned entry will be "file:///foo/bar.txt/bar.txt". Please use list instead.
Deprecated:
See also:
list
Parameters:
pathOrUrl 
revision 
recurse 
Returns:
a vector of directory entries, each with an absolute path

void svn::Client::merge const Path path1,
const Revision revision1,
const Path path2,
const Revision revision2,
const Path localPath,
bool  force,
bool  recurse,
bool  notice_ancestry = false,
bool  dry_run = false
throw (ClientException)
 

Merge changes from two paths into a new local path.

Exceptions:
ClientException 

void svn::Client::mkdir const Targets targets,
const char *  message
throw (ClientException)
 

void svn::Client::mkdir const Path path,
const char *  message
throw (ClientException)
 

Creates a directory directly in a repository or creates a directory on disk and schedules it for addition. If path is a URL then authentication is usually required, see Auth.

Parameters:
path 
message log message.
Exceptions:
ClientException 

void svn::Client::move const Path srcPath,
const Revision srcRevision,
const Path destPath,
bool  force
throw (ClientException)
 

Moves or renames a file.

Exceptions:
ClientException 

void svn::Client::propdel const char *  propName,
const Path path,
const Revision revision,
bool  recurse = false
 

delete property in path no matter whether local or repository

Parameters:
propName 
path 
revision 
recurse 

PathPropertiesMapList svn::Client::propget const char *  propName,
const Path path,
const Revision revision,
bool  recurse = false
 

lists one property in path no matter whether local or repository

Parameters:
propName 
path 
revision 
recurse 
Returns:
PathPropertiesMapList

PathPropertiesMapList svn::Client::proplist const Path path,
const Revision revision,
bool  recurse = false
 

lists properties in path no matter whether local or repository

Parameters:
path 
revision 
recurse 
Returns:
PropertiesList

void svn::Client::propset const char *  propName,
const char *  propValue,
const Path path,
const Revision revision,
bool  recurse = false
 

set property in path no matter whether local or repository

Parameters:
path 
revision 
propName 
propValue 
recurse 
Returns:
PropertiesList

void svn::Client::relocate const Path path,
const char *  from_url,
const char *  to_url,
bool  recurse
throw (ClientException)
 

relocate wc from to to

Exceptions:
ClientException 

void svn::Client::remove const Targets targets,
bool  force
throw (ClientException)
 

Sets files for deletion.

Parameters:
targets targets to delete
force force if files are locally modified
Exceptions:
ClientException 

void svn::Client::remove const Path path,
bool  force
throw (ClientException)
 

Sets a single file for deletion.

Exceptions:
ClientException 

void svn::Client::resolved const Path path,
bool  recurse
throw (ClientException)
 

Removes the 'conflicted' state on a file.

Exceptions:
ClientException 

void svn::Client::revert const Targets targets,
bool  recurse
throw (ClientException)
 

Reverts a couple of files to a pristiner state.

Exceptions:
ClientException 

svn_revnum_t svn::Client::revpropdel const char *  propName,
const Path path,
const Revision revision,
bool  force = false
 

delete revision property in path no matter whether local or repository

Parameters:
propName 
path 
revision 
force 
Returns:
Revision

std::pair<svn_revnum_t,std::string> svn::Client::revpropget const char *  propName,
const Path path,
const Revision revision
 

lists one revision property in path no matter whether local or repository

Parameters:
propName 
path 
revision 
Returns:
PropertiesList

std::pair<svn_revnum_t,PropertiesMap> svn::Client::revproplist const Path path,
const Revision revision
 

lists revision properties in path no matter whether local or repository

Parameters:
path 
revision 
Returns:
PropertiesList

svn_revnum_t svn::Client::revpropset const char *  propName,
const char *  propValue,
const Path path,
const Revision revision,
bool  force = false
 

set revision property in path no matter whether local or repository

Parameters:
propName 
propValue 
path 
revision 
force 
Returns:
Revision

void svn::Client::setContext Context context = NULL  ) 
 

sets the client context you have to make sure the old context is de-allocated

Parameters:
context new context to use

Status svn::Client::singleStatus const char *  path  )  throw (ClientException)
 

Returns the status of a single file in the path.

Throws an exception if an error occurs

Parameters:
path File to gather status.
Returns:
a Status with Statis.isVersioned = FALSE

StatusEntries svn::Client::status const char *  path,
const bool  descend = false,
const bool  get_all = true,
const bool  update = false,
const bool  no_ignore = false
throw (ClientException)
 

Enumerates all files/dirs at a given path.

Throws an exception if an error occurs

Parameters:
path Path to explore.
descend Recurse into subdirectories if existant.
get_all Return all entries, not just the interesting ones.
update Query the repository for updates.
no_ignore Disregard default and svn:ignore property ignores.
Returns:
vector with Status entries.

svn_revnum_t svn::Client::update const Path path,
const Revision revision,
bool  recurse
throw (ClientException)
 

Updates the file or directory.

Parameters:
path target file.
revision the revision number to checkout. Revision::HEAD will checkout the latest revision.
recurse recursively update.
Exceptions:
ClientException 


The documentation for this class was generated from the following file:
Generated on Thu Sep 15 20:11:45 2005 for SvnCpp by  doxygen 1.4.4