From: Stefan Sperling Subject: Re: Got publishes local unversioned bytes during merge and rebase To: Yann Lorwyn Cc: gameoftrees@openbsd.org Date: Sat, 19 Sep 2026 10:30:45 +0200 On Fri, Sep 18, 2026 at 10:40:23AM +0800, Yann Lorwyn wrote: > Hello, > > I am writing to report a potential bug int Got 0.128. > > Got 0.128 can publish a local unversioned path when an incoming merge or > rebase adds the same pathname. The operation succeeds and can leave a clean > work tree, but the resulting tree contains the local file, ignored file, or > symlink rather than the incoming entry. The ignored-file case can publish > local generated or sensitive bytes without an explicit add or conflict > resolution. > > The attached report contains the source analysis and Git-core comparison. > attachments.zip contains a shell reproducer that starts from fresh Got > repositories and builds the pinned 0.128 source. > > Best regards, > Yann Thanks, this sounds like a valid issue. Your report is much too detailed, you could have simply written about 50 lines of shell script instead. Could you please do that by adding a regression test for this problem to our test suite? Quoting from our README file which I hope you have taken the time to read before submitting your report: [[[ All problem/bug reports should include a reproduction recipe in form of a shell script which starts out with an empty repository and runs a series of Got and/or Git commands to trigger the problem, be it a crash or some other undesirable behaviour. The regress/cmdline directory contains plenty of example scripts. An ideal reproduction recipe is written as an xfail ("expected failure") regression test. For a real-world example of an xfail test, see commits 4866d0842a2b34812818685aaa31d3e0a966412d and 2b496619daecc1f25b1bc0c53e01685030dc2c74 in Got's history. Please take this request very seriously; Ask for help with writing your regression test before asking for your problem to be fixed. Time invested in writing a regression test saves time wasted on back-and-forth discussion about how the problem can be reproduced. A regression test will need to be written in any case to verify a fix and prevent the problem from resurfacing. ]]]