<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 27 Jul 2017, at 17:35, Frediano Ziglio <<a href="mailto:fziglio@redhat.com" class="">fziglio@redhat.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="" class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""><br class=""><blockquote type="cite" class="">On 27 Jul 2017, at 17:00, Victor Toso <<a href="mailto:victortoso@redhat.com" class="">victortoso@redhat.com</a>> wrote:<br class=""><br class="">Hi,<br class=""><br class="">On Thu, Jul 27, 2017 at 04:28:59PM +0200, Christophe de Dinechin wrote:<br class=""><blockquote type="cite" class=""><br class=""><blockquote type="cite" class="">On 27 Jul 2017, at 16:04, Christophe Fergeau <<a href="mailto:cfergeau@redhat.com" class="">cfergeau@redhat.com</a>> wrote:<br class=""><br class="">On Thu, Jul 27, 2017 at 03:29:11PM +0200, Christophe de Dinechin wrote:<br class=""><blockquote type="cite" class=""><br class=""><blockquote type="cite" class="">On 27 Jul 2017, at 15:25, Frediano Ziglio <<a href="mailto:fziglio@redhat.com" class="">fziglio@redhat.com</a>> wrote:<br class=""><br class="">Signed-off-by: Frediano Ziglio <<a href="mailto:fziglio@redhat.com" class="">fziglio@redhat.com</a>><br class="">---<br class="">README | 2 +-<br class="">1 file changed, 1 insertion(+), 1 deletion(-)<br class=""><br class="">diff --git a/README b/README<br class="">index 45fbe89c..0fd6f071 100644<br class="">--- a/README<br class="">+++ b/README<br class="">@@ -27,7 +27,7 @@ Or to install into a private user specific location<br class="">The following mandatory dependencies are required in order to<br class="">build SPICE<br class=""><br class="">-    Spice protocol >= 0.9.0<br class="">+    Spice protocol >= 0.12.13<br class=""></blockquote><br class="">What is the rationale for spice-protocol not being a submodule?<br class=""></blockquote><br class="">It's used by multiple modules (spice-server, spice-gtk, the agent,<br class="">the QX driver, ..) and has a stable API.<br class=""></blockquote><br class="">And how does any of that not make it not a submodule?<br class=""><br class="">- Used by multiple modules: yes, that’s precisely what submodules are<br class="">for (that’s also the case for spice-common).<br class="">- Has a stable API: yes, but when we need to change it, it would be<br class="">nice to have that the change recorded in git history of the modules<br class="">using it.<br class=""><br class="">For example, a lot of the streaming work requires a branched-off<br class="">spice-protocol.<br class=""><br class="">I was also wondering about protocol updates being easier to do in a<br class="">consistent way if spice-protocol was “above” spice-serverr and<br class="">spice-gtk. Which could be solved by having a submodule structure like:<br class=""><br class=""><span class="Apple-tab-span" style="white-space: pre;">      </span>spice<br class=""><span class="Apple-tab-span" style="white-space: pre;">        </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-protocol<br class=""><span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-common<br class=""><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-server<br class=""><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-gtk<br class=""><br class="">instead of the current:<br class=""><br class=""><span class="Apple-tab-span" style="white-space: pre;">      </span>(nothing)<br class=""><span class="Apple-tab-span" style="white-space: pre;">    </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-protocol<br class=""><span class="Apple-tab-span" style="white-space: pre;">       </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice (not called spice-server)<br class=""><span class="Apple-tab-span" style="white-space: pre;">      </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-common<br class=""><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-gtk<br class=""><span class="Apple-tab-span" style="white-space: pre;">    </span><span class="Apple-tab-span" style="white-space: pre;">  </span><span class="Apple-tab-span" style="white-space: pre;">  </span>spice-common<br class=""><br class="">Christophe<br class=""></blockquote><br class="">Another discussion about how things should be done?<br class=""></blockquote><br class="">Not how things should be done, more “why are they done like this”. Trying to<br class="">understand if<br class="">it’s just “design by history and random evolution” or if there is an actual<br class="">rationale behind it.<br class=""><br class=""><blockquote type="cite" class=""><br class="">I don't see what you want to achieve here. Renaming? spice-protocol as<br class="">submodule? Why do you think this is important?<br class=""></blockquote><br class="">As I wrote above, if only because spice-protocol is currently a branch for<br class="">the streaming work.<br class=""><br class="">If I want to share a series of patch that impact multiple components, say (at<br class="">random) my<br class="">flight recorder work, I don’t see a good / consistent way to do it today.<br class=""><br class="">- Should I make ‘recorder’ an independent module like spice-protocol? But if<br class="">so, how do I sync it with the code using it?<br class="">- Should I make it a submodule like spice-common? But then, isn’t it annoying<br class="">to have that in half a dozen projects?<br class=""><br class="">What do you think is the correct way?<br class=""><br class=""><br class="">Christophe<br class=""><br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">So... you open a forum after we are discussing PRs and so on</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">with questions about repository renames, you reply to a mail</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">that update a dependency version in a README file and at the</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">end you ask why you can't do with your `recorder`.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Maybe it's just me but I'm a bit confused :-)</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></div></blockquote><div><br class=""></div>Believe me, I’m more confused than you are.<br class=""><div><br class=""></div><div>I should have made it clear since the start that all my questions stem from</div><div>the trouble I have finding the right way to do things on the various</div><div>topics I’m currently working on.</div><div><br class=""></div><div>I decided to start replying in patch comments because the answer I was</div><div>getting each time I asked a question or raised an issue was “there is no problem”.</div><div>So I decided to no longer stay mum about the problems and questions I have,</div><div>and point them out in patches. Sorry if it started with yours ;-)</div><div><br class=""></div><div>Right now, one of my problems is “why is the code organized this way”,</div><div>which derives from my desire to work on three topics that impact more than</div><div>one module, and “doing the right thing” for this work:</div><div><br class=""></div><div>1. the work on streaming, where I had all the trouble in the world</div><div>figuring out where the “correct” source code was, and still have issues</div><div>sync’ing with the rest of the world (e.g. when I want to update with</div><div>‘master’, but your branch is not up to date)</div><div><br class=""></div><div>2. the work on the flight recorder, where I know where the source code is,</div><div>but I don’t know how to share that in a way that would be convenient for others,</div><div><br class=""></div><div>3. the discussion / investigation on how to send feedback about overloaded client,</div><div>which seems to imply some protocol change. I actually want to use the fllght</div><div>recorder for the investigation, but that’s still a separate topic, so I wish I could</div><div>easily switch branches between ‘recorder’, ‘stream’, ‘master’ and ‘overload’</div><div>for all 4 components that are impacted without having to do it manually.</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div style="" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Maybe the solution for multiple repository to update is using</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">the same name for the branch.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></div></blockquote><div><br class=""></div><div>That’s not really a solution, but that’s a good damage reduction measure.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Not clear how your recorder interact with git.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></div></blockquote><div><br class=""></div><div>At the moment, it is a separate submodule. For server and gtk, I made it</div><div>a submodule of spice-common, and moved some of the log stuff there.</div><div>For the streaming agent, it’s just a regular submodule.</div><div><br class=""></div><div><br class=""></div>Thanks</div><div>Christophe<br class=""><blockquote type="cite" class=""><div class=""><div style="" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Frediano</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Spice-devel mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="mailto:Spice-devel@lists.freedesktop.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">Spice-devel@lists.freedesktop.org</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="https://lists.freedesktop.org/mailman/listinfo/spice-devel" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">https://lists.freedesktop.org/mailman/listinfo/spice-devel</a></div></div></blockquote></div><br class=""></body></html>