<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_against():
 """ Determines the revision against which the staged data ought to be checked. :returns: The revision. :rtype: :class:`str` """

    global __cached_against
    if __cached_against is not None:
        return __cached_against

    status = subprocess.call(["git", "rev-parse", "--verify", "HEAD"],
                             stdout=open(os.devnull, 'w'),
                             stderr=subprocess.STDOUT)
    if not status:
        against = 'HEAD'
    else:
	# Initial commit: diff against an empty tree object
        against = '4b825dc642cb6eb9a060e54bf8d69288fbee4904'

    __cached_against = against
    return against