Skip to content
Snippets Groups Projects
  1. Feb 22, 2025
  2. Jan 10, 2025
  3. Dec 16, 2023
  4. Dec 18, 2023
  5. Jun 21, 2023
  6. May 31, 2023
  7. Apr 12, 2022
  8. Jun 18, 2021
  9. Apr 20, 2021
  10. Apr 09, 2021
  11. Feb 24, 2021
  12. Feb 03, 2021
    • Martin von Zweigbergk's avatar
      narrow: add --no-backup option for narrowing · 3c360ab2688d
      Martin von Zweigbergk authored
      Most of our users at Google use Mercurial on a file system that keeps
      backups of previous versions of all files, including those in
      `.hg/`. They therefore don't need a separate backup in the file system
      when narrowing their repo (which they typically do by running `hg
      tracked --auto-remove-includes`). Backups can be very slow. `hg strip`
      already has a `--no-backup` option. This patch adds the same option to
      `hg tracked --removeinclude/--addexclude`.
      
      Differential Revision: https://phab.mercurial-scm.org/D9951
      3c360ab2688d
  13. Nov 19, 2020
  14. Sep 13, 2019
  15. Oct 14, 2018
    • Pierre-Yves David's avatar
      debugobsolete: also issue the "new obsmarkers" messsage · 34a46d48d24e
      Pierre-Yves David authored
      We are going to improve the way this message is issued in the core codebase.
      This will make it appears for `hg debugobsolete` too. Since this seems like a
      good idea, we make the output change in a previous changesets to clarify the
      next changeset.
      34a46d48d24e
  16. May 21, 2019
    • Pulkit Goyal's avatar
      narrow: use narrow_widen wireproto command to widen in case of ellipses · c767e655ffda
      Pulkit Goyal authored
      Few releases ago, we introduce narrow_widen wireproto command to be used to widen
      narrow repositories. Before this patch, that was used in non-ellipses cases
      only. In ellipses cases, we still do exchange.pull() which can pull more data
      than required.
      
      After this patch, the client will first check whether server supports doing
      ellipses widening using wireproto command or not by checking server's wireproto
      capability. If the server is upto date and support latest ellipses capability,
      we call the wireproto command. Otherwise we fallback to exchange.pull() like
      before.
      
      The compat code make sure that things works even if one of the client or server
      is old. The initial version of this patch does not had this compat code. It's
      added to help Google release things smoothly internally. I plan to drop the
      compat code before the upcoming major release.
      
      Due to change to wireproto command, the code looks a bit dirty, next patches
      will clean that up.
      
      Differential Revision: https://phab.mercurial-scm.org/D6436
      c767e655ffda
    • Danny Hooper's avatar
      narrow: consider empty commits to be "inside the narrow spec" for templates · 45c18f7345c1
      Danny Hooper authored
      It doesn't seem useful to exclude them, or harmful to include them. Users
      writing log templates using outsidenarrow as a predicate might consider it
      unexpected if their locally created empty drafts are treated as if they
      contained something outside the clone.
      
      Differential Revision: https://phab.mercurial-scm.org/D6414
      45c18f7345c1
  17. Dec 06, 2018
  18. Dec 04, 2018
    • Martin von Zweigbergk's avatar
      narrow: don't resurrect old commits when narrowing (don't strip obsmarkers) · 77173267878b
      Martin von Zweigbergk authored
      If you have an old obsolescence-chain of commits that has been pruned
      and you narrow your repo so that some of those commits get stripped
      (because they affected the removed paths), then we would currently
      resurrect the commit that came before (along the obsmarker chain) the
      last stripped commit. That happens by the usual rules for
      obsmarker-stripping. However, it's quite surprising when it happens
      when you narrow your repo. This patch makes narrowing not strip
      obsmarkers.
      
      Differential Revision: https://phab.mercurial-scm.org/D5364
      77173267878b
  19. Oct 22, 2018
    • Matt Harbison's avatar
      lfs: consult the narrow matcher when extracting pointers from ctx (issue5794) · 4a81d82474e9
      Matt Harbison authored
      I added a testcase for lfs to all narrow tests, and the following failed:
      
          test-narrow-acl.t
          test-narrow-exchange.t
          test-narrow-patterns.t
          test-narrow-strip.t
          test-narrow-trackedcmd.t
          test-narrow-widen.t
          test-narrow.t
      
      The first two still have errors in the pretxnchangegroup on clone and (receiving
      a) push, which I'm still looking into (4d63f3bc1e1a fixed something in this area
      already).  These two modified tests seem to cover the things that failed in the
      remaining narrow tests, i.e. `hg tracked` and `hg strip`, so I didn't bother
      enabling the testcases elsewhere.  Maybe we should, but it's 68 tests total.
      4a81d82474e9
  20. Sep 12, 2018
    • Gregory Szorc's avatar
      commands: pass include and exclude options to hg.clone() · 4c807ec07888
      Gregory Szorc authored
      These arguments are defined by the narrow extension. Let's teach
      core to recognize them so we can delete some code from the narrow
      extension and start to exercise the in-core code for performing a
      narrow clone.
      
      We have no way of easily testing it, but this change should result in
      .hg/requires having the narrow requirement from the time the file
      is written rather than added as part of pull. We'll confirm this when
      we delete some monkeypatched functions from the narrow extension in
      later commits.
      
      Test output changed because hg.clone() is now receiving patterns
      and validation of those values is occurring sooner, before the exchange
      code runs and prints the message that was deleted.
      
      Differential Revision: https://phab.mercurial-scm.org/D4538
      4c807ec07888
  21. Aug 29, 2018
  22. Apr 04, 2018
    • Gregory Szorc's avatar
      simplestore: use a custom store for the simple store repo · c2c8962a9465
      Gregory Szorc authored
      Before, we used the default store, which was based on fncache
      and dotencode. After attempting to port tests to work with the
      simple store, I realized that fncache was more trouble than it is
      worth.
      
      This commit implements a proper store type for the simple repo -
      one that isn't based off fncache.
      
      This causes a number of new test failures because of tests
      expecting the full fncache store filename encoding. I may
      extend the store format in a subsequent commit to take the
      filename encoding parts of fncache that we can take
      (basically everything except hash encoding, since that isn't
      reversible). But for now, let's use encoded store.
      
      As part of this, we implement proper requirements support for
      repos created with the simple store. This should have been
      done from the beginning, as a requirement is needed to lock
      out clients that don't understand a storage format.
      
      A new hghave feature advertising the presence of fncache in repos
      has been added. Most tests touching the fncache are now conditional
      on that feature.
      
      Other tests have added the optional repo requirement to output.
      
      Differential Revision: https://phab.mercurial-scm.org/D3095
      c2c8962a9465
    • Gregory Szorc's avatar
      e82a59bfc5e8
  23. Feb 13, 2018
  24. Feb 01, 2018
  25. Jan 29, 2018
    • Augie Fackler's avatar
      narrow: import experimental extension from narrowhg revision cb51d673e9c5 · a2a6e724d61a
      Augie Fackler authored
      Adjustments:
       * renamed src to hgext/narrow
       * marked extension experimental
       * added correct copyright header where it was missing
       * updated hgrc extension enable line in library.sh
       * renamed library.sh to narrow-library.sh
       * dropped all files from repo root as they're not interesting
       * dropped test-pyflakes.t, test-check-code.t and test-check-py3-compat.t
       * renamed remaining tests to all be test-narrow-* when they didn't already
       * fixed test-narrow-expanddirstate.t to refer to narrow and not narrowhg
       * fixed tests that wanted `update -C .` instead of `merge --abort`
       * corrected a two-space indent in narrowspec.py
       * added a missing _() in narrowcommands.py
       * fixed imports to pass the import checker
       * narrow only adds its --include and --exclude to clone if sparse isn't
         enabled to avoid breaking test-duplicateoptions.py. This is a kludge,
         and we'll need to come up with a better solution in the future.
      
      These were more or less the minimum to import something that would
      pass tests and not create a bunch of files we'll never use.
      
      Changes I intend to make as followups:
       * rework the test-narrow-*-tree.t tests to use the new testcases
         functionality in run-tests.py
       * remove lots of monkeypatches of core things
      
      Differential Revision: https://phab.mercurial-scm.org/D1974
      a2a6e724d61a
Loading