#grpc

/

      • tommmied joined the channel
      • Guest89342 has quit
      • vinay joined the channel
      • vinay is now known as Guest93927
      • Guest93927 has quit
      • bramp has quit
      • bramp joined the channel
      • supershabam joined the channel
      • Gunni joined the channel
      • vinay joined the channel
      • vinay is now known as Guest95668
      • Guest95668 has quit
      • mehola joined the channel
      • vinay joined the channel
      • vinay is now known as Guest41245
      • Guest41245 has quit
      • Tica2 joined the channel
      • mehola joined the channel
      • pixelate joined the channel
      • kolmodin has quit
      • tommmied joined the channel
      • zls_ joined the channel
      • zls_
        hey guys, i'm wondering if there are any guarantees about language backward-compatibility in protobuf
      • *syntax
      • err sorry
      • i mean the text encoded format
      • aj_ joined the channel
      • ejona
        zls_: Hmm... I don't know. I do know it is frequently used as an on-disk format for configuration, so changing it would cause pain.
      • vinay joined the channel
      • vinay is now known as Guest98770
      • Guest98770 has quit
      • aj_ has quit
      • aloiscochard joined the channel
      • zls_
        ejona: that's exactly what we're studying about doing. I believe the binary format is back-compatible so i'm not sure why the text version wouldn't be
      • ejona
        zls_: Well, they are different formats and the text format is not as clearly specified. I'd have no reservation of using it for configuration.
      • I think it may have been intended as a debug-only format. But it has grown to be much more than that.
      • I can ask a protobuf dev about it. But I don't know of any "official" "this won't change" messaging.
      • |Pixel|
        stupid question: why would you want to prefer the text version over the binary version ?
      • ejona
        I see teams do it when they want to provide configuration to their application. The configuration may be checked in to source control.
      • (And hand modified)
      • |Pixel|
        myeah
      • ejona
        You could convert that to binary proto as part of the build process, but it still expects the format to be fixed.
      • As a concrete example, we did that with the interop tests to define which tests should be run :)
      • |Pixel|
        I personally find that a piece of json might look a bit more tractable as a configuration file
      • ejona
        zls_: Actuall, |Pixel| brings up a good point. In proto3 the JSON is the "preferred text format". So you may use that instead.
      • zls_
        yeah we want text because we want it to be sensible for a human to look at and understand
      • Guest41236 joined the channel
      • Guest41236 has quit
      • vinay joined the channel
      • vinay is now known as Guest19998
      • lungaro
        having some weird issues with grpc proto includes an imports
      • ejona
        You're still having the import loops?
      • Guest19998 has quit
      • lungaro
        well i'm trying various things to see what works best. Go and python together dont mix well
      • I wanted to set the include path to $GOPATH/src but that generates retardedly long import paths
      • if I want to use the same imports, I need to make the include paths work correctly and mimic the structure which is a major pita
      • ejona
        Oh, I see. I don't know what the recommendation is for Go.
      • But I do understand.
      • lungaro
        i guess its really a problem with imports
      • I dont feel like making symlinks everywhere but that's the most reasonable way I can see
      • ejona
        Or silly amounts of include paths
      • lungaro
        yeah. I wanted to coy go imports out of convenience. so you'd have a .proto file with .. import "github.com/lungaro/whatever/service.proto";
      • cop=copy*
      • . in a name doesn't play well w/ python either
      • ejona
        Yeah, but that would be a go-ism, which proto wouldn't share with other languages.
      • lungaro
        i mean all i'm talking about though is protoc getting the correct .proto file included
      • its like I need the ability to strip a prefix on output
      • afaics the location of the .proto file determines the generated include path, correct?
      • ejona
        Using the "normal" include and then using -I with protoc seems going with the flow more.
      • I think there is a mapping that Go allows.
      • (with -M)
      • It's just M