From: Thomas Rast Date: Fri, 29 Mar 2013 17:20:28 GMT Subject: Re: Minor bug in git branch --set-upstream-to adding superfluous branch section to config Message-ID: <87ip4ayvfn.fsf@linux-k42r.v.cablecom.net> In-Reply-To: <20130329170032.GA3552@sigill.intra.peff.net> Jeff King writes: > I think what happens is that the config editor runs > through the files linearly, munging whatever lines necessary for the > requested operation, and leaving everything else untouched (as it must, > to leave comments and whitespace intact). But it does not keep a > look-behind buffer to realize that a section name is now obsolete (which > we don't know until we get to the next section, or to EOF). In the worst > case, this buffer can grow arbitrarily large, like: > > [foo] > # the above section is now empty > # but we have to read through all of > # these comments to actually > # realize it > [bar] If we treat this case as having a bunch of comments that make the section non-empty, then we both avoid needing an arbitrarily large lookbehind and deleting the user's precious comments... I.e. the rule would be that we only delete the section if there is nothing but whitespace until the next section header. -- Thomas Rast trast@{inf,student}.ethz.ch