2009/8/10 Johannes Schindelin <Johannes.Schindelin@xxxxxx>: > Hi, > > On Mon, 10 Aug 2009, Nguyễn Thái Ngọc Duy wrote: > >> This patch teaches unpack_trees() to checkout/remove entries on working >> directories appropriately when sparse checkout area is changed. Hook >> "sparse" is needed to help determine which entry will be checked out, >> which will not be. >> >> When the hook is run, it is prepared with a pseudo index. The hook then >> can use "git update-index --[no-]assume-unchanged" to manipulate the >> index. It should not do anything else on the index. Assume unchanged >> information from the index will be used to shape working directory. > > If I understand correctly, the purpose of the hook is to allow the user to > mark something as unwanted preemptively, right? > > If that is the sole reason for the hook, would it not be better to add > support for a file .git/info/sparse which has the same syntax as > .git/info/exclude, and which is used to determine if an > added/modified/deleted file is supposed to be in the "sparse" area or not? > > Something like > > * > !/Documentation/ > > comes to mind. That was what the original series was about (although I used git config instead of .git/info/sparse). The hook has two advantages: - flexibility: you can set things differently based on branch, for example, or filter files based on certain file content. - less code bloat (and less intrusive too), compare ~1000 lines of change of the original series with this series. -- Duy -- 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