--- /usr/share/juju-jitsu/sub-commands/import 2013-02-16 17:11:15.949787893 -0600 +++ /usr/share/juju-jitsu/sub-commands/import.dpkg-old 2013-02-16 08:53:32.138072701 -0600 @@ -74,24 +74,23 @@ charms = [] for s in data['services']: - if not any(cid == s['charm'] for cid, c in charms): - curl = CharmURL.infer(s['charm'], env.default_series) - if s['charm'].startswith('local:'): - if repository is None: - raise JujuError("Local charm needed but repository not specified") - try: - charm = yield repository.find(curl) - except CharmNotFound: - # retry with less specific version - charm = yield repository.find( - CharmURL.infer( - s['charm'][:s['charm'].rfind('-')], - env.default_series)) - charms.append((s['charm'], charm)) - else: - assert s['charm'].startswith('cs:') - charm = yield store.find(curl) - charms.append((s['charm'], charm)) + curl = CharmURL.infer(s['charm'], env.default_series) + if s['charm'].startswith('local:'): + if repository is None: + raise JujuError("Local charm needed but repository not specified") + try: + charm = yield repository.find(curl) + except CharmNotFound: + # retry with less specific version + charm = yield repository.find( + CharmURL.infer( + s['charm'][:s['charm'].rfind('-')], + env.default_series)) + charms.append((s['charm'], charm)) + else: + assert s['charm'].startswith('cs:') + charm = yield store.find(curl) + charms.append((s['charm'], charm)) # Upload charms to the environment publisher = CharmPublisher(client, provider.get_file_storage())