Skip to content
Snippets Groups Projects
  1. Dec 02, 2014
    • Pierre-Yves David's avatar
      rebase: handle revtodo as a special value when storing/restoring state · 9972758a
      Pierre-Yves David authored
      Revtodo happens to share its value with nullrev, but this is an implementation
      details, so we move away from it.
      
      After this changeset one can successfully change the values for all
      the constants and the tests still pass, but doing so would require more
      refactoring if we want to avoid breaking backward compatibility on the
      state file.
      9972758a
    • Pierre-Yves David's avatar
      rebase: add a 'revtodo' constant · 102f144f
      Pierre-Yves David authored
      The state mapping is using '-1' to mark revisions that have not been
      rebased yet. We introduce and use a constant for that purpose. This
      will help emphasize the fact the value means something other than
      nullrev.
      102f144f
  2. Dec 04, 2014
  3. Dec 03, 2014
    • Pierre-Yves David's avatar
      patchbomb: introduce a 'patchbomb.confirm' option · 11b21573
      Pierre-Yves David authored
      When set to true, this option will make patchbomb always ask for confirmation
      before sending the email. Confirmation is a powerful way to prevent stupid
      mistakes when the sending patches.
      
      This should let me get rid of my global alias adding
      --confirm to hg email.
      
      I know that some people may get bitten when moving from a machine with confirm
      configured to a machine where it is not, but I think it is worth the risk.
      11b21573
    • Pierre-Yves David's avatar
      patchbomb: add a 'patchbomb.intro' option · c14af817
      Pierre-Yves David authored
      This option allows the user to control the default behavior for
      including an introduction message. This avoids having to tirelessly
      skip the intro for people contributing to Mercurial.
      
      The three possibles values are:
      - always,
      - auto (default, current behavior),
      - never.
      
      I was thinking of ("true", "false", "") (empty value being auto) but I ruled it
      out as too confusing.
      
      This new config option reuses the pre-existing 'patchbomb' section.
      c14af817
    • Pierre-Yves David's avatar
      patchbomb: extract 'getoutgoing' closure into its own function · 1de21483
      Pierre-Yves David authored
      This continues my crusade against closure complication.
      1de21483
  4. Nov 21, 2014
  5. Nov 19, 2014
  6. Dec 05, 2014
    • Martin von Zweigbergk's avatar
      largefiles: remove redundant checks for false modify/delete conflicts · 3805f4b0
      Martin von Zweigbergk authored
      In a34a99181f36 (largefiles: don't show largefile/normal prompts if
      one side is unchanged, 2014-12-01), overridecalculateupdates() started
      checking for false modify/delete conflicts in large files and their
      standins. Then, in the very next changeset, 902554884335 (merge:
      before cd/dc prompt, check that changed side really changed,
      2014-12-01), calculateupdates() itself started checking for false
      modify/delete conflicts in all files. Since "large files and their
      standins" is a subset of "all files", we can now drop the checks in
      overridecalculateupdates().
      3805f4b0
  7. Dec 03, 2014
    • Martin von Zweigbergk's avatar
      merge: make 'keep' message more descriptive · 208ec8ca
      Martin von Zweigbergk authored
      Most merge action messages don't describe the action itself, they
      describe the reason the action was taken. The only exeption is the 'k'
      action, for which the message is just "keep" and instead there is a
      code comment folling it that says "remote unchanged". Let's move that
      comment into the merge action message.
      208ec8ca
  8. Dec 05, 2014
    • Matt Harbison's avatar
      addremove: restore the relative path printing when files are named · 94091ab9
      Matt Harbison authored
      This fixes the previously mentioned issue with 3778884197f0, and undoes its
      corresponding test change.
      
      The test change demonstrates the correctness when a file is specified (i.e. the
      glob is required on Windows because relative paths use '\' and absolute paths
      use '/').  It is admittedly very subtle, but there will be a more robust test in
      the addremove -S v3 series.
      94091ab9
    • Matt Harbison's avatar
      match: introduce uipath() to properly style a file path · 88d2d77e
      Matt Harbison authored
      Several methods print files relative to the repo root, unless files are named on
      the command line, in which case they are printed relative to cwd.  Since the
      check relies on the 'pats' parameter, which needs to be replaced by a matcher
      when adding subrepo support, this logic gets folded into the matcher to tidy up
      the callers.
      
      Prior to 3778884197f0, this style decision was based off of whether or not the
      'pats' list was empty.  That change altered the check to test match.anypats()
      instead, in order to make paths printed consistent when -I/-X is specified.
      That however, changed the style when a file is given to the command.  So now we
      test the pattern list to get the old behavior for files, as well as test -I/-X
      to get the consistency for patterns.
      88d2d77e
    • Matt Mackall's avatar
      merge with stable · 406dfc63
      Matt Mackall authored
      406dfc63
  9. Nov 17, 2014
    • Martin von Zweigbergk's avatar
      update: don't overwrite untracked ignored files on update · 30b60216
      Martin von Zweigbergk authored
      When looking for untracked files that would conflict with a tracked
      file in the target revision (or the remote side of a merge), we
      explcitly exclude ignored files. The code was added in 7e30f5f2285f
      (merge: refactor unknown file conflict checking, 2012-02-09), but it
      seems like only unknown, not ignored, files were considered since the
      beginning of time.
      
      Although ignored files are mostly build outputs and backup files, we
      should still not overwrite them. Fix by simply removing the explicit
      check.
      30b60216
  10. Dec 03, 2014
    • Martin von Zweigbergk's avatar
      update: add tests for untracked local file · 689540e6
      Martin von Zweigbergk authored
      We don't seem to have any tests for updating to another revision when
      there are untracked files on the local side that conflict with the
      those on the remote side, so let's add tests. This shows how we
      overwrite untracked ignored files when updating to a revision that
      tracks the file.
      689540e6
    • Martin von Zweigbergk's avatar
      merge: don't overwrite conflicting file in locally renamed directory · 39a12719
      Martin von Zweigbergk authored
      When the local side has renamed a directory from a/ to b/ and added a
      file b/c in it, and the remote side has added a file a/c, we end up
      overwriting the local file b/c with the contents of remote file
      a/c. Add a check for this case and use the merge ('m') action in this
      case instead of the directory rename get ('dg') action.
      39a12719
    • Martin von Zweigbergk's avatar
      merge: don't ignore conflicting file in remote renamed directory · 67f1d688
      Martin von Zweigbergk authored
      When the remote side has renamed a directory from a/ to b/ and added a
      file b/c in it, and the local side has added a file a/c, we end up
      moving a/c to b/c without considering the remote version of b/c. Add a
      check for this case and use the merge ('m') action in this case
      instead of the directory rename ('dm') action.
      67f1d688
  11. Nov 23, 2014
  12. Dec 03, 2014
  13. Nov 21, 2014
  14. Dec 03, 2014
  15. Dec 04, 2014
    • Mike Edgar's avatar
      parsers: ensure revlog index node tree is initialized before insertion · ee311681
      Mike Edgar authored
      Currently, the revlog index C implementation assumes its node tree will be
      initialized before a new element is inserted by revnum. For example, revlog.py
      executes 'self.index.insert(-1, e)' in _addrevision(). This is only safe
      because the node tree has been initialized by a "node in self.nodemap"
      check made in addrevision().
      
      (For context, this was discovered while developing an experimental revlog
      mixin which stores "elided nodes" via a separate code path from
      _addrevision(); that new code path segfaults without this patch.)
      ee311681
  16. Dec 03, 2014
  17. Dec 02, 2014
  18. Nov 27, 2014
  19. Dec 02, 2014
  20. Nov 19, 2014
Loading