On 06.09.16 19:47, john smith wrote: > I am looking for a way to force smudge filter to run by simulating a > real life checkout. Let's say I just created a new branch and did not > modify any files but want to test my new smudge filter. According to > some answers such as > https://stackoverflow.com/questions/22909620/git-smudge-clean-filter-between-branches > and > https://stackoverflow.com/questions/21652242/git-re-checkout-files-after-creating-smudge-filter > it should be possible by running: > > git checkout HEAD -- > > but in doesn't work with git 2.9.0. Method suggested in accepted > answer here > https://stackoverflow.com/questions/17223527/how-do-i-force-git-to-checkout-the-master-branch-and-remove-carriage-returns-aft > works but I don't like because it seems fragile. Is there a safe way > to do what I want to do in Git still today? > It depends what you mean with "safe way". git checkout, git checkout -f or other combinations will only overwrite/rewrite the files in the working tree, if, and only if, git comes to the conclusion that "git add" will do something, like replace a blob for a file in the index. (And by running "rm .git/index git will evaluate the "clean" filters, and the CRLF->LF conversion). If you want to test a smudge filter, simply remove the file: mv file /tmp && git checkout file