Skip to content
Snippets Groups Projects
  1. Jul 31, 2012
  2. Jun 29, 2012
  3. Jun 22, 2012
    • David Schleimer's avatar
      bookmarks: correctly update current bookmarks on rebase (issue2277) · 4116504d1ec4
      David Schleimer authored
      When you rebased with a currently active bookmark, that bookmark would
      always point at the new tip, regardless of what revision it pointed at
      before the rebase.
      
      All bookmarks will now point at the equivalent post-rebase commit.
      However, the currently active bookmark will cease to be active unless
      it points at the new tip post-rebase.  Rebase will always leave the
      new tip as the working copy parent, which is incompatible with having
      an active bookmark that points at some other revision.  The common
      case should be that the active bookmark will point at the new tip
      post-rebase.
      4116504d1ec4
  4. Jun 21, 2012
  5. Jun 18, 2012
    • Dan Villiom Podlaski Christiansen's avatar
      rebase: improve error message on improper phases · f8af57c00a29
      Dan Villiom Podlaski Christiansen authored
      The previous error message had two issues: The first issue was that it
      wasn't, in fact, an error but a warning, even though it described a
      fatal error condition preventing the successful completion of the
      command. The second was that it didn't mention the immutable
      changesets, leaving the user guessing at the true cause of the error.
      
      The main downside to this change is that we now get an 'abort: can't
      abort...' message which technically contradicts itself. In this case,
      I blame that on the two uses we have for the word; if it weren't for
      backwards compatibility, we could make util.Abort print out 'error:
      <whatever>'.
      f8af57c00a29
  6. Jun 20, 2012
    • Pierre-Yves David's avatar
      rebase: do not add second parent to rebased changeset (drop detach option) (BC) · 50f434510da6
      Pierre-Yves David authored
      Rebase now behaves as if --detach was always passed. Non-merges are
      rebased as non-merges, regardless of their parent being an ancestor of
      the destination. Merges will usually be rebased as merges unless both of
      their parents are ancestors of the destination, or one of their parents
      is pruned when rebased.
      
      This only alters the behavior of rebase when using the --source/--rev
      options. --detach option is deprecated.
      
      All test changes were carefully validated.
      50f434510da6
  7. Jun 01, 2012
  8. May 15, 2012
  9. May 03, 2012
    • Patrick Mézard's avatar
      rebase: allow collapsing branches in place (issue3111) · d1afbf03e69a
      Patrick Mézard authored
      We allow rebase plus collapse, but not collapse only? I imagine people would
      rebase first then collapse once they are sure the rebase is correct and it is
      the right time to finish it.
      
      I was reluctant to submit this patch for reasons detailed below, but it
      improves rebase --collapse usefulness so much it is worth the ugliness.
      
      The fix is ugly because we should be fixing the collapse code path rather than
      the merge. Collapsing by merging changesets repeatedly is inefficient compared
      to what commit --amend does: commitctx(), update, strip. The problem with the
      latter is, to generate the synthetic changeset, copy records are gathered with
      copies.pathcopies(). copies.pathcopies() is still implemented with merging in
      mind and discards information like file replaced by the copy of another,
      criss-cross copies and so forth. I believe this information should not be lost,
      even if we decide not to interpret it fully later, at merge time.
      
      The second issue with improving rebase --collapse is the option should not be
      there to begin with. Rebasing and collapsing are orthogonal and a dedicated
      command would probably enable a better, simpler ui. We should avoid advertizing
      rebase --collapse, but with this fix it becomes the best shipped solution to
      collapse changesets.
      
      And for the record, available techniques are:
      - revert + commit + strip: lose copies
      - mq/qfold: repeated patching() (mostly correct, fragile)
      - rebase: repeated merges (mostly correct, fragile)
      - collapse: revert + tag rewriting wizardry, lose copies
      - histedit: repeated patching() (mostly correct, fragile)
      - amend: copies.pathcopies() + commitctx() + update + strip
      d1afbf03e69a
  10. May 01, 2012
  11. May 02, 2012
  12. Apr 29, 2012
    • Patrick Mézard's avatar
      localrepo: add setparents() to adjust dirstate copies (issue3407) · ebf6d38c9063
      Patrick Mézard authored
      The fix introduced in eab9119c5dee was only partially successful. It is correct
      to turn dirstate 'm' merge records into normal/dirty ones but copy records are
      lost in the process. To adjust them as well, we need to look in the first
      parent manifest to know which files were added and preserve only related
      records. But the dirstate does not have access to changesets, the logic has to
      moved at another level, in localrepo.
      ebf6d38c9063
  13. Apr 25, 2012
    • Patrick Mézard's avatar
      rebase: preserve mq series order, guarded patches (issue2849) · b9f51f49bf2a
      Patrick Mézard authored
      The previous code was rebasing an applied series like:
      
        patch1 +guarded
        patch2
        patch3 +guarded
        patch4
        patch5 +guarded
      
      into:
      
        patch2
        patch4
        patch1 +guarded
        patch3 +guarded
        patch5 +guarded
      
      Reported by Lars Westerhoff <lars.westerhoff@newtec.eu>
      
      Also rename mq.series_dirty into mq.seriesdirty, missed by 599a72895c0d, and
      without effect since mq.qimport() was setting it already.
      b9f51f49bf2a
  14. Mar 22, 2012
  15. Mar 04, 2012
  16. Jan 20, 2012
  17. Jan 19, 2012
  18. Jan 17, 2012
    • Alain  Leufroy <alain.leufroyATgmailMYDOTcom>'s avatar
      rebase: fix phases movement · e66084ef8449
      Alain Leufroy authored
      Rebase now try to keep the phases of source changesets.
      e66084ef8449
    • kiilerix's avatar
      rebase: write series file without removed mq patches · 7d28d6a67dd3
      kiilerix authored
      Rebase will remove empty changesets and will also completely remove the mq
      patch file for rebased empty patches.
      
      Starting with b28004513977 (1.9) it would preserve guards by writing the old
      series file back. That would however also reintroduce removed patch files in
      the series file and the inconsistency would make qpop + qpush fail.
      
      This patch backs out most of b28004513977 and makes sure guards are preserved
      without reintroducing removed patches.
      7d28d6a67dd3
  19. Jan 13, 2012
  20. Jan 10, 2012
  21. Jan 08, 2012
    • Steven Brown's avatar
      rebase: reinstate old-style rev spec support for the source and base (issue3181) · e4fc0f0b4f7e
      Steven Brown authored
      As of b12362ab13e7 (first released as part of Mercurial 2.0), the rebase command
      accepted ONLY revsets for the source and base arguments and no longer accepted
      old-style revision specifications. As a result, some revision names were no
      longer recognised, e.g.
      
      hg rebase --base br-anch
      abort: unknown revision 'br'!
      
      These arguments are now interpreted first as old-style revision specifications,
      then as revsets when no matching revision is found. This restores backwards
      compatibility with releases prior to 2.0.
      e4fc0f0b4f7e
  22. Jan 06, 2012
  23. Dec 26, 2011
  24. Dec 27, 2011
  25. Nov 10, 2011
  26. Nov 08, 2011
  27. Nov 06, 2011
  28. Nov 02, 2011
  29. Oct 17, 2011
  30. Oct 15, 2011
  31. Oct 11, 2011
  32. Oct 09, 2011
Loading