<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.baszerr.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>BaSzErr - prjs:team_tools</title>
        <description></description>
        <link>https://www.baszerr.eu/</link>
        <lastBuildDate>Wed, 06 May 2026 09:34:03 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://www.baszerr.eu/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>BaSzErr</title>
            <link>https://www.baszerr.eu/</link>
        </image>
        <item>
            <title>team_tools</title>
            <link>https://www.baszerr.eu/doku.php?id=prjs:team_tools:team_tools</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;team_tools&quot;&gt;team tools&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
set of scripts for performing delivers and rebases on child branches of repositories of distributed version controll systems (VCS).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;team tools&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;team_tools&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-160&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;introduction&quot;&gt;introduction&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
since projects are nowdays very often created using distributed development, it is essential to make it as easy and error-prone as possible.
&lt;/p&gt;

&lt;p&gt;
proposed idea assumes that each repository has its parent repository (except for the main one of course ;)). there are two operations defined on them:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rebase – gets new code from parent repository and merges it into child repository.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; deliver – gets new code from child repository and merges with code from parent repository. to make things more secure in terms of team work it is possible to attach build process (for example &lt;a href=&quot;https://www.baszerr.eu/doku.php?id=prjs:build_process:build_process&quot; class=&quot;wikilink1&quot; title=&quot;prjs:build_process:build_process&quot; data-wiki-id=&quot;prjs:build_process:build_process&quot;&gt;build process&lt;/a&gt;) that will build merged code before making it available for others. having this done we have much higher chance that parent branch will be always compilable and others will not waist their time fixing our syntax errors, after they rebase.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
the idea of branches, delivers and rebases illustrates following picture.
&lt;a href=&quot;https://www.baszerr.eu/lib/exe/detail.php?id=prjs%3Ateam_tools%3Ateam_tools&amp;amp;media=prjs:team_tools:rebase_deliver.png&quot; class=&quot;media&quot; title=&quot;prjs:team_tools:rebase_deliver.png&quot;&gt;&lt;img src=&quot;https://www.baszerr.eu/lib/exe/fetch.php?media=prjs:team_tools:rebase_deliver.png&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;introduction&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;introduction&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;161-1162&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;configuration_and_usage&quot;&gt;configuration and usage&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
NOTE: currently only &lt;a href=&quot;http://bazaar-vcs.org/&quot; class=&quot;urlextern&quot; title=&quot;http://bazaar-vcs.org/&quot; rel=&quot;ugc nofollow&quot;&gt;Bazaar&lt;/a&gt; VCS is supported.
&lt;/p&gt;

&lt;p&gt;
after downloading team_tools file extract it there will be &lt;em&gt;bzr&lt;/em&gt; directory inside. read &lt;em&gt;bzr/README&lt;/em&gt; for details of preparation. in general config file (example available inside &lt;em&gt;bzr&lt;/em&gt; directory) has to be put into project root and deliver/rebase scripts should be called from branch&amp;#039;s root directory (you can put them in somewhere in $PATH or just link hem to project&amp;#039;s root).
&lt;/p&gt;

&lt;p&gt;
from now on all you have to do is call &lt;em&gt;rebase&lt;/em&gt; to get remote changes available locally (non-trivial merges are solved using &lt;em&gt;kdiff3&lt;/em&gt; tool) and &lt;em&gt;deliver&lt;/em&gt; to put your code into parent making them visible for others.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;configuration and usage&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configuration_and_usage&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1163-1880&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;download&quot;&gt;download&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
currently available version is v1.0.1 - &lt;a href=&quot;https://www.baszerr.eu/lib/exe/fetch.php?media=prjs:team_tools:team_tools.tar.bz2&quot; class=&quot;media mediafile mf_bz2&quot; title=&quot;prjs:team_tools:team_tools.tar.bz2 (4.3 KB)&quot;&gt;team_tools.tar.bz2&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;download&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;download&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1881-1985&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;release_notes&quot;&gt;release notes&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;release notes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;release_notes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1986-2012&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;v101&quot;&gt;v1.0.1&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; updated link to project&amp;#039;s page.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rebase does NOT pull when no merge is required - this makes reviews easier and it more intuitive for users (i.e. revno will always grow).&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;v1.0.1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v101&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2013-2208&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;v100&quot;&gt;v1.0.0&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rebase pulls when no merge is required.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;v1.0.0&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v100&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2209-2270&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;v040&quot;&gt;v0.4.0&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; build now by default runs count(CPU)+1 threads in make.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; deliver now fails if there are not-versioned files - this prevents situation when not-complete code is delivered.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; defauolt build script now checks for tabulators and trailing spaces in sources.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; gcc and intel toolchains are now tested by default and used during build if present.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;v0.4.0&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v040&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2271-2639&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;v030&quot;&gt;v0.3.0&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; merging directories now work as it should, with respect to version history of an element.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; merging is more robust now.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; added automatic detection of CPUs count for paraller builds when delivering.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fixed config files names in example.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;v0.3.0&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v030&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2640-2906&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;v022&quot;&gt;v0.2.2&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fixed bug with silent non-rebasing when host hostname of parent is invalid. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; comments in delivery script updated.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; build config is now in a separate file, which is not-user specific, therefore can be added to repository.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; added 2nd license: revised BSD.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; branch is now updated before checking for changes.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; added updating of tree on rebase (usefull if tree is not up to date).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; removed annoying message about updating remote tree.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; merging only non-trivial merges from now on.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fixed bug with non-removing merge.log under normal circumstances.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; added more conflicting situations to supported set.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; more comments have been added, to make life easier for users.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; modified example configuration to provide build_project funciton for deliver script.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; added rebase script for bzr.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; added deliver scirpt for bzr.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;v0.2.2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v022&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2907-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 15 Jun 2021 20:09:50 +0000</pubDate>
        </item>
    </channel>
</rss>
