Mercurial > gub
changeset 5593:767e70bc5653
Enable weird Karmic tar-1.22 fallback.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Tue, 22 Sep 2009 22:06:27 +0200 |
parents | d7d576acba6c |
children | d85f6aa05267 |
files | gub/repository.py |
diffstat | 1 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/gub/repository.py Tue Sep 22 21:41:01 2009 +0200 +++ b/gub/repository.py Tue Sep 22 22:06:27 2009 +0200 @@ -148,7 +148,7 @@ return os.path.exists (os.path.join (tools_bin, self.vc_system[1:])) return False def migrate (self, dir, dir_slash_vcs): - self.info ('migrate not implemented for: ' + self.vc_system + '\n') + self.info ('migrate not implemented for: ' + self.vc_system) def __init__ (self, dir, source): self.settings = None self.source = source @@ -211,6 +211,10 @@ self.logger = logger def info (self, message): self.logger.write_log (message + '\n', 'info') + def error (self, message): + self.logger.write_log (message + '\n', 'error') + def warning (self, message): + self.logger.write_log (message + '\n', 'warning') def filter_branch_arg (self, branch): if '=' in branch: (name, branch) = tuple (branch.split ('=')) @@ -467,7 +471,10 @@ #if self.oslog: #urg, will be fixed when .source is mandatory # _v = self.oslog.verbose_flag () _z = misc.compression_flag (tarball) - self.system ('tar -C %(destdir)s/.. %(_v)s%(_z)s -xf %(tarball)s' % locals ()) + status = self.system ('tar -C %(destdir)s/.. %(_v)s%(_z)s -xf %(tarball)s' % locals (), ignore_errors=True) + if status: + self.error ('retry using gzip pipe') + self.system ('gzip -dc %(tarball)s | tar -C %(destdir)s/.. %(_v)s -xf-' % locals ()) def version (self): return self._version @@ -529,7 +536,7 @@ def migrate (self, dir, dir_slash_vcs): if os.path.isdir (os.path.join (dir, 'objects')): - self.info ('migrating %(dir)s --> %(dir_slash_vcs)s\n' % locals ()) + self.info ('migrating %(dir)s --> %(dir_slash_vcs)s' % locals ()) self.system (''' mkdir -p %(dir_slash_vcs)s mv %(dir)s/* %(dir_slash_vcs)s @@ -897,7 +904,7 @@ self._checkout () elif self._current_revision () != self.revision: self._update (self.revision) - self.info ('downloaded version: ' + self.version () + '\n') + self.info ('downloaded version: ' + self.version ()) def _copy_working_dir (self, dir, copy): vc_system = self.vc_system