I always check modules out from cvs and back into svn (via drush usually).
Just brought down hacked on a site where we have some patches against modules to make sure everything's in the contrib-stable / contrib-patched folder structure we use to manage this, and noticed that it's showing .info and LICENSE.txt as modified / deleted respectively - because these are modified / added by the packaging script rather than being that way in cvs.
Looks like there's two possible ways to deal with this - either find a way to pull down projects via cvs if that's in use, or maybe checking for the presence of cvs_deploy.module then modifying the diff rules to account for the .info and LICENSE.txt changes.
Filing as a bug report, but I realise this is quite feature-requesty.
Comments
Comment #1
steven jones commentedInternally Hacked! is just applying sha1 to the project files, so using cvs deploy to modify the diffing rules is a bit of a no-go.
I've just written some code that checks out modules from cvs for another project, so I'm going to look at integrating that with Hacked!
I'd imagine I might still depend on cvs deploy to get the branch/tag name and then use my code to download the code. Then we just don't cache the hashes too much and we're away!
Comment #2
steven jones commentedI've just committed some code that does now check CVS checkouts too. It needs some work though!
Comment #3
steven jones commentedI need to rethink the caching, CVS and download methods need to be cached in different places, hmmm... my 'weekend' module needs some daytime love.
Comment #4
steven jones commentedMoving to version 2.x
Comment #5
janusman commentedThe module could checkout using both the -r (branch) and -D (date) options, to check out the files from the correct branch and date... calculating the date could be tricky, although if the files originally were begotten via a tar.gz then the date is in the module's .info file.
If the module was itself a CVS checkout (and the control folders/files are in there) there might be another way.
Of course, all the files themselves could also be scanned and just use the latest date found among them.
Thus, inside hacked_cvs_checkout():
needs to become
where $date is the magic date number that needs to be calculated beforehand.
Comment #6
steven jones commentedCVS checkouts are now handled much better in 2.x.