def _call_process(self, method, *args, **kwargs):
		"""Run the given git command with the specified arguments and return
		the result as a String

		:param method:
			is the command. Contained "_" characters will be converted to dashes,
			such as in 'ls_files' to call 'ls-files'.

		:param args:
			is the list of arguments. If None is included, it will be pruned.
			This allows your commands to call git more conveniently as None
			is realized as non-existent

		:param kwargs:
			is a dict of keyword arguments.
			This function accepts the same optional keyword arguments
			as execute().

		``Examples``::
			git.rev_list('master', max_count=10, header=True)

		:return: Same as ``execute``"""
		# Handle optional arguments prior to calling transform_kwargs
		# otherwise these'll end up in args, which is bad.
		_kwargs = dict()
		for kwarg in execute_kwargs:
			try:
				_kwargs[kwarg] = kwargs.pop(kwarg)
			except KeyError:
				pass

		# Prepare the argument list
		opt_args = self.transform_kwargs(**kwargs)
		
		ext_args = self.__unpack_args([a for a in args if a is not None])
		args = opt_args + ext_args

		call = ["git", dashify(method)]
		call.extend(args)

		return self.execute(call, **_kwargs)
Run the given git command with the specified arguments and return
		the result as a String

		:param method:
			is the command. Contained "_" characters will be converted to dashes,
			such as in 'ls_files' to call 'ls-files'.

		:param args:
			is the list of arguments. If None is included, it will be pruned.
			This allows your commands to call git more conveniently as None
			is realized as non-existent

		:param kwargs:
			is a dict of keyword arguments.
			This function accepts the same optional keyword arguments
			as execute().

		``Examples``::
			git.rev_list('master', max_count=10, header=True)

		:return: Same as ``execute``