Skip to content
Snippets Groups Projects
  1. Dec 14, 2013
  2. Dec 13, 2013
  3. Dec 03, 2013
  4. Nov 27, 2013
  5. Oct 05, 2013
  6. Jun 26, 2012
  7. Oct 05, 2013
    • durin42's avatar
      overlays: fix incoming support for hg 2.8 · bf8518b0
      durin42 authored
      This was crafted mostly via a bunch of aimless flailing in the
      code. I'm pretty well convinced at this point that the incoming
      support needs to be rewritten slightly to behave properly in the new
      world order (specifically, the overlayrepo class probably should be
      subclassing localrepo, or else more directly reimplementing things
      instead of trying to forward methods.)
      bf8518b0
  8. Sep 17, 2013
  9. Dec 11, 2012
  10. Sep 13, 2013
  11. Aug 28, 2013
  12. Aug 12, 2013
  13. Jul 10, 2013
  14. Jul 01, 2013
  15. Apr 14, 2013
    • Gregory Szorc's avatar
      Only export modified Git trees · 792955be
      Gregory Szorc authored
      Previously, we emitted every Git tree when updating between Mercurial
      changesets. With this patch, we now only emit Git trees that changed. A
      side-effect of the implementation is that we now only update in-memory
      Git trees objects that changed. Before, we always touched Git trees,
      invalidating them in the process and causing Dulwich to recalculate
      their SHA-1. Profiling revealed this to be expensive and removing the
      extra calculation shows a nice performance win.
      
      Another optimization is to not sort the order that changed paths are
      processed in. Previously, we sorted by length, longest to shortest.
      Profiling revealed that the sorts took a non-trivial amount of time.
      While sorted execution resulted in likely idempotent behavior, it
      shouldn't be strictly required.
      
      On the author's machine, conversion of the Mercurial repository itself
      decreased from ~493s to ~333s. Even more impressive is conversion of
      Firefox's main repository (which is considerably larger). Converting the
      first 200 revisions of that repository decreased from ~152s to ~42s.
      792955be
  16. Apr 03, 2013
  17. Mar 20, 2013
  18. Mar 24, 2013
  19. Feb 07, 2013
  20. Feb 05, 2013
    • Hal Wine's avatar
      scrub bad timezone values before dulwich sees them · ce6ad4c0
      Hal Wine authored
      If dulwich is presented with a "sub minute" timezone offset, it throws
      an exception (see tests/test-timezone.t). This patch rounds the timezone
      down to the next minute before passing the value to dulwich.
      ce6ad4c0
  21. Jan 06, 2013
    • David M. Carr's avatar
      push: provide better output about changed references (issue #64) · a6b7ad53
      David M. Carr authored
      As pointed out by l33t, Hg-Git's output for push doesn't currently do a very
      good job of telling the user what happened.  My previous changes in this area
      had moved some of the output from status to note, making it only show if
      --verbose was specified.  However, I hadn't realized at the time that the
      reference information (though overly verbose) was providing a valueable purpose
      that otherwise wasn't met; telling the user that a remote reference had changed.
      
      This changeset makes it so that:
      *   default output will include simple messages like "adding reference
          refs/heads/feature" and "updating reference refs/heads/master" (omitting any
          mention of unchanged references)
      *   verbose output will include more detailed messages like "adding reference
          default::refs/heads/feature => GIT:aba43c" and "updating reference
          default::refs/heads/master => GIT:aba43c" (omitting any mention of unchanged
          references)
      *   debug output will include the detailed output like in verbose, but
          addtionally will include messages like "unchanged reference
          default::refs/heads/other => GIT:aba43c"
      
      https://bitbucket.org/durin42/hg-git/issue/64/push-confirmation
      a6b7ad53
    • David M. Carr's avatar
      push: add more output about what was added (issue #64) · 163c4525
      David M. Carr authored
      l33t pointed out that currently, Hg-Git doesn't provide any confirmation that a
      push was successful other than the exit code.  Normal Mercurial provides a
      couple other messages followed by "added X changesets with Y changes to
      Z files".  After this change, Hg-Git will provide much more similar output.
      It's not identical, as the underlying model is substantially different, but the
      concept is the same.  The main message is "added X commits with Y trees and
      Z blobs".
      
      This change doesn't affect the output of what references/branches were touched.
      That will be addressed in a subsequent commit.
      
      Dulwich doesn't provide an easy hook to get the information needed for this
      output.  Instead of passing generate_pack_contents as the pack generator
      function to send_pack, I pass a custom function that determines the "missing"
      objects, stores the counts, and then calls generate_pack_contents (which then
      will determine the "missing" objects again.
      
      The new expected output:
      searching for changes # unless quiet true
      <N> commits found     # if verbose true
      list of commits:      # if debugflag true and at least one commit found
      <each hash>           # if debugflag true and at least one commit found
      adding objects        # if at least one commit found unless quiet true
      added <N> commits with <N> trees and <N> blobs # if at least one object unless
                                                     # quiet true
      
      https://bitbucket.org/durin42/hg-git/issue/64/push-confirmation
      163c4525
  22. Nov 24, 2012
  23. Nov 22, 2012
  24. Nov 11, 2012
  25. Nov 04, 2012
    • David M. Carr's avatar
      tests: use fn_git_commit in test-encoding.t · 24d47416
      David M. Carr authored
      In c4849b2dab87, the "commit" function was extracted into a testutil for re-use.
      However, test-encoding.t was skipped over in that changeset, as I was seeing
      unexplained test failures.  Since those test failures have now been explained
      (and fixed), this changeset performs the same extraction on test-encoding.t as
      was done on all the other tests.
      
      The version of fn_git_commit that was used in testutil redirected all output
      (including errors) to /dev/null, which didn't match the expectations of this
      test.  The test utility functions for commit/tag now no longer throw away error
      output, instead leaving it to individual tests to decide if error output should
      be ignored.
      24d47416
    • David M. Carr's avatar
      tests: make test-encoding.t compatible with git 1.8.0 · fbbdbc8a
      David M. Carr authored
      It looks like Git 1.8.0 started silently converting latin1 commit messages to
      utf-8.  That changed the result of this test.  This changeset alters the test
      to make it accept both the pre-1.8.0 and post-1.8.0 behaviors.
      
      https://raw.github.com/git/git/master/Documentation/RelNotes/1.8.0.txt
      fbbdbc8a
Loading