#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 cal@…): Keeping a (bare repo) clone of the whole thing would speed up fetching even after a port is updated, though. Packaging tarballs wouldn't. Also we can't easily avoid the git dependency because by the time the fetch phase is started we wouldn't know whether our mirrors already had a generated tarball or we'd have to fetch from git. I guess getting this implemented using bare clones wouldn't be so hard after all. For git, you'd have to - generate a unique identifier from the repository URL (e.g. using a hash function) - test whether $cachedir/$identifier is a valid git repository - create a bare clone if it isn't, run git fetch if it is - export the version/revision/tag you need from $cachedir/$identifier into $worksrcdir. I think that's actually easier to implement than getting the mirroring stuff you propose into the scripts that update our distfile mirrors. -- Ticket URL: <https://trac.macports.org/ticket/16373#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X