- show the repo name instead of alias upon removal
authorJan Kupec <jkupec@suse.cz>
Mon, 7 Jan 2008 11:03:25 +0000 (11:03 +0000)
committerJan Kupec <jkupec@suse.cz>
Mon, 7 Jan 2008 11:03:25 +0000 (11:03 +0000)
src/zypper-repos.cc
src/zypper-repos.h
src/zypper.cc

index 90b0953..3959bd3 100644 (file)
@@ -948,15 +948,15 @@ ostream& operator << (ostream& s, const vector<T>& v) {
 
 // ----------------------------------------------------------------------------
 
-static bool do_remove_repo(Zypper & zypper, const RepoInfo & repoinfo)
+bool remove_repo(Zypper & zypper, const RepoInfo & repoinfo)
 {
   RepoManager manager(zypper.globalOpts().rm_options);
   bool found = true;
   try
   {
     manager.removeRepository(repoinfo);
-    cout << format(_("Repository %s has been removed.")) % repoinfo.name() << endl;
-    MIL << format("Repository %s has been removed.") % repoinfo.name() << endl;
+    cout << format(_("Repository '%s' has been removed.")) % repoinfo.name() << endl;
+    MIL << format("Repository '%s' has been removed.") % repoinfo.name() << endl;
   }
   catch (const repo::RepoNotFoundException & ex)
   {
@@ -971,10 +971,14 @@ static bool do_remove_repo(Zypper & zypper, const RepoInfo & repoinfo)
 
 bool remove_repo(Zypper & zypper, const std::string &alias )
 {
-  RepoInfo info;
-  info.setAlias(alias);
+  list<RepoInfo> repos =
+    RepoManager(zypper.globalOpts().rm_options).knownRepositories();
+  for (list<RepoInfo>::const_iterator it = repos.begin();
+      it != repos.end(); ++it)
+    if (it->alias() == alias)
+      return remove_repo(zypper, *it);
 
-  return do_remove_repo(zypper, info);
+  return false;
 }
 
 bool remove_repo(Zypper & zypper, const Url & url, const url::ViewOption & urlview)
@@ -984,7 +988,7 @@ bool remove_repo(Zypper & zypper, const Url & url, const url::ViewOption & urlvi
   try
   {
     RepoInfo info = manager.getRepositoryInfo(url, urlview);
-    found = do_remove_repo(zypper, info);
+    found = remove_repo(zypper, info);
   }
   catch (const repo::RepoNotFoundException & ex)
   {
index 37aed31..5f774b0 100644 (file)
@@ -64,13 +64,15 @@ void add_repo_from_file(Zypper & zypper,
 void add_repo(Zypper & zypper, zypp::RepoInfo & repo);
 
 /**
- * Delte repository specified by \a alias.
+ * Remove repository specified by \a alias.
  */
 bool remove_repo(Zypper & zypper, const std::string &alias );
 
 bool remove_repo(Zypper & zypper,
                  const zypp::Url & url, const zypp::url::ViewOption & urlview);
 
+bool remove_repo(Zypper & zypper, const zypp::RepoInfo & repoinfo);
+
 /**
  * Rename repository specified by \a alias to \a newalias.
  */
index 8ec86b1..a38b99e 100644 (file)
@@ -2171,7 +2171,7 @@ void Zypper::cleanup()
   // remove the additional repositories specified by --plus-repo
   for (list<RepoInfo>::const_iterator it = gData.additional_repos.begin();
          it != gData.additional_repos.end(); ++it)
-    remove_repo(*this, it->alias());
+    remove_repo(*this, *it);
 }
 
 // Local Variables: