[PATCH 2 of 5] localrepo: invoke dirstate.unsureifambig in wwrite for safety

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Thu Jul 2 19:40:48 UTC 2015


At Tue, 30 Jun 2015 20:51:50 -0700,
Pierre-Yves David wrote:
> 
> 
> 
> On 06/30/2015 08:52 AM, FUJIWARA Katsunori wrote:
> > At Mon, 29 Jun 2015 01:55:56 -0700,
> > Pierre-Yves David wrote:
> >>
> >> On 06/28/2015 09:23 PM, Martin von Zweigbergk wrote:
> >>>
> >>>
> >>> On Sun, Jun 28, 2015 at 9:07 AM FUJIWARA Katsunori
> >>> <foozy at lares.dti.ne.jp <mailto:foozy at lares.dti.ne.jp>> wrote:
> >>>
> >>>
> >>>      OK, I'll try to fix problems by invoking `dirstate.write()` at (*1) !
> >>>
> >>>
> >>> Great! I wasn't sure if I was missing something and wasting everyone's
> >>> time. I'm glad it now seems it was worthwhile. And thanks for working on
> >>> this! I'm pretty sure I've been bitten at least twice by this while
> >>> rebasing (dirty file appeared clean).
> >>>
> >>> Just a reminder that adding a check for dirty dirstate in
> >>> localrepo.wwrite() seems like a good way to find the places to fix (and
> >>> perhaps for printing a warning after we've fixed the known buggy callers).
> >>>
> >>> Does it make sense for workingctx._dirstatestatus() to do the writing?
> >>> Or maybe it needs to be done at a higher level that's aware of any
> >>> running transaction?
> >>
> >>
> >> This discussion start to get long and complexe let's says it is time to
> >> create a Plan page on the wiki. The idea is to have a single place where
> >> to look for the latest state of the project, the various step we have to
> >> do and that are the progress made on it.
> >>
> >> I've create a stub here:
> >>
> >>     https://mercurial.selenic.com/wiki/DirstateTransactionPlan
> >>
> >> (Thanks again for documenting and tackling these issue)
> >
> > Thanks for your many suggestions and starting wiki page up, too !
> >
> > I'll fill the page at first (maybe, with some additional topics around
> > consistency for dirstate/transaction)
> 
> Do not fell obligated to perfectly fill the page before sending patch. 
> There is a couple of things that seems obviously the right things to do 
> and were we could move forward with.
> 
> The intend of the page is not to drown you under a bureaucratic burden, 
> more to keep track of the current issues and solutions. The goal is (1) 
> to ensure someone can know what's going on without going throught 20 
> emails and (2) someone can resume the work if you get distracted in the 
> middle of it.
> 
> Copy pasting large chunk of the email thread should be good enough.

Thank you for your suggestion.

I just filled the page.

For convenience, I put "Detail about HG_PENDING mechanism" section
citing your mail into this page. But this section may have to be
separated from this page (or exported into TransactionPlan ?)  as "how
to use HG_PENDING mechanism" or so.

> -- 
> Pierre-Yves David
> 

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy at lares.dti.ne.jp


More information about the Mercurial-devel mailing list