# eric3.VCS.subversionPackage.subversion

Module implementing the version control systems interface to Subversion.

### Classes

Subversion | Class implementing the version control systems interface to Subversion.

### Functions

None

## Subversion

Class implementing the version control systems interface to Subversion.

### Derived from

VersionControl

### Methods

Subversion | Constructor
svnCopy | Public method used to copy a file/directory.
svnDelProp | Public method used to delete a property of a file/directory.
svnExtendedDiff | Public method used to view the difference of a file/directory to the Subversion repository.
svnGetReposName | Public method used to retrieve the URL of the subversion repository path.
svnListProps | Public method used to list the properties of a file/directory.
svnListTagBranch | Public method used to list the available tags or branches.
svnMove | Public method used to move a file/directory.
svnNormalizeURL | Private method to normalize a url for subversion.
svnResolve | Public method used to resolve conflicts of a file/directory.
svnSetProp | Public method used to add a property to a file/directory.
svnURL | Private method to format a url for subversion.
vcsAdd | Public method used to add a file/directory to the Subversion repository.
vcsAddBinary | Public method used to add a file/directory in binary mode to the Subversion repository.
vcsAddTree | Public method to add a directory tree rooted at path to the Subversion repository.
vcsAllRegisteredStates | Public method used to get the registered states of a number of files in the vcs.
vcsCheckout | Public method used to check the project out of the Subversion repository.
vcsCleanup | Public method used to cleanup the working copy.
vcsCommandLine | Public method used to execute arbitrary subversion commands.
vcsCommit | Public method used to make the change of a file/directory permanent in the Subversion repository.
vcsDiff | Public method used to view the difference of a file/directory to the Subversion repository.
vcsExists | Public method used to test for the presence of the svn executable.
vcsExistsProcExited | Private slot connected to the processExited signal.
vcsExistsReadyReadStdout | Private slot to handle the readyReadStdout signal.
vcsExport | Public method used to export a directory from the Subversion repository.
vcsImport | Public method used to import the project into the Subversion repository.
vcsInit | Public method used to initialize the subversion repository.
vcsLog | Public method used to view the log of a file/directory from the Subversion repository.
vcsMerge | Public method used to merge a URL/revision into the local project.
vcsName | Public method returning the name of the vcs.
vcsNewProjectOptionsDialog | Public method to get a dialog to enter repository info for getting a new project.
vcsOptionsDialog | Public method to get a dialog to enter repository info.
vcsRegisteredState | Public method used to get the registered state of a file in the vcs.
vcsRemove | Public method used to remove a file/directory from the Subversion repository.
vcsRepositoryInfos | Public method to retrieve information about the repository.
vcsRevert | Public method used to revert changes made to a file/directory.
vcsStatus | Public method used to view the status of a file in the Subversion repository.
vcsSwitch | Public method used to switch a directory to a different tag/branch.
vcsTag | Public method used to set the tag of a file/directory in the Subversion repository.
vcsUpdate | Public method used to update a file/directory with the Subversion repository.

### Subversion (Constructor)

Subversion(parent=None, name=None)

Constructor

name
  name of this object (string or QString)
parent
  parent widget (QWidget)

### Subversion.svnCopy

svnCopy(name, project)

Public method used to copy a file/directory.

name
  file/directory name to be copied (string)
project
  reference to the project object

Returns:
  flag indicating successfull operation (boolean)

### Subversion.svnDelProp

svnDelProp(name, recursive = 0)

Public method used to delete a property of a file/directory.

name
  file/directory name (string or list of strings)
recursive
  flag indicating a recursive list is requested

### Subversion.svnExtendedDiff

svnExtendedDiff(name)

Public method used to view the difference of a file/directory to the Subversion repository. If name is a directory and is the project directory, all project files are saved first. If name is a file (or list of files), which is/are being edited and has unsaved modification, they can be saved or the operation may be aborted. This method gives the chance to enter the revisions to be compared. An entry of 0 for any specific revision is identical to the current revision (i.e the revision as found in the working copy)

name
  file/directory name to be diffed (string)

