Skip to content
  • David M. Carr's avatar
    push: add more output about what was added (issue #64) · 163c452531cf
    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
    163c452531cf