From: Clemens Buchacher Date: Sat, 09 Oct 2010 13:52:55 GMT Subject: [PATCH 0/5] do not overwrite untracked files in leading path Message-ID: <1286632380-7002-1-git-send-email-drizzd@aon.at> In-Reply-To: <7v4oepaup7.fsf@alter.siamese.dyndns.org> Hi, On Fri, Aug 20, 2010 at 01:35:32PM -0700, Junio C Hamano wrote: > > $ echo foo >po > $ git checkout pu > > should error out, as "po" is a directory that has tracked > contents, and we never said the untracked regular file "po" is > trashable, but the above sequence happily checks the branch out. The following patch series is aimed at fixing this bug. Clemens [PATCH 1/5] t7607: use test_commit and test_must_fail [PATCH 2/5] t7607: add leading-path tests [PATCH 3/5] add function check_ok_to_remove() [PATCH 4/5] lstat_cache: optionally return match_len [PATCH 5/5] do not overwrite files in leading path cache.h | 2 +- symlinks.c | 64 +++++++++++++++------- t/t7607-merge-overwrite.sh | 129 +++++++++++++++++++++++++++++--------------- unpack-trees.c | 121 ++++++++++++++++++++++++----------------- 4 files changed, 200 insertions(+), 116 deletions(-)