• Show log

    Commit

  • Hash : 8dde7e11
    Author : Patrick Steinhardt
    Date : 2018-12-19T11:04:58

    refdb_fs: refactor error handling in `refdb_reflog_fs__delete`
    
    The function `refdb_reflog_fs__delete` uses the `if (!error && foobar())`
    pattern of checking, where error conditions are being checked by following calls
    to different code. This does not match our current style, where the call-site of
    a function is usually directly responsible for checking the return value.
    
    Convert the function to use `if ((error = foobar()) < 0) goto out;` style. Note
    that this changes the code flow a bit: previously, we were always trying to
    delete empty reference hierarchies even if deleting the reflog entry has failed.
    This wasn't much of a problem -- if deletion failed, the hierarchy will still
    contain at least one file and thus the function call was an expensive no-op.
    Now, we will only perform this deletion if we have successfully removed the
    reflog.