On Fri, Jun 02, 2017 at 02:02:22AM -0400, Jeffrey Walton wrote:
> I'm working on a test machine. It mostly needs to be a clone of
> upstream. On occasion it needs to test a particular commit.
>
> When I attempt to test a commit it produces:
>
> $ git cherry-pick eb3b27a6a543
>
> *** Please tell me who you are.
[...]
> This is a nameless test account, so there is no information to provide.
>
> How do I tell Git to ignore these checks?
[...]
> Well, they don't exist so there's nothing to set.
>
> The machine below its a CubieBoard used for testing. I remote into it
> with test@. As a matter of policy, no check-ins occur on it. Other
> than the password database and authroized_keys file, there is no
> information on it to be lost or stolen.
`git cherry-pick` wants to record a commit. A commit in Git always
possess the information on "the committer" -- whoever recorded the
commit (it might be distinct from the commit author, as is the case with
cherry-picking). There's no way to not set the committer.
I envision two ways to get around this situation:
1) Patch the ~/.whatevershellrc of your test account to set this
information by setting and exporting the GIT_AUTHOR_NAME and
GIT_AUTHOR_EMAIL env. variables (and may be others -- see the
"git" manual page; run `git help git`).
May be even add it in /etc/skel to make all accounts create inherit
it.
2) Set these parameters in the repository you're working with.
While Git suggests you to pass "--global" to the `git config`
invocations, it's perfectly OK to use "--local" with them (which is
IIRC the default, if not supplied) to make these settings be recorded
in the repository's configuration rather than in ~/.gitconfig.
3) Pass these options explicitly to Git invocations or make a shell
alias which would do so, like with
function git() {
command git \
-c user.name='Joe Tester' \
-c [email protected] \
"$@"
}
I'd personally go with (2).