Rev 179: Refactored merge code from Command to MergeCommand. in http://bzr.daniel-watkins.co.uk/pqm/merge-directives
Daniel Watkins
daniel at daniel-watkins.co.uk
Sat Aug 23 22:22:35 BST 2008
At http://bzr.daniel-watkins.co.uk/pqm/merge-directives
------------------------------------------------------------
revno: 179
revision-id: daniel at daniel-watkins.co.uk-20080823212038-tlasw6e7bn2rfjrn
parent: daniel at daniel-watkins.co.uk-20080823211714-ua0r3xxt21ebx8qq
committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
branch nick: merge-directives
timestamp: Sat 2008-08-23 22:20:38 +0100
message:
Refactored merge code from Command to MergeCommand.
-------------- next part --------------
=== modified file 'pqm/script.py'
--- a/pqm/script.py 2008-08-23 21:17:14 +0000
+++ b/pqm/script.py 2008-08-23 21:20:38 +0000
@@ -404,45 +404,6 @@
for top in os.listdir(possible_dir):
self.rm_rf(os.path.join(possible_dir, top))
- def do_merge(self, from_repo_revision, to_repo_revision, merge_name,
- merge_method, line):
- def merge_callback(sender, dir):
- return getattr(self.get_vcs(), merge_method)(sender,
- from_repo_revision, dir)
- return self._do_merge(from_repo_revision, to_repo_revision, merge_name,
- merge_callback, line)
-
- def _do_merge(self, from_repo_revision, to_repo_revision, merge_name,
- merge_callback, line):
- sender = self.script.getSender()
- # Star-merge
- self.check_target(to_repo_revision, line)
- to_repo_revision, config = self.getBranchConfig(to_repo_revision)
- self.set_current_vcs(from_repo_revision, to_repo_revision)
- self.validate_revision(from_repo_revision)
- self.validate_revision(to_repo_revision)
- self.check_commit_regex(to_repo_revision, config)
- self.script.logger.info("current cwd is %s", os.getcwd())
- self.script.logger.info("getting working dir for %s", to_repo_revision)
- dir = self.get_wd(sender, to_repo_revision, config)
- origdir = os.getcwd()
- merge_line = 'Executing %s %s at %s' % (merge_name,
- from_repo_revision,
- time.strftime('%c'))
- self.log_with_status(self.script.logger, merge_line)
- self.output += [
- '\n',
- merge_line,
- '\n',
- ]
- self.wrap_command(merge_callback, line, sender, dir)
- self.run_precommit(to_repo_revision, config, line, dir)
- os.chdir(origdir)
- self.log_with_status(self.script.logger, "success: %s", line)
- self.successful.append(line)
- self.output += ['\n', '%s succeeded at %s' % (merge_name, time.strftime('%c')), '\n']
- self.get_vcs().commit(sender, dir, self.commitmsg, to_repo_revision, config)
-
def get_arch_impl(self):
# TODO: Tim Penhey, 2008-05-28
# Get rid of the imports from pqm module itself.
@@ -694,6 +655,45 @@
line='merge %s %s' % (self.from_branch, self.to_branch))
return self.successful, self.unrecognized, self.output
+ def do_merge(self, from_repo_revision, to_repo_revision, merge_name,
+ merge_method, line):
+ def merge_callback(sender, dir):
+ return getattr(self.get_vcs(), merge_method)(sender,
+ from_repo_revision, dir)
+ return self._do_merge(from_repo_revision, to_repo_revision, merge_name,
+ merge_callback, line)
+
+ def _do_merge(self, from_repo_revision, to_repo_revision, merge_name,
+ merge_callback, line):
+ sender = self.script.getSender()
+ # Star-merge
+ self.check_target(to_repo_revision, line)
+ to_repo_revision, config = self.getBranchConfig(to_repo_revision)
+ self.set_current_vcs(from_repo_revision, to_repo_revision)
+ self.validate_revision(from_repo_revision)
+ self.validate_revision(to_repo_revision)
+ self.check_commit_regex(to_repo_revision, config)
+ self.script.logger.info("current cwd is %s", os.getcwd())
+ self.script.logger.info("getting working dir for %s", to_repo_revision)
+ dir = self.get_wd(sender, to_repo_revision, config)
+ origdir = os.getcwd()
+ merge_line = 'Executing %s %s at %s' % (merge_name,
+ from_repo_revision,
+ time.strftime('%c'))
+ self.log_with_status(self.script.logger, merge_line)
+ self.output += [
+ '\n',
+ merge_line,
+ '\n',
+ ]
+ self.wrap_command(merge_callback, line, sender, dir)
+ self.run_precommit(to_repo_revision, config, line, dir)
+ os.chdir(origdir)
+ self.log_with_status(self.script.logger, "success: %s", line)
+ self.successful.append(line)
+ self.output += ['\n', '%s succeeded at %s' % (merge_name, time.strftime('%c')), '\n']
+ self.get_vcs().commit(sender, dir, self.commitmsg, to_repo_revision, config)
+
class ExtendedMergeCommand(MergeCommand):
More information about the bazaar-commits
mailing list