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

Dylan Cali calid1984 at gmail.com
Sun Dec 6 00:32:34 CET 2015


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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20151205/127d923d/attachment.htm>


More information about the zeromq-dev mailing list