Any way to avoid repeatedly fetching files from SVN?

Ryan Schmidt ryandesign at macports.org
Mon Jan 21 17:43:52 PST 2013


On Jan 21, 2013, at 07:17, Mojca Miklavec wrote:

> On Mon, Jan 21, 2013 at 1:26 PM, Joshua Root wrote:

>> This is <https://trac.macports.org/ticket/16373>.
> 
> (Almost) perfect, thank you very much for the pointer. That describes
> my problem and a possible solution exactly.
> (Almost = because it's not implemented yet.)

It at least describes the problem and show that yes we do wish we had a better solution for the problem.


>>> b) making sure that timestamps during checkout are set to commit times
>>> (not checkout times), tar-gziping the contents and doing some kind of
>>> checksum on the resulting file (if checksum doesn't depend on the time
>>> when tar.gz is made)
>> 
>> I don't really understand what you're proposing here.
> 
> Just making a tar.gz file out of checked-out sources and store that
> one. I'm sorry for the confusing description, but it doesn't really
> matter what I wanted to suggest since the other option to keep a
> repository checkout would be much better.

If you have fetched the sources and wish to try again after making changes to the portfile that do not affect the fetching, you could use

sudo port -o install

"-o" means "don't clean a work directory older than the portfile"

That can work for a little while, but you have to remember to use "-o" and it's not convenient if you are trying to work on updating patchfiles.

A solution I used while working on alienarena (when their released version didn't work and I was fetching from svn) was to check out once (I think it came to about 1GB), then create a tarball of it and manually put that into distfiles/alienarena on my system, then change the port back to the default fetch.type and add those checksums (or even disable checksum checking). Then I could clean and try again as much as I wanted without having to re-fetch (unless I wanted to change what revision I was fetching). I didn't commit this but it did speed development.



More information about the macports-dev mailing list