~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to baz2bzr

  • Committer: abentley
  • Date: 2005-04-28 10:17:20 UTC
  • Revision ID: abentley@lappy-20050428101720-b700659d979c82f5
Added ability to run from the commandline

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
import os.path
12
12
import shutil
13
13
import bzrlib
 
14
import sys
14
15
bzrlib.trace.create_tracefile([])
15
16
 
16
17
def add_id(files, id=None):
157
158
    >>> commit_test_revisions()
158
159
    >>> version = pybaz.Version("test@example.com/test--test--0")
159
160
    >>> import_version(result_path, version)
 
161
    Importing 3 revisions
 
162
    ...
160
163
    >>> teardown_environ(q)
161
164
    """
162
165
    tempdir = tempfile.mkdtemp(prefix="baz2bzr")
163
166
    try:
164
167
        revdir = None
165
 
        for revision in version_ancestry(version):
 
168
        ancestors = version_ancestry(version)
 
169
        print "Importing %i revisions" % len(ancestors)
 
170
        for revision in ancestors:
 
171
            sys.stdout.write(".")
166
172
            if revdir is None:
167
173
                revdir = os.path.join(tempdir, "rd")
168
174
                baz_inv, log = get_revision(revdir, revision)
178
184
            branch.set_inventory(baz_inv)
179
185
            branch.commit(log.summary)
180
186
 
 
187
        sys.stdout.write('\n')
181
188
        os.rename(revdir, output_dir)   
182
189
    finally:
183
190
        shutil.rmtree(tempdir)
192
199
    inv_iter = tree.iter_inventory_ids(source=True, both=True)
193
200
    inv_map = {}
194
201
    for file_id, path in inv_iter:
195
 
        inv_map[file_id] = path 
 
202
        inv_map[path] = file_id 
196
203
 
197
204
    bzr_inv = []
198
 
    for file_id, path in inv_map.iteritems():
 
205
    for path, file_id in inv_map.iteritems():
199
206
        kind = bzrlib.osutils.file_kind(os.path.join(tree, path))
200
207
        assert kind in ("file", "directory")
201
208
        parent_dir = os.path.dirname(path)
207
214
    bzr_inv.sort()
208
215
    return bzr_inv
209
216
 
210
 
import doctest
211
 
doctest.testmod()
 
217
if len(sys.argv) == 2 and sys.argv[1] == "test":
 
218
    print "Running tests"
 
219
    import doctest
 
220
    doctest.testmod()
 
221
elif len(sys.argv) == 3:
 
222
    import_version(sys.argv[2], pybaz.Version(sys.argv[1]))
 
223
else:
 
224
    print "usage: %s VERSION OUTDIR" % os.path.basename(sys.argv[0])