Skip to content
  • Jeff King's avatar
    rebase-interactive: drop early check for valid ident · 1e461c4f
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    Since the very inception of interactive-rebase in 1b1dce4b
    
    
    (Teach rebase an interactive mode, 2007-06-25), there has
    been a preemptive check, before looking at any commits, to
    see whether the user has a valid name/email combination.
    
    This is convenient, because it means that we abort the
    operation before even beginning (rather than just
    complaining that we are unable to pick a particular commit).
    
    However, it does the wrong thing when the rebase does not
    actually need to generate any new commits (e.g., a
    fast-forward with no commits to pick, or one where the base
    stays the same, and we just pick the same commits without
    rewriting anything). In this case it may complain about the
    lack of ident, even though one would not be needed to
    complete the operation.
    
    This may seem like mere nit-picking, but because interactive
    rebase underlies the "preserve-merges" rebase, somebody who
    has set "pull.rebase" to "preserve" cannot make even a
    fast-forward pull without a valid ident, as we bail before
    even realizing the fast-forward nature.
    
    This commit drops the extra ident check entirely. This means
    we rely on individual commands that generate commit objects
    to complain. So we will continue to notice and prevent cases
    that actually do create commits, but with one important
    difference: we fail while actually executing the "pick"
    operations, and leave the rebase in a conflicted, half-done
    state.
    
    In some ways this is less convenient, but in some ways it is
    more so; the user can then manually commit or even "git
    rebase --continue" after setting up their ident (or
    providing it as a one-off on the command line).
    
    Reported-by: default avatarDakota Hawkins <dakotahawkins@gmail.com>
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    1e461c4f