\r
public void CheckUpgrade()\r
{\r
- PackageList<Package> packageList = pkgListMan.AvailablePkgList;\r
- string[] exclude = NaGet.Env.ExcludeUpdatePackageNames;\r
- \r
- VersionComparetor verComp = new VersionComparetor();\r
- \r
- foreach (InstalledPackage pkg in pkgListMan.InstalledPkgList) {\r
- if (Array.IndexOf(exclude ?? new string[0], pkg.Name) < 0) {\r
- Package avaiablePkg = packageList.GetPackageForName(pkg.Name);\r
- if (avaiablePkg != null) {\r
- if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
- pkgListMan.InstalledPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
- \r
- Console.WriteLine("{0} ({1}) => ({2})", pkg.Name, pkg.Version, avaiablePkg.Version);\r
- }\r
- }\r
- }\r
- }\r
- foreach (InstalledPackage pkg in pkgListMan.SystemInstalledPkgList) {\r
- if (Array.IndexOf(exclude ?? new string[0], pkg.Name) < 0) {\r
- Package avaiablePkg = packageList.GetPackageForName(pkg.Name);\r
- \r
- if (avaiablePkg != null) {\r
- if (verComp.Compare(pkg.Version, avaiablePkg.Version) < 0 &&\r
- pkgListMan.SystemInstalledPkgList.GetPackageForPackage(pkg.Name, avaiablePkg.Version) == null) {\r
- \r
- Console.WriteLine("{0} ({1})@sys => ({2})", pkg.Name, pkg.Version, avaiablePkg.Version);\r
- }\r
+ foreach (Package pkg in UpgradeFinder.GetUpgradePackages(pkgListMan)) {\r
+ bool isSystem = false;\r
+ Package instPkg = null;\r
+ \r
+ instPkg = pkgListMan.SystemInstalledPkgList.GetPackageForName(pkg.Name);\r
+ if (instPkg != null) {\r
+ isSystem = true;\r
+ } else {\r
+ instPkg = pkgListMan.InstalledPkgList.GetPackageForName(pkg.Name);\r
+ if (instPkg != null) {\r
+ isSystem = false;\r
+ } else {\r
+ System.Diagnostics.Debug.Fail("internal error.");\r
}\r
}\r
+ \r
+ Console.WriteLine("{0} ({1}){3} => ({2})", pkg.Name, instPkg.Version, pkg.Version, (isSystem)? "@sys" : "");\r
}\r
}\r
\r
}\r
mc.Update();\r
break;\r
- case "localupate":\r
+ case "localupdate":\r
if (args.Length != 1) {\r
Console.WriteLine("E: The update command takes no arguments");\r
Environment.Exit(1);\r