Re: How to avoid "Please tell me who you are..."?
- From
- Konstantin Khomoutov <kostix+git@007spb.ru>
- Date
- Jun 2, 2017, 07:00 UTC
- Message-ID
- <20170602070052.3lq22arcncuh6rrl@tigra>
- In-Reply-To
- <CAH8yC8k9pJHLuzWneb4aRAEF2zOTCVO_5YJxrCpw28x8bDox0A@mail.gmail.com>
On Fri, Jun 02, 2017 at 02:02:22AM -0400, Jeffrey Walton wrote:
Show 8 quoted lines
> 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?
[...]
Show 6 quoted lines
> 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 user.email=tester@acme.corp \
"$@"
}I'd personally go with (2).