Skip to content
Snippets Groups Projects
  1. Sep 30, 2013
    • Katsunori FUJIWARA's avatar
      rebase: catch RepoLookupError at restoring rebase state for abort/continue · 577f4c56
      Katsunori FUJIWARA authored
      Before this patch, "rebase --abort"/"--continue" may fail, when rebase
      state is inconsistent: for example, the root of rebase destination
      revisions recorded in rebase state file is already stripped manually.
      
      Mercurial earlier than 2.7 allows users to do anything other than
      starting new rebase, even though current rebase is not finished or
      aborted yet. So, such inconsistent rebase states may be left and
      forgotten in repositories.
      
      This patch catches RepoLookupError at restoring rebase state for
      abort/continue, and treat such state as "broken".
      577f4c56
    • Katsunori FUJIWARA's avatar
      histedit: suggest "histedit --abort" for inconsistent histedit state · 45c30868
      Katsunori FUJIWARA authored
      Mercurial earlier than 2.7 allows users to do anything other than
      starting new histedit, even though current histedit is not finished or
      aborted yet. So, unfinished (and maybe inconsistent now) histedit
      states may be left and forgotten in repositories.
      
      Before this patch, histedit extension shows the message below, when it
      detects such inconsistent state:
      
         abort: REV is not an ancestor of working directory
         (update to REV or descendant and run "hg histedit --continue" again)
      
      But this message is incorrect, unless old Mercurial is re-installed,
      because Mercurial 2.7 or later disallows users to update the working
      directory to another revision.
      
      This patch changes the hint message to suggest "hg histedit --abort".
      45c30868
    • Pierre-Yves David's avatar
      repoview: have unfilteredpropertycache using the underlying cache · 97896709
      Pierre-Yves David authored
      A  `unfilteredpropertycache` is a kind of `propertycache` used on `localrepo` to
      unsure it will always be run against unfiltered repo and stored only once.
      
      As the cached value is never stored in the repoview instance, the descriptor
      will always be called. Before this patch such calls always result in a call to
      the `__get__` method of the `propertycache` on the unfiltered repo. That was
      recomputing a new value on every access through a repoview.
      
      We can't prevent the repoview's `unfilteredpropertycache` to get called on every
      access. In that case the new code makes a standard attribute access to the
      property. If a value is cached it will be used.
      
      The `propertycache` test file have been augmented with test about this issue.
      97896709
    • Pierre-Yves David's avatar
      repoview: make propertycache.setcache compatible with repoview · a1237a4b
      Pierre-Yves David authored
      Propertycache used standard attribute assignment. In the repoview case, this
      assignment was forwarded to the unfiltered repo. This result in:
      (1) unfiltered repo got a potentially wrong cache value,
      (2) repoview never reused the cached value.
      
      This patch replaces the standard attribute assignment by an assignment to
      `objc.__dict__` which will bypass the `repoview.__setattr__`. This will not
      affects other `propertycache` users and it is actually closer to the semantic we
      need.
      
      The interaction of `propertycache` and `repoview` are now tested in a python
      test file.
      a1237a4b
  2. Oct 01, 2013
  3. Sep 30, 2013
  4. Sep 24, 2013
  5. Sep 23, 2013
    • Matt Mackall's avatar
      tests: fix check-code breakage · 4d2bea66
      Matt Mackall authored
      4d2bea66
    • Katsunori FUJIWARA's avatar
      help: use full name of extensions to look up them for keyword search · 83d79a00
      Katsunori FUJIWARA authored
      Before this patch, "hg help -k KEYWORD" fails, if there is the
      extension of which name includes ".", because "extensions.load()"
      invoked from "help.topicmatch()" fails to look such extension up, even
      though it is already loaded in.
      
      "help.topicmatch()" invokes "extensions.load()" with the name gotten
      from "extensions.enabled()". The former expects full name of extension
      (= key in '[extensions]' section), but the latter returns names
      shortened by "split('.')[-1]". This difference causes failure of
      looking extension up.
      
      This patch adds "shortname" argument to "extensions.enabled()" to make
      it return shortened names only if it is True. "help.topicmatch()"
      turns it off to get full name of extensions.
      
      Then, this patch shortens full name of extensions by "split('.')[-1]"
      for showing them in the list of extensions.
      
      Shortening is also applied on names gotten from
      "extensions.disabled()" but harmless, because it returns only
      extensions directly under "hgext" and their names should not include
      ".".
      83d79a00
  6. Sep 20, 2013
    • Wojciech Lopata's avatar
      generaldelta: initialize basecache properly · e92650e3
      Wojciech Lopata authored
      Previously basecache was incorrectly initialized before adding the first
      revision from a changegroup. Basecache value influences when full revisions are
      stored in revlog (when using generaldelta). As a result it was possible to
      generate a generaldelta-revlog that could be bigger by arbitrary factor than its
      non-generaldelta equivalent.
      e92650e3
  7. Sep 07, 2013
  8. Sep 18, 2013
  9. Sep 07, 2013
    • Antoine Pitrou's avatar
      bundle: fix performance regression when bundling file changes (issue4031) · fd4f612f
      Antoine Pitrou authored
      Somewhere before 2.7, a change [ec896f9e8894] was committed that
      entailed a large performance regression when bundling (and therefore
      remote cloning) repositories. For each file in the repository, it would
      recompute the set of needed changesets even though it is the same for
      all files. This computation would dominate bundle runtimes according to
      profiler output (by 10x or more).
      fd4f612f
  10. Aug 05, 2013
  11. Sep 03, 2013
  12. Aug 28, 2013
  13. Aug 26, 2013
    • Katsunori FUJIWARA's avatar
      histedit: add description about "histedit --outgoing" to command help · bd5c1b49
      Katsunori FUJIWARA authored
      Before this patch, there is no explicit description that argument is
      treated as the URL of the destination repository when "--outgoing" is
      specified.
      
      This patch adds description about "histedit --outgoing" to command
      help of it.
      bd5c1b49
    • Katsunori FUJIWARA's avatar
      histedit: add description about basic histedit function to command help · 62375360
      Katsunori FUJIWARA authored
      Before this patch, there is no explicit description that histedit
      edits changesets between specified ancestor and the parent of the
      working directory: users may notice it by error message "REV is not an
      ancestor of working directory".
      
      This patch adds description about basic histedit function to command
      help of it.
      
      This patch uses term "ancestor" instead of "parent", because it seems
      to be more suitable, and almost all (error) messages already use it.
      62375360
  14. Sep 03, 2013
  15. Aug 02, 2013
  16. Aug 01, 2013
  17. Jul 31, 2013
  18. Aug 02, 2013
  19. Aug 01, 2013
  20. Jul 26, 2013
  21. Jul 28, 2013
    • Matt Mackall's avatar
      checklink: work around sshfs brain-damage (issue3636) · cfdae231
      Matt Mackall authored
      With the follow_symlinks option, sshfs will successfully create links
      while claiming it encountered an I/O error. In addition, depending on
      the type of link, it may subsequently be impossible to delete the link
      via sshfs. Our existing link to '.' will cause sshfs to think the link
      is a directory, and thus cause unlink to give EISDIR. Links to
      non-existent names or circular links will cause the created link to not even
      be visible.
      
      Thus, we need to create a new temporary file and link to that. We'll
      still get a failure, but we'll be able to remove the link.
      cfdae231
    • Matt Mackall's avatar
      import: cut commit messages at --- unconditionally (issue2148) · 9e8298a3
      Matt Mackall authored
      We used to do this based on X-mailer: mentioning git, but git doesn't
      put X-mailer in its git-format-patch output.
      9e8298a3
  22. Jul 27, 2013
  23. Jul 26, 2013
Loading