diff -r c20c2c4c0c63 -r 57bdc2239535 mercurial/archival.py --- a/mercurial/archival.py Wed Jul 14 20:41:01 2010 +0200 +++ b/mercurial/archival.py Wed Jul 14 20:25:31 2010 +0200 @@ -35,6 +35,20 @@ raise util.Abort(_('archive prefix contains illegal components')) return prefix +exts = { + 'tar': ['.tar'], + 'tbz2': ['.tbz2', '.tar.bz2'], + 'tgz': ['.tgz', '.tar.gz'], + 'zip': ['.zip'], + } + +def guesskind(dest): + for kind, extensions in exts.iteritems(): + if util.any(dest.endswith(ext) for ext in extensions): + return kind + return None + + class tarit(object): '''write archive to tar file or stream. can write uncompressed, or compress with gzip or bzip2.'''