From: Johannes Schindelin Date: Wed, 25 Mar 2009 22:13:23 GMT Subject: Re: [PATCH] fast-export: Avoid dropping files from commits Message-ID: In-Reply-To: <1238014519-11683-1-git-send-email-newren@gmail.com> Hi, On Wed, 25 Mar 2009, newren@gmail.com wrote: > From: Elijah Newren > > When exporting a subset of commits on a branch that do not go back to a > root commit (e.g. master~2..master), we still want each exported commit to > have the same files in the exported tree as in the original tree. > > Signed-off-by: Elijah Newren > --- Makes sense. > builtin-fast-export.c | 3 ++- > t/t9301-fast-export.sh | 7 +++++-- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/builtin-fast-export.c b/builtin-fast-export.c > index fdf4ae9..34a419c 100644 > --- a/builtin-fast-export.c > +++ b/builtin-fast-export.c > @@ -221,7 +221,8 @@ static void handle_commit(struct commit *commit, struct rev_info *rev) > if (message) > message += 2; > > - if (commit->parents) { > + if (commit->parents && > + get_object_mark(&commit->parents->item->object) != 0) { > parse_commit(commit->parents->item); > diff_tree_sha1(commit->parents->item->tree->object.sha1, > commit->tree->object.sha1, "", &rev->diffopt); I do not understand that change. A good explanation in the commit message might help this stupid developer. Ciao, Dscho