### Subversion.svnGetReposName

svnGetReposName(path)

Public method used to retrieve the URL of the subversion repository path.

path
  local path to get the svn repository path for (string)

Returns:
  string with the repository path URL

### Subversion.svnListProps

svnListProps(name, recursive = 0)

Public method used to list the properties of a file/directory.

name
  file/directory name (string or list of strings)
recursive
  flag indicating a recursive list is requested

### Subversion.svnListTagBranch

svnListTagBranch(path, tags = 1)

Public method used to list the available tags or branches.

path
  directory name of the project (string)
tags
  flag indicating listing of branches or tags (0 = branches, 1 = tags)

### Subversion.svnMove

svnMove(name, project)

Public method used to move a file/directory.

name
  file/directory name to be moved (string)
project
  reference to the project object

Returns:
  flag indicating successfull operation (boolean)

### Subversion.svnNormalizeURL

svnNormalizeURL(url)

Private method to normalize a url for subversion.

url
  url string (string)

Returns:
  properly normalized url for subversion

### Subversion.svnResolve

svnResolve(name)

Public method used to resolve conflicts of a file/directory.

name
  file/directory name to be resolved (string)

### Subversion.svnSetProp

svnSetProp(name, recursive = 0)

Public method used to add a property to a file/directory.

name
  file/directory name (string or list of strings)
recursive
  flag indicating a recursive list is requested

### Subversion.svnURL

svnURL(url)

Private method to format a url for subversion.

url
  unformatted url string (string)

Returns:
  properly formated url for subversion

### Subversion.vcsAdd

vcsAdd(name, isDir=0)

Public method used to add a file/directory to the Subversion repository.

isDir
  flag indicating name is a directory (boolean)
name
  file/directory name to be added (string)

### Subversion.vcsAddBinary

vcsAddBinary(name, isDir=0)

Public method used to add a file/directory in binary mode to the Subversion repository.

isDir
  flag indicating name is a directory (boolean)
name
  file/directory name to be added (string)

### Subversion.vcsAddTree

vcsAddTree(path)

Public method to add a directory tree rooted at path to the Subversion repository.

path
  root directory of the tree to be added (string or list of strings))

### Subversion.vcsAllRegisteredStates

vcsAllRegisteredStates(names, dname)

Public method used to get the registered states of a number of files in the vcs.

dname
  directory to check in (string)
names
  dictionary with all filenames to be checked as keys

Returns:
  the received dictionary completed with a combination of canBeCommited and canBeAdded or None in order to signal an error

### Subversion.vcsCheckout

vcsCheckout(vcsDir, project, projectDir, noDialog=0, tag=None)

Public method used to check the project out of the Subversion repository.

noDialog
  flag indicating quiet operations
project
  name of the archive (string)
projectDir
  project directory to create (string)
tag
  tag of version to check out (string)
vcsDir
  name of the VCS directory (string)

Returns:
  flag indicating an execution without errors (boolean)

### Subversion.vcsCleanup

vcsCleanup(name)

Public method used to cleanup the working copy.

name
  directory name to be cleaned up (string)

### Subversion.vcsCommandLine

vcsCommandLine(name)

Public method used to execute arbitrary subversion commands.

name
  directory name of the working directory (string)

### Subversion.vcsCommit

vcsCommit(name, message, noDialog=0, parent=None)

Public method used to make the change of a file/directory permanent in the Subversion repository.

message
  message for this operation (string)
name
  file/directory name to be committed (string or list of strings)
noDialog
  flag indicating quiet operations
parent
  reference to the parent object of the commit dialog (QWidget)

Returns:
  flag indicating an execution without errors (boolean)

### Subversion.vcsDiff

vcsDiff(name)

Public method used to view the difference of a file/directory to the Subversion repository. If name is a directory and is the project directory, all project files are saved first. If name is a file (or list of files), which is/are being edited and has unsaved modification, they can be saved or the operation may be aborted.

name
  file/directory name to be diffed (string)

### Subversion.vcsExists

vcsExists()

Public method used to test for the presence of the svn executable.

