Hi again,

Felipe Contreras wrote:

> They have been marked as UNINTERESTING for a reason, lets respect that.

So, the above description conveyed zero information, as you mentioned.

A clearer explanation would be the following:

        fast-export: don't emit "reset" command for negative refs

        When "git fast-export" encounters two refs on the commandline
        referring to the same commit, it exports the first during the usual
        commit walk and the second using a "reset" command in a final pass
        over extra_refs:

                $ git fast-export master next
                reset refs/heads/master
                commit refs/heads/master
                mark :1
                author Jonathan Nieder <jrnie...@gmail.com> 1351644412 -0700
                committer Jonathan Nieder <jrnie...@gmail.com> 1351644412 -0700
                data 17
                My first commit!

                reset refs/heads/next
                from :1

        Unfortunately the code to do this doesn't distinguish between positive
        and negative refs, producing confusing results:

                $ git fast-export ^master next
                reset refs/heads/next
                from :0

                $ git fast-export master ^next
                reset refs/heads/next
                from :0

        Use revs->cmdline instead of revs->pending to iterate over the rev-list
        arguments, checking the UNINTERESTING flag bit to distinguish between
        positive (master, --all, etc) and negative (next.., --not --all, etc)
        revs and avoid enqueueing negative revs in extra_revs.

        This does not affect revs that were excluded from the revision walk
        because pointed to by a mark, since those use the SHOWN bit on the
        commit object itself and not UNINTERESTING on the rev_cmdline_entry.

A patch meeting the above description would make perfect sense to me.
Except for the somewhat strange testcase, the patch I am replying to
would also be fine in the short term, as long as it had an analagous
description (i.e., with an appropriate replacement for the
second-to-last paragraph).

Thanks for your patience, and hoping that helps,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to