-
Notifications
You must be signed in to change notification settings - Fork 0
Description
I would suggest users post their patched distributions as unpacked directories. This allows us to use git to see what the changes are. With a bunch of tarballs, I don't know what changes were made, I have to trust the user's commit message.
This changes the procedure to...
- Unpack, add and commit the unpatched distribution.
- Patch & commit.
- Push (or pull request).
Which is what you'd do anyway. The downside is there needs to be an extra step to turn this into an archive. The upside is that's really simple to automate.
Then there's the question of whether we patch per release or per distribution. Do we put all the patches to Foo-Bar into one directory? Or do we put patches to DCONWAY/Foo-Bar-1.20.tar.gz into DCONWAY/Foo-Bar-1.20/ and patches to WIBBLE/Foo-Bar-1.21.tar.gz into WIBBLE/Foo-Bar-1.21? Or do we put them all into Foo-Bar/? There are valid arguments to both sides, depends on the type of patch. Sometimes you're patching bugs in a specific release, sometimes you're patching bugs applicable down the line.
A third option would be have one directory for each distribution, Foo-Bar, with each CPAN release already checked in and tagged. The procedure then becomes...
- git checkout Foo-Bar-1.20
- Patch & commit in Foo-Bar/
- git tag Foo-Bar-1.20.1
- git push
But you need a working Gitpan to do that.
In the short term, I'd say patching per release is the thing to do.
- Unpack
DCONWAY/Foo-Bar-1.20.tar.gzintoreleases/DCONWAY/Foo-Bar-1.20/ - Patch and commit your 1.20 specific patch.
- Push.
This allows people to see what's patched, apply release specific patches, and more easily work on top of other's patches for a given release. Putting it into the releases directory means later on we can decide to have a dists directory where patching is done per distribution, not per release.