--- Junio C Hamano <junkio@xxxxxxx> wrote: > Andreas Ericsson <ae@xxxxxx> writes: > > > Alex Riesen wrote: > >>>> >Which leads us to the always interesting, fun and exciting: > >>>> > > >>>> > git ls-tree -r HEAD | git update-index --index-info > >>>> > > >>>> >which will undo everything except 'git add' from the index, as > >>>> >ls-tree -r is listing everything in the last commit. > >>>> > > >>>> > >>>> ... and also shows The Power of the Pipe, which Daniel@google was > >>>> missing in recent versions of git. ;-) > >>>> > >>>> Btw, this is most definitely not a documented thing and requires a bit > >>>> of core git knowledge, so perhaps the "shell-scripts were good for > >>>> hackers to learn what to pipe where" really *is* a very important point. > >>> > >>> Agreed. > >> > >> Still, it is very impressive, it is supported (and will be > >> supported, I assume), > >> and as such - worth mentioning at least in these examples everyone keeps > >> dreaming about. Until that happened, why not mention that the output > >> of "git ls-tree" is compatible with --index-info of "update-index"? > > > > +1. Me likes, although I would amend the command-line that Shawn sent > > and describe what it does. Examples > descriptions everywhere else in > > the git docs, so it would be concise to do so. > > I do not like the one that does the whole tree that much. I > would think "git-read-tree -m HEAD" would be simpler and more Yep, that's what I use... "git-undo-update-index" is #!/bin/sh git-read-tree -m -i HEAD Luben > efficient if you are reverting the whole tree. > > On the other hand, I designed --index-info to be compatible with > ls-tree output (it is not an accident, it was designed). In > > git ls-tree HEAD frotz | git update-index --index-info > > "frotz" part does not have to be the exact path but can be a > directory name. It means "revert everything in this directory". > > This is quite heavy-handed and you would probably want to run > update-index --refresh afterwards. > > - > 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 > - 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