From: Junio C Hamano Date: Wed, 04 Feb 2009 20:55:24 GMT Subject: Re: [PATCH/RFC v3 4/9] unlink_entry(): introduce schedule_dir_for_removal() Message-ID: <7vfxitorb7.fsf@gitster.siamese.dyndns.org> In-Reply-To: <5e00462034e14b628ad6744edc1fad7daee78c5c.1233751281.git.barvik@broadpark.no> Kjetil Barvik writes: > Since the unlink_entry() function is called with alphabetically sorted > names, this new function end up being very effective to avoid > unnecessary calls to rmdir(). In some cases over 95% of all calls to > rmdir() is removed with this patch. I first feared that this will badly break D/F conflicting cases where we remove a file D/F that is the last remaining file in directory D and rely on the successful removal of the directory to create a file D, but the check_updates() function already is structured to allow this late removal easily. I think the patch is sensible modulo minor nits. * The new global path_buf/path_len in unpack-trees.c are named too generic. It is not just a buffer anybody can use for anything, but is used to keep track for a specific purpose of doing something, so please name them after that something. * "#define ALL_DIRS 0" is useless, given the way how the parameter to do_remove_scheduled_dirs() is named;