Skip to content
  • Durham Goode's avatar
    rebase: use one dirstateguard for entire rebase · 2519994d25ca
    Durham Goode authored
    Recently we switched rebases to run the entire rebase inside a single
    transaction, which dramatically improved the speed of rebases in repos with
    large working copies. Let's also move the dirstate into a single dirstateguard
    to get the same benefits. This let's us avoid serializing the dirstate after
    each commit.
    
    In a large repo, rebasing 27 commits is sped up by about 20%.
    
    I believe the test changes are because us touching the dirstate gave the
    transaction something to actually rollback.
    2519994d25ca