Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Meta) Multiple updates in fork? #2

Open
totten opened this issue Aug 16, 2019 · 0 comments
Open

(Meta) Multiple updates in fork? #2

totten opened this issue Aug 16, 2019 · 0 comments

Comments

@totten
Copy link

totten commented Aug 16, 2019

This is a meta question. I work on a project that's been looking for a bower off-ramp and which gets used in several different file-structures. The approach in this plugin seems clever and like a pretty good fit. I've got some some usability improvements in a fork, but I also see the repo hasn't been updated in 2 years, so I'm not quite sure how to pursue publication -- e.g. whether to pursue a series of PRs or just keep the fork going.

Patch Queue

First, here's a preview of the changes:

  • Root project support: I tried the plugin like so: create a new folder with a new composer.json, copy the example snippet, run composer install, and.... nothing. I figured it wasn't working. After poking/testing/reading more carefully, I found it does work... but only for dependencies. If the extra-files are in the root project (which is one of the cases that I do need to use), then it doesn't work. It's easier to learn/test/develop/iterate when one has root-project support.
  • Tracking file: Suppose you locally edit the url of a file and re-run composer install. It doesn't do anything. The patch now uses a tracking file (.composer-extra-files.json) and re-downloads after any changes . I suppose it's not a big concern if you strictly consume packages (composer probably destroys the stale content in tandem with dependency-upgrade?), but it helps with learning/testing/developing/iterating.
  • Ignore lists: Several of the upstream zip/tar files that my project pulls include dev/test/doc/experimental bits that shouldn't appear in the final build.
  • Defaults (path, ignore): All the downloads in my intended project go under bower_components. It's handy to set the path with a default formula ("path": "bower_components/{$id}").

Details: https://github.com/totten/ComposerExtraFiles/commits/master

Approaches

I guess there are loosely two ways to go about this:

  • Aim to publish a v1.1 or v2.0 of this plugin. Split out my patches into separate PRs for more discussion/review. The upshot is probably a higher-quality outcome (more insight/eyes/perspectives). However, it's more admin-work and regression-risk.
  • Publish the fork under a different name. The upshot is less admin.
@totten totten changed the title (Meta) Multiple updates in fork (Meta) Multiple updates in fork? Aug 17, 2019
totten referenced this issue in civicrm/composer-downloads-plugin Aug 22, 2019
It's been two years since the original plugin had a revision...  but we need
most of these changes to be available on packagist.  (The raison d'etre is
to avoid extra configuration of custom-repos and root-projects.) Not optimistic
about the PR route per #2 -- so the other option is renaming.

Since we're renaming, it should be fairly thorough to ensure that we don't
accidentally introduces conflicts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant