Skip to content
Snippets Groups Projects
  1. Nov 13, 2017
    • Boris Feld's avatar
      test-pattern: register the current the bundle2 capabilities string · c4ec72a1
      Boris Feld authored
      The bundle capabilites are sent with every getbundle ssh connection. Every time
      the protocol is updated, that string is altered. We get the part about bundle2
      string replaced by $USUAL_BUNDLE2_CAPS$ so that we only have to change the
      substitution whenever this happens.
      c4ec72a1
  2. Nov 05, 2017
    • Boris Feld's avatar
      test-pattern: register current the bundlecaps string · b4767ae6
      Boris Feld authored
      The bundle capabilites sent with every getbundle commands. Every time the
      protocol is updated, that string is altered. We get that string replace by
      $USUAL_BUNDLE_CAPS$ so that we only have to change the substitution whenever
      this happens.
      b4767ae6
    • Boris Feld's avatar
      test-pattern: substitute common compression list · 3abdd7da
      Boris Feld authored
      The compression list as to be matched with a glob because zstd might not be part
      of the option. By using a substitution for these, we won't have to re-glob them
      over and over.
      3abdd7da
    • Boris Feld's avatar
      run-tests: allow to register any arbitrary pattern for replacement · 4fb489a9
      Boris Feld authored
      We add a 'common-pattern.py' file that allow to define extra pattern. This seems
      a cleaner approach than editing the 'run-test.py' file over and over. In
      addition allowing arbitrary pattern registration will also help extension.
      
      The format used is a python file is picked out of convenience defining a list of
      tuple in 'substitutions' variable. This is picked out of convenience since it is
      dead simple to implement.
      
      The end goal is to register more pattern for Mercurial test. There are multiple
      common patterns that change over time. That impact is annoying. Using pattern
      emplacement for them would be handy.
      
      The next patches will define all the needed patterns and the last patch will
      mass-update the tests outputs as it was easier to do in a single pass.
      4fb489a9
  3. Nov 14, 2017
  4. Nov 17, 2017
  5. Nov 16, 2017
    • Kyle Lippincott's avatar
      run-tests: fix TESTDIR if testdescs are absolute paths · 57d56f60
      Kyle Lippincott authored
      Commit a18eef03d879 made TESTDIR be the location of the arguments that were
      passed to run-tests.py instead of just PWD.  It assumed that these tests were
      specified using relative paths, so if pwd was /tmp/foo, and the first argument
      was /tmp/baz, it would set TESTDIR to /tmp/foo//tmp/baz.
      
      Differential Revision: https://phab.mercurial-scm.org/D1433
      57d56f60
    • Anton Shestakov's avatar
      hgweb: show commit phase if it's not public · a1de4ffa
      Anton Shestakov authored
      In spartan theme phase is shown on its own table row, because there's no single
      line of "tags". Everywhere else phase is prepended to the list of "tags" of a
      changeset. Its element has a purple-ish color in gitweb and monoblue, and a
      dotted line under it and no color in paper and coal (as these themes are frugal
      with colors).
      
      This patch intentionally doesn't touch graph, because it needs a rewrite. I'll
      get to it pretty soon and in the process will add phase and everything that's
      still coming (e.g. obsolescence and instabilities).
      
      .. feature::
      
         hgweb now displays phases of non-public changesets
      a1de4ffa
  6. Nov 15, 2017
    • Anton Shestakov's avatar
      hgweb: move changeset "tags" to a template in map file (paper and coal) · 9acc0360
      Anton Shestakov authored
      This patch puts all these changeset "tags" into one template shared everywhere
      in paper and coal themes. But it should be noted that some of the templates had
      different sets of tags, in some cases it was intended, in others - most likely
      not.
      
      First, what's up with all these different ways to get changeset's branch. There
      are actually 3 ways to do it in hgweb, they can all be seen in this patch;
      "branches", "inbranch" and "branch". They are all lists that consist of 1 or 0
      items:
      
      - "branches" has ctx.branch() if current changeset is the tip of that branch
      - "inbranch" has ctx.branch() if current changeset is _not_ the tip of that
        branch and the branch is not "default"
      - "branch" aka "changesetbranch" has ctx.branch() if the branch is not
        "default"
      
      The majority of cases (7 vs 2 + /graph) in paper theme used only option 3,
      which meant that "default" was never displayed. But other parts of the theme
      disagreed with this and used option 1 and option 2 together. For example, the
      default view (log) displays "default" on the branch tip (can be seen right
      about now on m-s.o/repo/hg), but it disappears when you click on the commit.
      
      Also, using option 3 alone meant that there was no way to tell if a changeset
      is the tip of its branch or not (it was always assumed that it's not, see how
      some css classes change from "branchname" to the correct "branchhead" in tests)
      -- so the two different css styles that exist in paper just for this were
      underused.
      
      I think this patch improves the situation, even though it changes the old (even
      if inconsistent) behavior. The new behavior matches that of gitweb and
      monoblue.
      9acc0360
  7. Nov 03, 2017
  8. Nov 14, 2017
  9. Nov 15, 2017
  10. Oct 26, 2017
  11. Nov 14, 2017
    • Denis Laxalde's avatar
      rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300) · a68c3420
      Denis Laxalde authored
      .. feature::
      
         Let 'hg rebase' avoid content-divergence by skipping obsolete
         changesets (and their descendants) when they are present in the rebase
         set along with one of their successors but none of their successors is
         in destination.
      
      In the following example, when trying to rebase 3:: onto 2, the rebase
      will abort with "this rebase will cause divergence from: 4":
      
          o  7 f
          |
          | o  6 e
          | |
          | o  5 d'
          | |
          x |  4 d (rewritten as 5)
          |/
          o  3 c
          |
          | o  2 x
          | |
          o |  1 b
          |/
          o  0 a
      
      By excluding obsolete changesets without a successor in destination (4
      in the example above) and their descendants, we make rebase work in this
      case, thus giving:
      
          o  11 e
          |
          o  10 d'
          |
          o  9 c
          |
          o  8 b
          |
          | o  7 f
          | |
          | | x  6 e (rewritten using rebase as 11)
          | | |
          | | x  5 d' (rewritten using rebase as 10)
          | | |
          | x |  4 d
          | |/
          | x  3 c (rewritten using rebase as 9)
          | |
          o |  2 x
          | |
          | x  1 b (rewritten using rebase as 8)
          |/
          o  0 a
      
      where branch 4:: is left behind while branch 5:: is rebased as expected.
      
      The rationale is that users may not be interested in rebasing orphan
      changesets when specifying a rebase set that include them but would
      still want "stable" ones to be rebased. Currently, the user is suggested
      to allow divergence (but probably does not want it) or they must specify
      a rebase set excluding problematic changesets (which might be a bit
      cumbersome). The approach proposed here corresponds to "Option 2" in
      https://www.mercurial-scm.org/wiki/CEDRebase.
      
      
      We extend _computeobsoletenotrebased() so that it also return a set of
      obsolete changesets in rebase set without a successor in destination but
      with at least one successor in rebase set. This
      'obsoletewithoutsuccessorindestination' is then stored as an attribute
      of rebaseruntime and used in _performrebasesubset() to:
      
      * filter out descendants of these changesets from the revisions to
        rebase;
      * issue a message about these revisions being skipped.
      
      This only occurs if 'evolution.allowdivergence' option is off and
      'rebaseskipobsolete' is on.
      a68c3420
  12. Nov 11, 2017
  13. Nov 06, 2017
  14. Nov 11, 2017
  15. Nov 12, 2017
  16. Oct 31, 2017
  17. Oct 06, 2017
  18. Nov 11, 2017
  19. Oct 17, 2017
  20. Oct 15, 2017
  21. Oct 17, 2017
    • Boris Feld's avatar
      pull: store binary node in pullop.remotebookmarks · d7a4384d
      Boris Feld authored
      The internal representation of bookmark value is binary. The fact we stored
      'hex' was an implementation detail from using pushkey.
      
      We move the values in 'pullop.remotebookmarks' to binary before adding a way to
      exchange bookmarks not based on pushkey.
      d7a4384d
  22. Oct 19, 2017
  23. Nov 10, 2017
Loading