How does Sugar deal with conflicts in Module Loader packages?

Let's say I install a Module Loader package that makes changes to files modified by a previously installed Module Loader package. Does Sugar have any provisions to resolve the conflict between the two packages, such as always using the code from the most recent package? Or, do older packages not matter at all, once they are installed and incorporated into the application?

I'm asking this because I'm trying to figure out how important it is to remove older versions of packages before installing newer versions.

  • As long as the packages are versioned properly matching files between versions will be overwritten with the most recent. The previous version files are stored in the upload/upgrades directory and restored if the more recent version is uninstalled.

    Files that are in a previous version and not in a more recent version are not automatically removed.