# 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.
svnLock | Public method used to lock a file in the Subversion repository.
svnLogLimited | Public method used to view the (limited) log of a file/directory from the Subversion repository.
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.
svnUnlock | Public method used to unlock a file in the Subversion repository.
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.
vcsConvertProject | Public method to convert an uncontrolled project to a version controlled project.
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.
vcsGetProjectBrowserHelper | Public method to instanciate a helper object for the different project browsers.
vcsGetProjectHelper | Public method to instanciate a helper object for the project.
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

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

### 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.svnLock

svnLock(name, stealIt=False, parent=None)

Public method used to lock a file in the Subversion repository.

name
  file/directory name to be locked (string or list of strings)
stealIt
  flag indicating a forced operation (boolean)
parent
  reference to the parent object of the subversion dialog (QWidget)

### Subversion.svnLogLimited

svnLogLimited(name)

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

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

### 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.svnUnlock

svnUnlock(name, breakIt=False, parent=None)

Public method used to unlock a file in the Subversion repository.

name
  file/directory name to be unlocked (string or list of strings)
breakIt
  flag indicating a forced operation (boolean)
parent
  reference to the parent object of the subversion dialog (QWidget)

### Subversion.vcsAdd

vcsAdd(name, isDir=0)

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

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

### Subversion.vcsAddBinary

vcsAddBinary(name, isDir=0)

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

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

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

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

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

### Subversion.vcsCheckout

vcsCheckout(vcsDataDict, projectDir, noDialog=0)

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

vcsDataDict
  dictionary of data required for the checkout
projectDir
  project directory to create (string)
noDialog
  flag indicating quiet operations

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.

name
  file/directory name to be committed (string or list of strings)
message
  message for this operation (string)
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.vcsConvertProject

vcsConvertProject(vcsDataDict, project)

Public method to convert an uncontrolled project to a version controlled project.

vcsDataDict
  dictionary of data required for the conversion
project
  reference to the project object

### 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(vcsDataDict, projectDir)

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

vcsDataDict
  dictionary of data required for the checkout
projectDir
  project directory to create (string)

Returns:
  flag indicating an execution without errors (boolean)

### Subversion.vcsGetProjectBrowserHelper

vcsGetProjectBrowserHelper(browser, project, isTranslationsBrowser=0)

Public method to instanciate a helper object for the different project browsers.

browser
  reference to the project browser object
project
  reference to the project object
isTranslationsBrowser
  flag indicating, the helper is requested for the translations browser (this needs some special treatment)

Returns:
  the project browser helper object

### Subversion.vcsGetProjectHelper

vcsGetProjectHelper(project)

Public method to instanciate a helper object for the project.

project
  reference to the project object

Returns:
  the project helper object

### Subversion.vcsImport

vcsImport(vcsDataDict, projectDir, noDialog=0)

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

vcsDataDict
  dictionary of data required for the import
projectDir
  project directory (string)
noDialog
  flag indicating quiet operations

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.

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

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.

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

### 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