Skip to content
Snippets Groups Projects
  1. May 05, 2015
    • Durham Goode's avatar
      histedit: fix test-histedit-edit on vfat · 5bc506ee
      Durham Goode authored
      test-histedit-edit was broken because it relied on the HGEDITOR script being
      executable. Instead, lets just execute 'sh' and pass it the script to run. This
      seems to be the pattern followed in other tests.
      5bc506ee
    • Matt Harbison's avatar
      archive: always use portable path component separators with subrepos · 41cd8171
      Matt Harbison authored
      The previous behavior when archiving a subrepo 's' on Windows was to internally
      name the file under it 's\file', due to the use of vfs.reljoin().  When printing
      the file list from the archive on Windows or Linux, the file was named
      's\\file'.  The archive extracted OK on Windows, but if the archive was brought
      to a Linux system, it created a file named 's\file' instead of a directory 's'
      containing 'file'.
      
      *.zip format achives seemed not to have the problem, but this was definitely an
      issue with *.tgz archives.
      
      Largefiles actually got this right, but a test is added to keep this from
      regressing.  The subrepo-deep-nested-change.t test was repurposed to archive to
      a file, since there are several subsequent tests that archive to a directory.
      The output change is losing the filesystem prefix '../archive_lf' and not
      listing the directories 'sub1' and 'sub1/sub2'.
      41cd8171
  2. Apr 22, 2015
    • Durham Goode's avatar
      histedit: fix --edit-plan · b5eb0150
      Durham Goode authored
      --edit-plan was completely broken from the command line because it used an old
      api that was not updated (it would crash with a stack trace). Let's update it
      and add tests to catch this.
      b5eb0150
  3. Apr 30, 2015
  4. Apr 20, 2015
  5. May 03, 2015
  6. May 01, 2015
  7. Apr 30, 2015
  8. Apr 29, 2015
  9. Apr 30, 2015
    • Ryan McElroy's avatar
    • Matt Harbison's avatar
      windows: make shellquote() quote any path containing '\' (issue4629) · eea3977e
      Matt Harbison authored
      The '~' in the bug report is being expanded to a path with Windows style slashes
      before being passed to shellquote() via util.shellquote().  But shlex.split()
      strips '\' out of the string, leaving an invalid path in dispatch.aliasargs().
      
      This regressed in 1642eb429536.
      
      For now, the tests need to be conditionalized for Windows (because those paths
      are quoted).  In the future, a more complex regex could probably skip the quotes
      if all component separators are double '\'.  I opted to glob away the quotes in
      test-rename-merge2.t and test-up-local-change.t (which only exist on Windows),
      because they are in very large blocks of output and there are way too many diffs
      to conditionalize with #if directives.  Maybe the entire path should be globbed
      away like the following paths in each changed line.  Or, letting #if directives
      sit in the middle of the output as was mentioned a few months back would work
      too.
      
      Unfortunately, I couldn't figure out how to test the specific bug.  All of the
      'hg serve' tests have a #require serve declaration, causing them to be skipped
      on Windows.  Adding an alias for 'expandtest = outgoing ~/bogusrepo' prints the
      repo as '$TESTTMP/bogusrepo', so the test runner must be changing the
      environment somehow.
      eea3977e
    • Matt Harbison's avatar
      test-commit-interactive: add more globs for no-execbit platforms · d7778b88
      Matt Harbison authored
      The ability to set the exec bit on Windows would be real handy for this test..
      d7778b88
    • Siddharth Agarwal's avatar
      ui: disable revsetaliases in plain mode (BC) · 09049042
      Siddharth Agarwal authored
      ui.plain() is supposed to disable config options that change the UI to the
      detriment of scripts. As the test demonstrates, revset aliases can actually
      override builtin ones, just like command aliases. Therefore I believe this is a
      bugfix and appropriate for stable.
      09049042
  10. Apr 29, 2015
    • Yuya Nishihara's avatar
      bundlerepo: disable filtering of changelog while constructing revision text · 995003a3
      Yuya Nishihara authored
      This avoids the following error that happened if base revision of bundle file
      was hidden. bundlerevlog needs it to construct revision texts from bundle
      content as revlog.revision() does.
      
        File "mercurial/context.py", line 485, in _changeset
          return self._repo.changelog.read(self.rev())
        File "mercurial/changelog.py", line 319, in read
          text = self.revision(node)
        File "mercurial/bundlerepo.py", line 124, in revision
          text = self.baserevision(iterrev)
        File "mercurial/bundlerepo.py", line 160, in baserevision
          return changelog.changelog.revision(self, nodeorrev)
        File "mercurial/revlog.py", line 1041, in revision
          node = self.node(rev)
        File "mercurial/changelog.py", line 211, in node
          raise error.FilteredIndexError(rev)
        mercurial.error.FilteredIndexError: 1
      995003a3
    • Matt Harbison's avatar
      merge: run update hook after the last wlock release · 51844b8b
      Matt Harbison authored
      There were 2 test failures in 3.4-rc when running test-hook.t with the
      largefiles extension enabled.  For context, the first is a commit hook:
      
        @@ -618,9 +621,9 @@
           $ echo 'update = hg id' >> .hg/hgrc
           $ echo bb > a
           $ hg ci -ma
        -  223eafe2750c tip
        +  d3354c4310ed+
           $ hg up 0
        -  cb9a9f314b8b
        +  223eafe2750c+ tip
           1 files updated, 0 files merged, 0 files removed, 0 files unresolved
      
         make sure --verbose (and --quiet/--debug etc.) are propagated to the local ui
      
      In both cases, largefiles acquires the wlock before calling into core, which
      also acquires the wlock.  The first case was fixed in 57f1dbc99631 by ensuring
      the hook only runs after the lock has been fully released.  The full release is
      important, because that is what writes dirstate to the disk, allowing external
      hooks to see the result of the update.  This simply changes how the update hook
      is called, so that it too is deferred until the lock is finally released.
      
      There are many uses of mergemod.update(), but in terms of commands, it looks
      like the following commands take wlock while calling mergemod.update(), and
      therefore will now have their hook fired at a later time:
      
          backout, fetch, histedit, qpush, rebase, shelve, transplant
      
      Unlike the others, fetch immediately unlocks after calling update(), so for all
      intents and purposes, its hook invocation is not deferred (but the external hook
      still sees the proper state).
      51844b8b
    • Katsunori FUJIWARA's avatar
      censor: remove meaningless explanation about .hgcensored · 5e111acc
      Katsunori FUJIWARA authored
      There is no code path handling ".hgcensored" in Mercurial source tree.
      
      This meaningless explanation may make users misunderstand about
      censor.
      5e111acc
    • Yuya Nishihara's avatar
      parsers: avoid signed integer overflow in calculation of leaf-node index · b3142ea2
      Yuya Nishihara authored
      If v = -INT_MAX - 1, -v would exceed INT_MAX. I don't think this would cause
      problems such as issue4627, but we can't blame it as a compiler bug because
      signed integer overflow is undefined in C.
      b3142ea2
    • Pierre-Yves David's avatar
      bundle2: disable ouput capture unless we use http (issue4613 issue4615) · e530cde6
      Pierre-Yves David authored
      The current bundle2 processing was capturing all output. This is nice as it
      provide better meta data about what output what, but this was changing two
      things:
      
      1) adding a prefix "remote: " to "other" output during local push (issue4613)
      2) local and ssh push does not provide real time output anymore (issue4615)
      
      As we are unsure about what form should be used in (1) and how to solve (2) we
      disable output capture in this two cases. Output capture can be forced using an
      experimental option.
      e530cde6
  11. Feb 03, 2015
    • Matt Harbison's avatar
      subrepo: propagate the --hidden option to hg subrepositories · cc497780
      Matt Harbison authored
      With many commands accepting a '-S' or an explicit path to trigger recursing
      into subrepos, it seems that --hidden needs to be propagated too.
      Unfortunately, many of the subrepo layer methods discard the options map, so
      passing the option along explicitly isn't currently an option.  It also isn't
      clear if other filtered views need to be propagated, so changing all of those
      commands may be insufficient anyway.
      
      The specific jam I got into was amending an ancestor of qbase in a subrepo, and
      then evolving.  The patch ended up being hidden, and outgoing said it would only
      push one unrelated commit.  But push aborted with an 'unknown revision' that I
      traced back to the patch.  (Odd it didn't say 'filtered revision'.)  A push with
      --hidden worked from the subrepo, but that wasn't possible from the parent repo
      before this.
      
      Since the underlying problem doesn't actually require a subrepo, there's
      probably more to investigate here in the discovery area.  Yes, evolve + mq is
      not exactly sane, but I don't know what is seeing the hidden revision.
      
      In lieu of creating a test for the above situation (evolving mq should probably
      be blocked), the test here is a marginally useful case where --hidden is needed
      in a subrepo: cat'ing a file in a hidden revision.  Without this change, cat
      aborts with:
      
        $ hg --hidden cat subrepo/a
        skipping missing subrepository: subrepo
        [1]
      cc497780
  12. Apr 28, 2015
  13. Apr 27, 2015
    • Laurent Charignon's avatar
      revert: make the interactive mode experimental · 12908cdb
      Laurent Charignon authored
      While fixing issue4304: "record: allow editing new files" we introduced
      changes in record/crecord. These changes need to be matched with changes in any
      command using record. Revert is one of these commands and the changes have
      not been made for this release. Therefore, revert -i should be an experimental
      feature for this release.
      12908cdb
    • Laurent Charignon's avatar
      shelve: make the interactive mode experimental · 3510ec97
      Laurent Charignon authored
      While fixing issue4304: "record: allow editing new files" we introduced
      changes in record/crecord. These changes need to be matched with changes in any
      command using record. Shelve is one of these commands and the changes have
      not been made for this release. Therefore, shelve -i should be an experimental
      feature for this release.
      3510ec97
    • Siddharth Agarwal's avatar
      help: also hide options marked EXPERIMENTAL · 117b9a10
      Siddharth Agarwal authored
      Similar to DEPRECATED, add a way to indicate that options are EXPERIMENTAL.
      117b9a10
  14. Apr 28, 2015
    • Gregory Szorc's avatar
      rebase: don't forward "source" argument to rebase (issue4633) · 4ec40a4d
      Gregory Szorc authored
      `hg pull` takes an optional "source" argument to define the path/url to
      pull from. Under some circumstances, this option could get proxied to
      rebase and interpretted as the --source argument to rebase, leading to
      unexpected behavior.
      
      In my local environment, "source" always appears in "opts" in
      pullrebase. However, when attempting to write a test, I couldn't reproduce
      this. Instead, the source is being captured as a positional argument in
      "args." I suspect an interaction between **kwargs and an extension is to
      blame for the differences in behavior. This is why no test has been
      written.
      
      I have tested behavior locally and the patch has the intended
      side-effect of making `hg pull --rebase` work again.
      4ec40a4d
    • Katsunori FUJIWARA's avatar
      histedit: fix reST syntax problem of example code in help document · 95a67d68
      Katsunori FUJIWARA authored
      To show example code correctly in online help, text block of it should
      be preceded by "::" and indented.
      95a67d68
  15. Apr 27, 2015
  16. Apr 25, 2015
Loading