How does GetIt Package Manager handle updates to packages? There are a few packages that I use that are available on both GitHub and GetIt. I haven't used GetIt much, so I'm not sure how/if it handles getting updates to packages. GetIt is convenient, but if its packages aren't up-to-date, I'll continue to use Git and just update things myself.

Comments

  1. I have asked that some time ago, but no any clear answer. As I understand GetIt doesn't handle any updates automatically. You need to update them by hand.

    ReplyDelete
  2. GetIt is not really a package manager, more like a feature manager.

    ReplyDelete
  3. I don't understand why anyone other than a hobbyist would use Getit. I understand that for a hobbyist, somebody who isn't doing what I would term professional development, perhaps not using revision control, Getit is quick and convenient.

    For professional developers surely you want to be in control of versioning.

    ReplyDelete
  4. David Heffernan I think I agree. I have found it useful to try out various packages, but I still manually install any packages that I'm actually using in my projects. Still, it would be nice if GetIt could also let you know when updates are available.

    ReplyDelete
  5. Scott Pinkham Do you install your packages per project, or a single instance of each package used by any projects? I use the last option but I've always had backward incompatibilities with some legacy apps...

    ReplyDelete
  6. Sébastien Paradis I do a little of both... I have a set of 'core' packages I use on every project, and some others that are only used with certain projects.
    Another thing I don't like about GetIt is how it scatters files all over the place (mostly in different folders within the Program Filesx86 folder) -- I generally like to put each of my packages in its own subfolder within one main 'Package' folder -- makes it easier to browse and check for updates. I have a different Package folder for each version of Delphi I have installed.

    ReplyDelete
  7. What happens when you need to release a fix to an old version of your project? You need to have the old version of your components too.

    ReplyDelete
  8. David Heffernan I always keep a kind of snapshot of dependencies when I know that a project won't be updated for a while. But as I do it manually sometimes I forget some packages/components...
    My own sources are now versioned using git so I can always retrieve previous versions; but for 3rd part libs it is sometimes more tricky.
    Since I experimented PHP's composer and its "vendor" folder, I hope to see a package manager with such a behavior under Delphi one day...

    ReplyDelete
  9. I don't think it's tricky with third party dependencies. You include all dependent source code in your revision control project.

    ReplyDelete
  10. Yes but to do that you have to locate your 3rd part sources in project's directory. What if you installed a single instance of your 3rd part globally in its own folder, outside your versioned project, to be used by many client apps?

    ReplyDelete
  11. Then you can't do maintenance development on historical releases.

    ReplyDelete
  12. David Heffernan What would be really nice to have would be "virtual environments" like Python has, combined with a capable package manager (particularly one that doesn't exclude software like Mormot). The two together would make tasks like setting up a new machine for working on a specific project extremely simple. Just pass GetIt a single requirements file (that would include package version numbers) and you'd have a duplicate environment in short order.

    Right now GetIt is more like an app store than a package manager.

    ReplyDelete

Post a Comment