I fiddle a little around the use of mercurial repos. <br /><br />For GIT the steps are:<br /><br />fetch - clone the remote repo to DOWNLOADDIR, but if there already a cloned repo in GARCHIVEDIR (/home/src) it will take this and don't connect to the remote repository (target gitrepo:). <br />If no repo in GARCHIVEDIR, mgar will clone the remote repository to DOWNLOADDIR.<br /><br />makesums - don't create checksums, but copies the git repo from DONWLOADDIR to GARCHIVEDIR, if it not exists already (target $(GARCHIVEDIR)/%:)<br /><br />extract - creates an archive from repo in DONWLOADDIR and extracts the archive in WORKDIR.<br /><br />This leads to some unexpected behavior if the repo in GARCHIVEDIR gets old. So if you 
get some mysterious errors with fetch a GIT_REPOS it is a good idea to delete 
the repo in GARCHIVEDIR.<br /><br />Related to the trouble with old repositories in GARCHIVEDIR I am wondering if it better not to use GARCHIVEDIR for GIT and Mercurial repositories? <br />Or create an archive of the remote repo with name DISTNAME.tar.gz in GARCHIVEDIR instead of copy of the repo? So you can see the version of the source, sure only if the tag is not HEAD or tip.<br /><br />Any thoughts?