<div dir="ltr"><div>It all sounds fairly perforce-specific, and I'm not a perforce user.  But as long as it doesn't interfere with existing perforce behaviors, I don't see any reason not to merge it.<br><br></div>Dustin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 5, 2016 at 8:25 AM, Vedran Krivokuca <span dir="ltr"><<a href="mailto:vkrivokuca@gmail.com" target="_blank">vkrivokuca@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
<br>
I have made a slight modification of one of the source steps in<br>
Buildbot, concerning support for Perforce streams. My idea is to now<br>
make pull requests for both master and eight branch (have separate<br>
patches prepared for that), but I would like your input if you want it<br>
contributed some other way.<br>
<br>
Streams are "light-weight" branching mechanism which resemble<br>
Git-style branching more than the "old" "SVN-style" depots and<br>
branches which were the default approach with Perforce few years ago.<br>
<br>
On Perforce Streams in general:<br>
<a href="http://www.perforce.com/perforce/doc.current/manuals/p4v/streams_overview.html" rel="noreferrer" target="_blank">http://www.perforce.com/perforce/doc.current/manuals/p4v/streams_overview.html</a><br>
<br>
So, why is this important?<br>
<br>
Streams are more of a "virtual" storage mechanism in Perforce, they<br>
can reference parent streams only partially, can re-map parts of the<br>
parent streams and so on... When replicating a Stream just like a<br>
regular Depot (which current implementaiton of P4 source step always<br>
doesi n Buildbot), these changes can reflect partially.<br>
<br>
As an illustration, please observe attached graph of Stream depencies<br>
on a live development project:<br>
<br>
 - Box A represents mainline stream<br>
 - Boxes B, C, D (and all of their same-level counterparts) represent<br>
various feature/development streams<br>
 - Box E represents a virtual stream, which remaps parts of the folder<br>
hierarchy from the stream E to reflect needs of the stream in the box<br>
F<br>
 - Finally, box F represents completely new development project, which<br>
relies on the parts of the source code from the stream in the box D<br>
<br>
With the current implementation of the Perforce support in Buildbot,<br>
box A always works fine (can be directly 1:1 replicated as if it's<br>
being an old-style Perforce depot).<br>
<br>
Boxes B-D can backfire, depending on the complexity of their setup (i.<br>
e. if they have remapped or ignored paths).<br>
<br>
Boxes E and F don't work at all properly, because features of such<br>
streams are not recognized correctly if stream is pulled as depot.<br>
<br>
<br>
Do I need to explain the origin of the need for this improvement<br>
further, or should I make pull requests?<br>
<br>
<br>
Best regards,<br>
Vedran.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
  Pozdrav/Greetings,<br>
  Vedran Krivokuća<br>
  Disclaimer: This message may contain information.<br>
</font></span><br>_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@buildbot.net">devel@buildbot.net</a><br>
<a href="https://lists.buildbot.net/mailman/listinfo/devel" rel="noreferrer" target="_blank">https://lists.buildbot.net/mailman/listinfo/devel</a><br></blockquote></div><br></div>