aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/bzr.py
diff options
context:
space:
mode:
authorGianluca Montecchi <gian@grys.it>2009-10-01 23:39:28 +0200
committerGianluca Montecchi <gian@grys.it>2009-10-01 23:39:28 +0200
commited4a943875d81732bfa3127eb252c2db2e3588f4 (patch)
tree1fa7da00b01b8807adac3f3e3231fc8a78b3a6c7 /libbe/bzr.py
parente42729af0efc1a4c064e8875e728f9c3c1694a1d (diff)
downloadbugseverywhere-ed4a943875d81732bfa3127eb252c2db2e3588f4.tar.gz
Merged with head branch
Diffstat (limited to 'libbe/bzr.py')
-rw-r--r--libbe/bzr.py104
1 files changed, 0 insertions, 104 deletions
diff --git a/libbe/bzr.py b/libbe/bzr.py
index d73392a..e69de29 100644
--- a/libbe/bzr.py
+++ b/libbe/bzr.py
@@ -1,104 +0,0 @@
-# Copyright (C) 2005-2009 Aaron Bentley and Panometrics, Inc.
-# Ben Finney <ben+python@benfinney.id.au>
-# Marien Zwart <marienz@gentoo.org>
-# W. Trevor King <wking@drexel.edu>
-# <abentley@panoramicfeedback.com>
-#
-# 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-import os
-import re
-import sys
-import unittest
-import doctest
-
-import rcs
-from rcs import RCS
-
-def new():
- return Bzr()
-
-class Bzr(RCS):
- name = "bzr"
- client = "bzr"
- versioned = True
- def _rcs_help(self):
- status,output,error = self._u_invoke_client("--help")
- return output
- def _rcs_detect(self, path):
- if self._u_search_parent_directories(path, ".bzr") != None :
- return True
- return False
- def _rcs_root(self, path):
- """Find the root of the deepest repository containing path."""
- status,output,error = self._u_invoke_client("root", path)
- return output.rstrip('\n')
- def _rcs_init(self, path):
- self._u_invoke_client("init", directory=path)
- def _rcs_get_user_id(self):
- status,output,error = self._u_invoke_client("whoami")
- return output.rstrip('\n')
- def _rcs_set_user_id(self, value):
- self._u_invoke_client("whoami", value)
- def _rcs_add(self, path):
- self._u_invoke_client("add", path)
- def _rcs_remove(self, path):
- # --force to also remove unversioned files.
- self._u_invoke_client("remove", "--force", path)
- def _rcs_update(self, path):
- pass
- def _rcs_get_file_contents(self, path, revision=None, binary=False):
- if revision == None:
- return RCS._rcs_get_file_contents(self, path, revision, binary=binary)
- else:
- status,output,error = \
- self._u_invoke_client("cat","-r",revision,path)
- return output
- def _rcs_duplicate_repo(self, directory, revision=None):
- if revision == None:
- RCS._rcs_duplicate_repo(self, directory, revision)
- else:
- self._u_invoke_client("branch", "--revision", revision,
- ".", directory)
- def _rcs_commit(self, commitfile):
- status,output,error = self._u_invoke_client("commit", "--unchanged",
- "--file", commitfile)
- revision = None
- revline = re.compile("Committed revision (.*)[.]")
- match = revline.search(error)
- assert match != None, output+error
- assert len(match.groups()) == 1
- revision = match.groups()[0]
- return revision
- def postcommit(self):
- try:
- self._u_invoke_client('merge')
- except rcs.CommandError, e:
- if ('No merge branch known or specified' in e.err_str or
- 'No merge location known or specified' in e.err_str):
- pass
- else:
- self._u_invoke_client('revert', '--no-backup',
- directory=directory)
- self._u_invoke_client('resolve', '--all', directory=directory)
- raise
- if len(self._u_invoke_client('status', directory=directory)[1]) > 0:
- self.commit('Merge from upstream')
-
-
-rcs.make_rcs_testcase_subclasses(Bzr, sys.modules[__name__])
-
-unitsuite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
-suite = unittest.TestSuite([unitsuite, doctest.DocTestSuite()])