<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Changes on the art of simplicity</title><link>https://naoko.github.io/tags/changes/</link><description>Recent content in Changes on the art of simplicity</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 19 Mar 2019 00:00:00 +0000</lastBuildDate><atom:link href="https://naoko.github.io/tags/changes/index.xml" rel="self" type="application/rss+xml"/><item><title>list changes of specific line(s) with git</title><link>https://naoko.github.io/posts/2019-03-19-git-blame-and-log/</link><pubDate>Tue, 19 Mar 2019 00:00:00 +0000</pubDate><guid>https://naoko.github.io/posts/2019-03-19-git-blame-and-log/</guid><description>&lt;p&gt;If you only need to know who was the last person to change the line,
&lt;code&gt;git blame&lt;/code&gt; will do&lt;/p&gt;
&lt;p&gt;To see who modified the code on line # 85 and next 5 lines&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git blame &lt;span style="color:#f1fa8c"&gt;${&lt;/span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;path&lt;/span&gt;-to-the-file&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt; -L 85,+5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;output would look like this&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f1f66980053 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;Naoko 2019-02-25 17:32:25 -0700 85&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;text&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; re.sub&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;r&lt;span style="color:#f1fa8c"&gt;&amp;#39;{([^\n]+?)}&amp;#39;&lt;/span&gt;, r&lt;span style="color:#f1fa8c"&gt;&amp;#39;{0[\1]}&amp;#39;&lt;/span&gt;, template&lt;span style="color:#ff79c6"&gt;[&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;50ccaf0f3b8 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;Naoko 2019-02-16 10:44:54 -0700 86&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; template&lt;span style="color:#ff79c6"&gt;[&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;]&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; text.format&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;template_vars&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f373fd241db &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;Tom Bocklisch 2018-07-10 14:33:18 +0200 87&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; except KeyError as e:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f373fd241db &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;Tom Bocklisch 2018-07-10 14:33:18 +0200 88&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; logger.exception&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;390792a0008 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;Tom Bocklisch 2018-11-16 12:51:21 +0100 89&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;Failed to fill utterance template &amp;#39;{}&amp;#39;. &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But often the above information is not good enough.&lt;/p&gt;</description></item></channel></rss>