#16373: svn git and hg fetch type should maintain a persistent working copy ---------------------------+-------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: MacPorts Future Component: base | Version: 1.7.0 Resolution: | Keywords: performance fetch Port: | ---------------------------+-------------------------------- Comment (by mojca@…): Sure, keeping the whole repository (and cleaning it in case it turns out to be "broken" or changed in unexpected ways) would be the optimal solution, but the solution I was talking about would probably be a lot faster to implement: it would be similar to what the `GitHub PortGroup` does for example. It fetches a `.tar.gz` file from GitHub (even though it could clone the git repo) and calculates the checksums. If the checksum matches, all is well and a copy of that file gets mirrored on one of the MacPorts server. The solution I suggest would: * check if `${distfile}` exists * if not, clone the git repository and create a `${name.version}.tar.gz`/`${name.version}.tar.xz` of the desired branch/tag/version in `${distpath}`, delete the temporary git clone * verify the checksums, extract the contents as usual ... So something similar to what GitHub and BitBucket PortGroup already do (except that those fetch the distfiles from the server already). I mentioned this because I believe it would be relatively easy to implement and it would allow to keep a mirror of a particular version on the server. -- Ticket URL: <https://trac.macports.org/ticket/16373#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X