On Mon, Apr 16, 2012 at 10:03:03AM -0700, Junio C Hamano wrote: > > git filter-branch --index-filter ' > > git ls-files -sz | > > perl -0pe "s{\t}{\tnewsubdir/}" | > > git update-index --from-scratch -z --index-info > > ' HEAD > > Wouldn't "git read-tree --prefix=newsubdir/" suffice without the pipeline? > I.e. > > git filter-branch --index-filter ' > rm -f "$GIT_INDEX_FILE" > git read-tree --prefix=newsubdir/ "$GIT_COMMIT" > ' HEAD Yeah, I think it does (at least it makes sense to me, and worked on a simple test case). I think I might use "git read-tree --empty" instead of "rm", as it is a little more obvious what is going on. But other than that, it is much more readable. It is a slight shame not to show an "ls-files | update-index" example, because that is the most general form. But since this form is quite often cut-and-paste by people, I think simple is better here. If we want to show a more complex example, then we should add it separately. -Peff -- 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