Skip to content
  • Stephan Beyer's avatar
    Generalize and libify index_is_dirty() to index_differs_from(...) · 75f3ff2e
    Stephan Beyer authored and Junio C Hamano's avatar Junio C Hamano committed
    index_is_dirty() in builtin-revert.c checks if the index is dirty.
    This patch generalizes this function to check if the index differs
    from a revision, i.e. the former index_is_dirty() behavior can now be
    achieved by index_differs_from("HEAD", 0).
    
    The second argument "diff_flags" allows to set further diff option
    flags like DIFF_OPT_IGNORE_SUBMODULES. See DIFF_OPT_* macros in diff.h
    for a list.
    
    index_differs_from() seems to be useful for more than builtin-revert.c,
    so it is moved into diff-lib.c and also used in builtin-commit.c.
    
    Yet to mention:
    
     - "rev.abbrev = 0;" can be safely removed.
       This has no impact on performance or functioning of neither
       setup_revisions() nor run_diff_index().
    
     - rev.pending.objects is free()d because this fixes a leak.
       (Also see 295dd2ad
    
     "Fix memory leak in traverse_commit_list")
    
    Mentored-by: default avatarDaniel Barkalow <barkalow@iabervon.org>
    Mentored-by: default avatarChristian Couder <chriscool@tuxfamily.org>
    Signed-off-by: default avatarStephan Beyer <s-beyer@gmx.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    75f3ff2e