On Wed, 21 Feb 2007, Linus Torvalds wrote: > > > On Wed, 21 Feb 2007, Michael Hendricks wrote: > > > > What's a decent way to make a branch into a new repository? My first > > inclination is to "cp -a" the existing repository, checkout the branch, > > delete all other branches and repack. That seems to have worked in my > > quick test, but is there a better way? > > That works. Btw, when I say "works", I do mean that "yeah, 'cp -a' works, but generally you're better off cloning". When you use 'cp -a' you have to re-build the index at the very least. It so happens that since you checked out the branch explicitly, that will do it for you anyway, but it's still often a good idea to just *not* use the regular "copy everything by hand" approach. If you want to be really efficient, there are actually better ways. For example, since you want to avoid having any of the old objects even reachable by mistake), you're probably better off with an explicit pull of the explicit branch, if only because that also involves a re-pack of only the reachable objects, and you know that there won't be any reflogs etc that might still make the object you try to remove be accessible to people who can access the resulting repository directly. (Yeah, the "cp -a" is faster than the "git pull", but since you want to do the packing that git pull does for you *anyway* to get rid of the old objects, "git pull" actually ends up being better). Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html