Skip to content
Snippets Groups Projects
  1. Apr 18, 2012
  2. Apr 17, 2012
  3. Apr 16, 2012
  4. Apr 15, 2012
  5. Apr 14, 2012
    • Angel Ezquerra's avatar
      tests: add tests for matching keyword · 60c379da
      Angel Ezquerra authored
      This adds a couple of tests for the revset "matching" keyword:
      
      1. Test that the 2nd parameter is optional
      2. Test that all the 1st argument can be a revset and that all the supported
      fields of the 2nd argument work.
      60c379da
  6. Apr 13, 2012
    • Angel Ezquerra's avatar
      revset: speedup matching() by first matching fields that take less time to · 984e0412
      Angel Ezquerra authored
      match
      
      This patch sorts the fields that are passed to the matching function so that it
      always starts by matching those fields that take less time to match.
      
      Not all fields take the same amount of time to match. I've done several
      measurements running the following command:
      
      hg --time log -r "matching(1, field)"
      
      on the mercurial repository, and where 'field' was each one of the fields
      accepted by match. In order to avoid the print overhead (which could be
      different for different fields, given the different number of matches) I used a
      modified version of the matching() function which always returns no matches.
      
      These tests showed that different fields take wildly different amounts of time
      to match. Particulary the substate field takes up to 25 seconds to match on my
      machine, compared to the 0.3 seconds that takes to match the phase field or the
      2 seconds (approx) that takes to match most fields. With this patch, matching
      both the phase and the substate of a revision takes the same amount of time as
      matching the phase.
      
      The field match order introduced by this patch is as follows:
      
      phase, parents, user, date, branch, summary, files, description, substate
      
      An extra nice thing about this patch is that it makes the match time stable.
      984e0412
    • Angel Ezquerra's avatar
      revset: speedup matching() by stopping the match early if a field does not match · 453c8670
      Angel Ezquerra authored
      Rather than getting all the fields that are being matches from every revision
      and then comparing them to those of the target revision, compare each field one
      by one and stop the match as soon as there is a match failure.
      
      This can greatly reduce the match time when matching multiple fields.
      The impact on match time when matching a single field seems negligible
      (according to my measurements).
      453c8670
    • Angel Ezquerra's avatar
  7. Mar 22, 2012
    • Angel Ezquerra's avatar
      fileset: add "subrepo" fileset symbol · 9e02e032
      Angel Ezquerra authored
      This new fileset symbol returns a list of subrepos whose paths match a given
      pattern. If the argument has no pattern type set, an exact
      match is performed.
      
      If no argument is passed, return a list of all subrepos.
      9e02e032
  8. Apr 16, 2012
  9. Apr 13, 2012
  10. Apr 14, 2012
  11. Mar 28, 2012
    • Angel Ezquerra's avatar
      revert: add support for reverting subrepos without --no-backup and/or --all · 6883c236
      Angel Ezquerra authored
      When a subrepo is reverted but --no-backup is not set, call revert on the
      subrepo that is being reverted prior to updating it to the revision specified
      in the parent repo's .hgsubstate file.
      
      The --all flag is passed down to the subrepo when it is being reverted. If the
      --all flag is not set, all files that are modified on the subrepo will be
      reverted.
      6883c236
    • Angel Ezquerra's avatar
      revert: add support for reverting subrepos · 71dcce39
      Angel Ezquerra authored
      Reverting a subrepo is done by updating it to the revision that is selected on
      the parent repo .hgsubstate file.
      
      * ISSUES/TODO:
      
      - reverting added and removed subrepos is not supported yet.
      - reverting subrepos is only supported if the --no-backup flag is used (this
      limitation will be removed on another patch).
      - The behavior of the --all flag has been changed. It now reverts subrepos as
      well. Note that this may lead to data loss if the user has a dirty subrepo.
      71dcce39
  12. Apr 14, 2012
  13. Apr 13, 2012
  14. Apr 14, 2012
  15. Apr 13, 2012
Loading