Returns:
  flag indicating the existance (boolean)

### Subversion.vcsExistsProcExited

vcsExistsProcExited()

Private slot connected to the processExited signal.

### Subversion.vcsExistsReadyReadStdout

vcsExistsReadyReadStdout()

Private slot to handle the readyReadStdout signal. It reads the output of the process and buffers it.

### Subversion.vcsExport

vcsExport(vcsDir, project, projectDir, tag=None)

Public method used to export a directory from the Subversion repository.

project
  name of the archive (string)
projectDir
  project directory to create (string)
tag
  tag of version to check out (string)
vcsDir
  name of the VCS directory (string)

Returns:
  flag indicating an execution without errors (boolean)

### Subversion.vcsImport

vcsImport(vcsDir, message, project, vendor, release, projectDir, noDialog=0)

Public method used to import the project into the Subversion repository.

message
  message for this operation (string)
noDialog
  flag indicating quiet operations
project
  name of the archive (string)
projectDir
  project directory (string)
release
  release version string (string) (not needed)
vcsDir
  name of the VCS directory (string)
vendor
  vendor string (string) (not needed)

Returns:
  flag indicating an execution without errors (boolean)

### Subversion.vcsInit

vcsInit(vcsDir, noDialog=0)

Public method used to initialize the subversion repository. The subversion repository has to be initialized from outside eric3 because the respective command always works locally. Therefore we always return TRUE without doing anything.

noDialog
  flag indicating quiet operations (boolean)
vcsDir
  name of the VCS directory (string)

Returns:
  always TRUE

### Subversion.vcsLog

vcsLog(name)

Public method used to view the log of a file/directory from the Subversion repository.

name
  file/directory name to show the log of (string)

### Subversion.vcsMerge

vcsMerge(name)

Public method used to merge a URL/revision into the local project.

name
  file/directory name to be merged (string)

### Subversion.vcsName

vcsName()

Public method returning the name of the vcs.

Returns:
  always 'Subversion' (string)

### Subversion.vcsNewProjectOptionsDialog

vcsNewProjectOptionsDialog(parent = None)

Public method to get a dialog to enter repository info for getting a new project.

parent
  parent widget (QWidget)

### Subversion.vcsOptionsDialog

vcsOptionsDialog(project, archive, editable=0, parent=None)

Public method to get a dialog to enter repository info.

archive
  name of the project in the repository (string)
editable
  flag indicating that the project name is editable (boolean)
parent
  parent widget (QWidget)
project
  reference to the project object

### Subversion.vcsRegisteredState

vcsRegisteredState(name)

Public method used to get the registered state of a file in the vcs.

name
  filename to check (string)

Returns:
  a combination of canBeCommited and canBeAdded or 0 in order to signal an error

### Subversion.vcsRemove

vcsRemove(name, project=0)

Public method used to remove a file/directory from the Subversion repository. The default operation is to remove the local copy as well.

name
  file/directory name to be removed (string or list of strings))
project
  flag indicating deletion of a project tree (boolean) (not needed)

Returns:
  flag indicating successfull operation (boolean)

### Subversion.vcsRepositoryInfos

vcsRepositoryInfos(ppath)

Public method to retrieve information about the repository.

ppath
  local path to get the repository infos (string)

Returns:
  string with ready formated info for display (QString)

### Subversion.vcsRevert

vcsRevert(name)

Public method used to revert changes made to a file/directory.

name
  file/directory name to be reverted (string)

### Subversion.vcsStatus

vcsStatus(name)

Public method used to view the status of a file in the Subversion repository.

name
  file/directory name to show the status of (string or list of strings)

### Subversion.vcsSwitch

vcsSwitch(name)

Public method used to switch a directory to a different tag/branch.

name
  directory name to be switched (string)

### Subversion.vcsTag

vcsTag(name)

Public method used to set the tag of a file/directory in the Subversion repository.

name
  file/directory name to be tagged (string)

### Subversion.vcsUpdate

vcsUpdate(name)

Public method used to update a file/directory with the Subversion repository.

name
  file/directory name to be updated (string or list of strings)

Up