Re: [PATCH jn/fast-import-fix v3] fast-import: treat filemodify with empty tree as delete
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jan 27, 2011, 00:26 UTC
- Message-ID
- <20110127002607.GA30911@burratino>
- In-Reply-To
- <7vd3nji54o.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
>> Hmm. I suppose on top of b2124125 (jn/fast-import-fix). > > Hmm, why not on top of v1.7.3-rc0~75^2 aka 334fba6 (Teach fast-import to > import subtrees named by tree id, 2010-06-30) then?
That could work, too. ;-)
I was too lazy to check if the test case happens to work in the absence of the fixes from the fast-import-fix branch.
Show 12 quoted lines
>> +++ b/fast-import.c >> @@ -2194,6 +2194,16 @@ static void file_change_m(struct branch *b) >> p = uq.buf; >> } >> >> + /* >> + * Git does not track empty, non-toplevel directories. >> + */ >> + if (S_ISDIR(mode) && >> + !memcmp(sha1, (const unsigned char *) EMPTY_TREE_SHA1_BIN, 20) && > > Do you need this cast?
No, it's not needed.
(EMPTY_TREE_SHA1_BIN is a string constant, originally intended for use in initializers like
static const unsigned char empty_tree_sha1[20] = EMPTY_TREE_SHA1_BIN;
memcmp does not care about such considerations.)