<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: chrishill89</title><link>https://news.ycombinator.com/user?id=chrishill89</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 21 Apr 2026 16:28:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chrishill89" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chrishill89 in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>Let's say that this is obsolete for professional programming. Can't us hobbyists be left alone to our hobby by the LLM demoralization patrol?</p>
]]></description><pubDate>Tue, 21 Apr 2026 12:08:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47847651</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=47847651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47847651</guid></item><item><title><![CDATA[New comment by chrishill89 in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>> incorporated in Git.[1]<p>Dangling footnote. I decided against adding one and forgot to remove it.</p>
]]></description><pubDate>Tue, 21 Apr 2026 10:48:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47847047</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=47847047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47847047</guid></item><item><title><![CDATA[New comment by chrishill89 in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>Not all software is developed by one software organization.<p>Programs to manage “stacks of patches” go back decades. That might be hundreds that have accumulated over years which are all rebased on the upstream repository. The upstream repository might be someone you barely know, or someone you haven’t managed to get a response from. But you have your changes in your <i>fork</i> and you need to maintain it yourself until upstream accepts it (if they ever call back).<p>I’m pretty sure that the Git For Windows project is managed as patches on top of Git. And I’ve seen the maintainer post patches to the Git mailing list saying something like, okay we’ve been using this for months now and I think it’s time that it is incorporated in Git.[1]<p>I’ve seen patches posted to the Git mailing list where they talk about how this new thing (like a command) was originally developed by someone on GitHub (say) but now someone on GitLab (say) took it over and wants to upstream it. Maybe years after it was started.<p>Almost all changes to the Git project need to incubate for a week in an integration branch called `next` before it is merged to `master`.[1] Beyond slow testing for Git project itself, this means that downstream projects can use `next` in their automated testing to catch regressions before they hit `master`.<p>† 1: Which is kind of a like a “megamerge”</p>
]]></description><pubDate>Tue, 21 Apr 2026 08:18:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47846030</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=47846030</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47846030</guid></item><item><title><![CDATA[New comment by chrishill89 in "Jujutsu megamerges for fun and profit"]]></title><description><![CDATA[
<p>Sometimes I have several pull requests to review and none of them have any meaningful overlap (e.g. they touch code in different places, no apparent risk of overlap). So I've started making integration branches to test all of them in one go. But then I sometimes find things to improve upon. Then I might make a few commits on top of that. And then later I have to manually move them to the correct branch. I might also remove them from the integration branch, but git-rebase(1) is likely to just drop them as already-applied.<p>My mind was a little blown when I read about the megamerge strategy in Steve Klabnik's tutorial.[1]<p>Yes, Jujutsu's approach of autorebasing changes is very nice. Now all I have to do is to try it myself.<p>† 1: <a href="https://steveklabnik.github.io/jujutsu-tutorial/advanced/simultaneous-edits.html" rel="nofollow">https://steveklabnik.github.io/jujutsu-tutorial/advanced/sim...</a></p>
]]></description><pubDate>Tue, 21 Apr 2026 07:19:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47845578</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=47845578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47845578</guid></item><item><title><![CDATA[New comment by chrishill89 in "At the end you use `git bisect`"]]></title><description><![CDATA[
<p>> Do I want every PR to be a long ugly list of trivial half-done commits with messages like “fix typo” or “partial checkpoint of encabulator functionality”? No. Does everything need to be hammered down into a single wad? Also no. There is a middle ground and people should be trusted to find it, and even to have their own opinion on where it is.<p>IMO `git merge --squash` was perhaps a cultural mistake. Few people use that command but the apparent cultural impact seems to have been great (if that was where it came from).<p>GitHub squash is a bullet list of all the commit messages. That’s just inviting a ball of mud changelist[1]. But because of the all too convenient "squash" shorthand we now have to explain every time: Yes, there is a middle ground between having one monolithic commit and keeping every little trivial checkpoint and correction.<p>[1]: The change: the diff. The list: try to correlate each bullet point with something in the diff. (In cases where that applies, some things will have been done and undone and won’t show up in the diff.)</p>
]]></description><pubDate>Mon, 03 Nov 2025 20:28:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=45804013</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=45804013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45804013</guid></item><item><title><![CDATA[New comment by chrishill89 in "At the end you use `git bisect`"]]></title><description><![CDATA[
<p>> Might as well squash as nobody wants to deal with untested in-between crap.<p>I would rather deal with nice and tidy <i>but untested</i> commits rather than a very well-tested but too monolithic squash. If you test the eventual merge then you have done no less testing than the squash case.<p>Old commits are read more than they are run.</p>
]]></description><pubDate>Mon, 03 Nov 2025 20:18:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45803886</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=45803886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45803886</guid></item><item><title><![CDATA[New comment by chrishill89 in "At the end you use `git bisect`"]]></title><description><![CDATA[
<p>The question as stated answers itself. Some are able to make nice multi-commit PRs. So they do.</p>
]]></description><pubDate>Mon, 03 Nov 2025 20:14:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45803837</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=45803837</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45803837</guid></item><item><title><![CDATA[New comment by chrishill89 in "At the end you use `git bisect`"]]></title><description><![CDATA[
<p>I found a bug in a OSS program where an entry contained a gibberish string. This was C so apparently it was some not-properly initialized variable. I couldn’t hope to trace down where that occurred. But with time to write a bisect script and half an hour to run the bisect session I was able to find the commit.</p>
]]></description><pubDate>Mon, 03 Nov 2025 20:13:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45803828</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=45803828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45803828</guid></item><item><title><![CDATA[Note that ambiguous commit IDs are not even remotely as scary (2024)]]></title><description><![CDATA[
<p>Article URL: <a href="https://lore.kernel.org/workflows/CAHk-=wiwAz3UgPOWK3RdGXDnTRHcwVbxpuxCQt_0SoAJC-oGXQ@mail.gmail.com/">https://lore.kernel.org/workflows/CAHk-=wiwAz3UgPOWK3RdGXDnTRHcwVbxpuxCQt_0SoAJC-oGXQ@mail.gmail.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45334379">https://news.ycombinator.com/item?id=45334379</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 22 Sep 2025 14:57:20 +0000</pubDate><link>https://lore.kernel.org/workflows/CAHk-=wiwAz3UgPOWK3RdGXDnTRHcwVbxpuxCQt_0SoAJC-oGXQ@mail.gmail.com/</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=45334379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45334379</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Notes: Git's coolest, most unloved­ feature (2022)"]]></title><description><![CDATA[
<p>> You can always use git notes for yourself but it is as I called it gimmick feature. I can make a bet you will use it for a week maybe couple weeks and then just stop because in description it sounds good but in practice - no one is using it.<p>I'll take that bet.</p>
]]></description><pubDate>Tue, 24 Jun 2025 07:17:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44363622</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44363622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44363622</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Notes: Git's coolest, most unloved­ feature (2022)"]]></title><description><![CDATA[
<p>There’s plenty of data which is extra-commit (doesn’t belong in the commit messages but is relevant).  Like if the tests passed[1], manual testing notes, iteration on code review, notes for code spelunking when you find a problematic 6+ month old commit.<p>[^1] <a href="https://news.ycombinator.com/item?id=44348438">https://news.ycombinator.com/item?id=44348438</a></p>
]]></description><pubDate>Mon, 23 Jun 2025 15:37:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44356853</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44356853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44356853</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Notes: Git's coolest, most unloved­ feature (2022)"]]></title><description><![CDATA[
<p>There are many uses for Git notes even though you might use a project management tool. Particularly all those things which are relevant for developers only, or that the developers can use as the data source for "higher-level" goals.</p>
]]></description><pubDate>Mon, 23 Jun 2025 15:33:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44356827</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44356827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44356827</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Notes: Git's coolest, most unloved­ feature (2022)"]]></title><description><![CDATA[
<p>By default no copying will be done. While `notes.rewrite.amend` and `notes.rewrite.rebase` are true you also need `notes.rewriteRef` which tells it what notes refs should be rewritten. And it has no value by default. (you can set it to a glob copy over all notes refs)</p>
]]></description><pubDate>Mon, 23 Jun 2025 15:31:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44356810</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44356810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44356810</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Notes: Git's coolest, most unloved­ feature (2022)"]]></title><description><![CDATA[
<p>"Pickaxe" most often means those options. But it's also a (apparently legacy) command alias for git-blame.</p>
]]></description><pubDate>Mon, 23 Jun 2025 15:28:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44356779</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44356779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44356779</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Notes: Git's coolest, most unloved­ feature (2022)"]]></title><description><![CDATA[
<p>I use Git Notes all the time.  It doesn’t look like the article mentions that you can attach the notes to emails you send out with git-format-patch(1) and git-send-email(1).  I use them for emails to attach comments on patches that shouldn’t go into the commit message:<p><pre><code>    I did <insert research notes> and found no other places in the code base where this needs to be fixed.
</code></pre>
And as the cover letter for a single patch (if needed/not cowered by the commit message).<p>And also like a commit message on the iterations on the patches.  So for a patch series that go over three versions the note may say what updates where done in versions 2 and 3.<p>And other than that I use notes for:<p>- Private notes on how I’ve manually tested the commit<p>- Link to CI<p>- A localized changelog for customers (who are not technical)</p>
]]></description><pubDate>Mon, 23 Jun 2025 07:39:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44353365</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44353365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44353365</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>I create issues for myself. I sometimes create branches with informal issue keys like `<three letters>-<incrementing number>`. I use `git bug webui` to type edit issues. That’s it.<p>All I would like as a nice-to-have is support for making those issue keys that I use automatic.  For me it’s all local to me so it doesn’t need to be globally unique.  But those N-letter prefix does make collision less likely on a single project. I’ve mentioned it here: <a href="https://github.com/git-bug/git-bug/issues/75#issuecomment-1925240469">https://github.com/git-bug/git-bug/issues/75#issuecomment-19...</a></p>
]]></description><pubDate>Sun, 18 May 2025 18:50:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44023500</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=44023500</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44023500</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>Thanks. I can’t push it to the issue tracker since they don’t have one. Bug reports go to the mailing list.</p>
]]></description><pubDate>Thu, 15 May 2025 20:17:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=43998886</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=43998886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43998886</guid></item><item><title><![CDATA[New comment by chrishill89 in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>I use this to note potential issues in my copy of the Git project. For outright bugs though I report them to the project.</p>
]]></description><pubDate>Thu, 15 May 2025 07:29:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=43992674</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=43992674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43992674</guid></item><item><title><![CDATA[New comment by chrishill89 in "What I've learned from jj"]]></title><description><![CDATA[
<p>I’ve just used it two times in the last few months. One was to track down a commit which triggered a bug I found in Git. I wouldn’t be able to troubleshoot it myself. And I couldn’t send the whole repository because it’s not OSS. But with a script to reproduce the bug and half an hour I was able to find the problematic change.<p>I also tried to make a minimal reproduction but wasn’t able to.</p>
]]></description><pubDate>Sat, 03 May 2025 10:16:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=43878039</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=43878039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43878039</guid></item><item><title><![CDATA[New comment by chrishill89 in "What I've learned from jj"]]></title><description><![CDATA[
<p>Here’s the most relevant (to me) difference:<p>- The real unit of change lives in Git<p>- The real unit of change lives on some forge<p>I want it to live in Git.</p>
]]></description><pubDate>Sat, 03 May 2025 10:12:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43878020</link><dc:creator>chrishill89</dc:creator><comments>https://news.ycombinator.com/item?id=43878020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43878020</guid></item></channel></rss>