[zeromq-dev] Converting Perl examples to ffi bindings?
Dylan Cali
calid1984 at gmail.com
Sun Dec 6 00:18:20 CET 2015
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/6fb9bfbf/attachment.htm>
More information about the zeromq-dev
mailing list