I consider the first one is not part of the series but a bugfix. The remainder is to teach "git checkout" not to punt in the middle once it has started touching the work tree. It does _not_ attempt to autorename a file whose name is NUL to something else. Partly because I personally think that sort of magic (or "a cute hack") makes the system unnecessarily complex and fragile while not adding much to the usability, but more importantly because I do not think we are ready to adopt that kind of complexity yet, before fixing more basic issue like this series addresses. [PATCH 1/5] "git checkout -- paths..." should error out when paths cannot be written [PATCH 2/5] checkout: make reset_clean_to_new() not die by itself [PATCH 3/5] checkout: consolidate reset_{to_new,clean_to_new|() [PATCH 4/5] unpack_trees(): allow callers to differentiate worktree errors from merge errors [PATCH 5/5] checkout: "best effort" checkout [PATCH 6/5] NUL hack to create_file() -- 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