Skip to content
  • Jeff King's avatar
    add quieter versions of parse_{tree,commit} · 9cc2b07a
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    When we call parse_commit, it will complain to stderr if the
    object does not exist or cannot be read. This means that we
    may produce useless error messages if this situation is
    expected (e.g., because the object is marked UNINTERESTING,
    or because revs->ignore_missing_links is set).
    
    We can fix this by adding a new "parse_X_gently" form that
    takes a flag to suppress the messages. The existing
    "parse_X" form is already gentle in the sense that it
    returns an error rather than dying, and we could in theory
    just add a "quiet" flag to it (with existing callers passing
    "0"). But doing it this way means we do not have to disturb
    existing callers.
    
    Note also that the new flag is "quiet_on_missing", and not
    just "quiet". We could add a flag to suppress _all_ errors,
    but besides being a more invasive change (we would have to
    pass the flag down to sub-functions, too), there is a good
    reason not to: we would never want to use it. Missing a
    linked object is expected in some circumstances, but it is
    never expected to have a malformed commit, or to get a tree
    when we wanted a commit.  We should always complain about
    these corruptions.
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    9cc2b07a