[zeromq-dev] Converting Perl examples to ffi bindings?

Dylan Cali calid1984 at gmail.com
Sun Dec 6 16:22:26 CET 2015


Ok I went ahead and created a fixup PR.  It reverts #600 and re-merges just
the C# changes.  For the stuff outside of C# it looks like everything is
restored.  For the C# changes I think I was able to preserve everything but
I added an @mention for chubbson to review.

On Sun, Dec 6, 2015 at 9:02 AM, Dylan Cali <calid1984 at gmail.com> wrote:

> Hi Pieter,
>
> Not a problem.  It would probably be better to revert 600 like Brian said
> and recommit the C# changes.  Reason being there was more than just the
> Perl examples that got lost and it will help ensure we recover everything.
>
> I can submit a PR for those, does that work?
>
> Thanks,
> Dylan
>
> On Sun, Dec 6, 2015 at 5:01 AM, Pieter Hintjens <ph at imatix.com> wrote:
>
>> Dylan, I'm sorry for merging #600 without checking it in detail. I've
>> never had to do that before.
>>
>> Will you send a PR with the correct perl examples?
>>
>> On Sun, Dec 6, 2015 at 12:32 AM, Dylan Cali <calid1984 at gmail.com> wrote:
>> > Yep, I was missing something... you're right, the PR 600 merge
>> introduced
>> > the problems, not 599.
>> >
>> > Proven easily by just looking at the state of the world as of 7e2c6de
>> (sane)
>> > and at the state of the world as of d8b4d46 (insane).
>> >
>> > Sigh, if only I had done that before clicking send... c'est la vie
>> >
>> >
>> > On Sat, Dec 5, 2015 at 6:18 PM, Dylan Cali <calid1984 at gmail.com> wrote:
>> >>
>> >> Brian, unless I'm missing something I really do think the problem
>> started
>> >> with PR 599.  If you do an explicit diff against the previous commit
>> before
>> >> the merge (c076f1e) you'll see the errant changes:
>> >>
>> >> $ git diff c076f1e ca52dc7 --name-only
>> >>
>> >>
>> >> ca52dc7~ refer's to the first ancestor  of ca52dc7, which in this case
>> is
>> >> not the first commit before the merge, it's a very old commit 10564b...
>> >> that's why git diff doesn't show any changes in that case, because
>> there
>> >> aren't any.
>> >>
>> >> $ git show ca52dc7~
>> >> commit 10564bdaa0e3578a9cdcb1ca70f0db2ed3b4bdd7
>> >> Merge: 6e2a0cb 6b502a1
>> >> Author: metadings <metadings at live.de>
>> >> Date:   Sun Aug 2 00:17:05 2015 +0200
>> >>
>> >>     Merge branch 'master' of git+ssh://github.com/imatix/zguide
>> >>
>> >>
>> >> This is also why git bisect returns ca52dc7, because in terms of linear
>> >> history it is the first commit where problems show up (because it's
>> the last
>> >> commit brought in by the 599 merge):
>> >>
>> >> $ git log --oneline --pretty="format:%h" | grep -A1 ca52dc7
>> >> ca52dc7
>> >> c076f1e
>> >>
>> >>
>> >> So the PR 599 merge had two parents c076f1e (master) and dc52dde (HEAD
>> of
>> >> chubbson's branch):
>> >>
>> >> $ git log -n1 --pretty=short 7e2c6de
>> >> commit 7e2c6de8bc029910e1db8feff4d8e6a2671df20a
>> >> Merge: c076f1e dc52dde
>> >> Author: Pieter Hintjens <ph at imatix.com>
>> >>
>> >>     Merge pull request #599 from chubbson/master
>> >>
>> >>
>> >> Unfortunately, because the history on dc52dde is so out of date the
>> merge
>> >> base was also really old:
>> >>
>> >> $ git merge-base c076f1e dc52dde
>> >> 10564bdaa0e3578a9cdcb1ca70f0db2ed3b4bdd7
>> >>
>> >> $ git log -n1 10564bd
>> >> commit 10564bdaa0e3578a9cdcb1ca70f0db2ed3b4bdd7
>> >> Merge: 6e2a0cb 6b502a1
>> >> Author: metadings <metadings at live.de>
>> >> Date:   Sun Aug 2 00:17:05 2015 +0200
>> >>
>> >>     Merge branch 'master' of git+ssh://github.com/imatix/zguide
>> >>
>> >>
>> >> So during the merge of 599 it looks like the conflict resolution went
>> >> south and clobbered a lot of history (not just Perl) by favoring the
>> state
>> >> of the chubbson's branch parent dc52dde over the parent from master
>> c076f1e.
>> >>
>> >> You can explicitly diff the two parents for the 599 merge and see this
>> is
>> >> in fact where the conflict happened:
>> >>
>> >> $ git diff --name-only 7e2c6de^1 7e2c6de^2
>> >>
>> >>
>> >> And just to prove those parents are the commits we think they are:
>> >>
>> >> $ git show --quiet --format="%h" 7e2c6de^1 7e2c6de^2
>> >> c076f1e
>> >> dc52dde
>> >>
>> >>
>> >> That said, simply reverting 7e2c6de doesn't resolve things... so maybe
>> I
>> >> am still missing something :)
>> >>
>> >>
>> >> On Sat, Dec 5, 2015 at 5:16 PM, Brian Silverman <
>> brian at peloton-tech.com>
>> >> wrote:
>> >>>
>> >>> ca52dc7 is the wrong commit (`git diff ca52dc7~..ca52dc7
>> examples/Perl`
>> >>> shows nothing). I'm pretty sure it was actually d8b4d46015c30 which
>> >>> introduced the bad changes into the master branch, which is a merge
>> >>> (confirmed with `git diff d8b4d46015c30~..d8b4d46015c30`). I think
>> the issue
>> >>> is that 1c5b0051c9a was an incorrect merge into somebody else's
>> repository,
>> >>> which meant various changes got overwritten when it was subsequently
>> merged
>> >>> back. That bad commit is a merge which doesn't bring in any changes,
>> which
>> >>> means git thinks a bunch of remote changes were brought in but they
>> actually
>> >>> weren't so they effectively got reverted.
>> >>>
>> >>> `git revert -m1 d8b4d46015c30` takes care of all the accidental
>> changes
>> >>> introduced with that merge, but has conflicts in examples/C# which I
>> think
>> >>> are because of the changes intentionally introduced with that merge.
>> `git
>> >>> reset HEAD examples/C# && git checkout -- examples/C#` resolves the
>> >>> conflicts, but it also undoes all the changes which were intended to
>> be
>> >>> brought in by that merge. Not really sure what the right thing to do
>> is (in
>> >>> particular because I think some changes to examples/C# were reverted
>> the
>> >>> same way the ones to examples/Perl and various other subdirectories
>> were).
>> >>>
>> >>> I found that commit using `git log --full-history examples/Perl`.
>> >>> Apparently git's history simplification is not helpful in this
>> situation.
>> >>>
>> >>> On Sat, Dec 5, 2015 at 4:48 PM Pieter Hintjens <ph at imatix.com> wrote:
>> >>>>
>> >>>> This is strange. I've never seen this happen before. Git has gotten
>> >>>> confused somehow.
>> >>>>
>> >>>> On Sat, Dec 5, 2015 at 10:22 PM, Dylan Cali <calid1984 at gmail.com>
>> wrote:
>> >>>> > Ok, using git bisect ca52dc7 appears to be the offending commit.
>> This
>> >>>> > got
>> >>>> > pulled in as part of PR 599 "mdp samples in C#."
>> >>>> >
>> >>>> > git log doesn't show any changes to the Perl directory.  Only by
>> doing
>> >>>> > an
>> >>>> > explicit git diff against the previous commit can I get the
>> changes to
>> >>>> > show
>> >>>> > up:
>> >>>> >
>> >>>> > $ git diff c076f1e ca52dc7
>> >>>> >
>> >>>> > Weird, I wonder what happened?
>> >>>> >
>> >>>> >
>> >>>> > On Sat, Dec 5, 2015 at 3:36 PM, Dylan Cali <calid1984 at gmail.com>
>> >>>> > wrote:
>> >>>> >>
>> >>>> >> Hey Pieter,
>> >>>> >>
>> >>>> >> All the converted Perl examples seem to have gotten reverted
>> back...
>> >>>> >> any
>> >>>> >> idea what happened?
>> >>>> >>
>> >>>> >> Thanks
>> >>>> >>
>> >>>> >> On Wed, Oct 21, 2015 at 5:38 AM, Pieter Hintjens <ph at imatix.com>
>> >>>> >> wrote:
>> >>>> >>>
>> >>>> >>> Sounds like a good plan.
>> >>>> >>>
>> >>>> >>> On Wed, Oct 21, 2015 at 3:46 AM, Dylan Cali <calid1984 at gmail.com
>> >
>> >>>> >>> wrote:
>> >>>> >>> > Hello,
>> >>>> >>> >
>> >>>> >>> > Would there be any objection to converting the Perl examples in
>> >>>> >>> > the
>> >>>> >>> > guide to the ffi bindings?  Full disclosure, I'm the
>> >>>> >>> > author/maintainer
>> >>>> >>> > of the ffi bindings.
>> >>>> >>> >
>> >>>> >>> > Compared to the XS bindings the ffi bindings are more actively
>> >>>> >>> > maintained and work with all versions of zeromq (and obviously
>> >>>> >>> > don't
>> >>>> >>> > require compilation).
>> >>>> >>> >
>> >>>> >>> > Thanks,
>> >>>> >>> > Dylan
>> >>>> >>> >
>> >>>> >>> > https://github.com/calid/zmq-ffi
>> >>>> >>> > _______________________________________________
>> >>>> >>> > zeromq-dev mailing list
>> >>>> >>> > zeromq-dev at lists.zeromq.org
>> >>>> >>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>> >>> _______________________________________________
>> >>>> >>> zeromq-dev mailing list
>> >>>> >>> zeromq-dev at lists.zeromq.org
>> >>>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>> >>
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>> > _______________________________________________
>> >>>> > zeromq-dev mailing list
>> >>>> > zeromq-dev at lists.zeromq.org
>> >>>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>> >
>> >>>> _______________________________________________
>> >>>> zeromq-dev mailing list
>> >>>> zeromq-dev at lists.zeromq.org
>> >>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> zeromq-dev mailing list
>> >>> zeromq-dev at lists.zeromq.org
>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>
>> >>
>> >
>> >
>> > _______________________________________________
>> > zeromq-dev mailing list
>> > zeromq-dev at lists.zeromq.org
>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20151206/f0632c47/attachment.htm>


More information about the zeromq-dev mailing list