~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/export/tar_exporter.py

  • Committer: Robert Collins
  • Date: 2007-03-08 04:06:06 UTC
  • mfrom: (2323.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 2442.
  • Revision ID: robertc@robertcollins.net-20070308040606-84gsniv56huiyjt4
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005 Canonical Ltd
2
 
 
 
1
# Copyright (C) 2005, 2006 Canonical Ltd
 
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
5
5
# the Free Software Foundation; either version 2 of the License, or
6
6
# (at your option) any later version.
7
 
 
 
7
#
8
8
# This program is distributed in the hope that it will be useful,
9
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
11
# GNU General Public License for more details.
12
 
 
 
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20
20
import os
21
21
from bzrlib.trace import mutter
22
22
import tarfile
 
23
from bzrlib import errors, export
23
24
 
24
25
 
25
26
def tar_exporter(tree, dest, root, compression=None):
32
33
    now = time()
33
34
    compression = str(compression or '')
34
35
    if root is None:
35
 
        root = get_root_name(dest)
36
 
    try:
37
 
        ball = tarfile.open(dest, 'w:' + compression)
38
 
    except tarfile.CompressionError, e:
39
 
        raise BzrError(str(e))
 
36
        root = export.get_root_name(dest)
 
37
    ball = tarfile.open(dest, 'w:' + compression)
40
38
    mutter('export version %r', tree)
41
39
    inv = tree.inventory
42
 
    for dp, ie in inv.iter_entries():
 
40
    entries = inv.iter_entries()
 
41
    entries.next() # skip root
 
42
    for dp, ie in entries:
43
43
        # .bzrignore has no meaning outside of a working tree
44
44
        # so do not export it
45
45
        if dp == ".bzrignore":