<div class="gmail_quote">On Wed, Mar 21, 2012 at 17:21, Joe Gilray <span dir="ltr">&lt;<a href="mailto:jgilray@gmail.com">jgilray@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi Tim,<div><br></div><div>Thanks for sharing your code.</div><div><br></div><div>Quick, newby question: why do you use &quot;and&quot; instead of &quot;begin&quot; in your progress function?<br></div></blockquote><div><br>

</div><div><br></div><div>If you are used to run commands from bash you may do things like</div><div><br></div><div>command1 &amp;&amp; command2 &amp;&amp; command3</div><div><br></div><div>e.g.:  mkdir somedir &amp;&amp; cd somedir &amp;&amp; git clone ...</div>

<div><br></div><div><br></div><div>Why people do that? Simply put, all of the commands after a `&amp;&amp;&#39; are only run if the commands before executes fine (return code 0).</div><div>So &quot;git clone&quot; will be executed only if I could create a dir and cd to it. It will not be executed if I don&#39;t have permissions to create a dir.</div>

<div><br></div><div>Using &quot;and&quot; is like using &quot;&amp;&amp;&quot; in bash, while &quot;begin&quot; is equivalent of separating the commands with &quot;;&quot;.</div><div><br></div><div>More on short-circuit evaluation: <a href="http://en.wikipedia.org/wiki/Short-circuit_evaluation">http://en.wikipedia.org/wiki/Short-circuit_evaluation</a></div>

<div><br></div><div>HTH,</div><div><br></div><div>Rodolfo</div></div>