Re: How to force git to use authentication as author

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/14/2011 02:01 PM, J. Bakshi wrote:
> On Thu, 14 Jul 2011 13:38:02 +0200
> Carlos Martín Nieto <cmn@xxxxxxxx> wrote:
> 
>> On Thu, 2011-07-14 at 16:45 +0530, J. Bakshi wrote:
>>> On Thu, 14 Jul 2011 13:00:02 +0200
>>> Carlos Martín Nieto <cmn@xxxxxxxx> wrote:
>>>
>>>> On Thu, 2011-07-14 at 16:18 +0530, J. Bakshi wrote:
>>>>> On Thu, 14 Jul 2011 12:38:59 +0200
>>>>> Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote:
>>>>>
>>>>>> On Thu, Jul 14, 2011 at 12:36, J. Bakshi <joydeep@xxxxxxxxxxxxxxx>
>>>>> wrote:
>>>>>>
>>>>>>> How can I force git to use the username as define
>>>>> at /home/git/PASSWD as the author name for git commit ?
>>>>>>
>>>>>> Edit the global bashrc to have:
>>>>>>
>>>>>>     export GIT_AUTHOR_NAME=$(cat ~/PASSWD)
>>>>>>
>>>>>> ?
>>>>>
>>>>> Thanks. 
>>>>>
>>>>> [1] will it work with file generated by htpasswd ? as that file is
>>>>> actually created by same (/home/git/PASSWD)
>>>>
>>>> Not directly, if it only has one line, then $(cat ~/PASSWD | cut -d ':'
>>>> -f 1) should work, but I haven't tested it.
>>>>
>>>>>
>>>>> [2] And the commit is over http, So is it effective to set the value
>>>>> by .bashrc ?
>>>>
>>>> You are misunderstanding either how git works or the nomenclature. The
>>>> commits all happen locally and need no authentication whatsoever (and
>>>> usually you're expected to use a real name and email address). When you
>>>> need to authenticate is when yuou push your changes somewhere (a central
>>>> repo, for example). This is where the ~/.netrc file comes into play, as
>>>> I mentioned in the reply to your other mail.
>>>>
>>> Exactly, when we need to push we are asked about authentication. I
>>> like to configure the central git server in a way so that the
>>> user-name as in authentication, be set as author name by the git
>>> server itself. actually it is how I configured svn server over http.
>>> So comparing to that I am trying to achieve the same. Say your
>>> user-name is there at htpasswd file as Carlos, so when you
>>> authenticate by Carlos to push , the author-name will automatically
>>> become as Carlos. No way to customize that with specific username.
>>> That's the idea.
>>
>> That's not how it works. It may even be possible to rewrite the commits
>> in the post-receive hook in a way that most stuff doesn't break
>> horribly, this would be rewriting history behind the users' backs, and
>> that only brings problems.
>>
>> The way to set the author name and mail in a standard way, be it
>> user-wide or per-repo. You can write up some simple instructions on how
>> to do it.
>>
>>     git config user.name "Max Smith"
>>     git config user.mail max.smith@xxxxxxxxxxx
>>
>> and if the config should be valid for every repo, use --global flag.
>> There is more information in the manual page.
>>
>> You could then add a check in the post-receive hook to reject pushes
>> with invalid author names, if you feel it's worth it.
>>
>> Taking a step back, why is this even an issue, though? If you don't
>> trust your developers to set their name and email correctly, why do you
>> trust them to write code? If it's company policy for people to be
>> referred to by their usernames rather than their given names, why not
>> tell them to set it to that[0]? It seems like you are trying to solve a
>> social issue with a technological measure that works at a different
>> level.
>>
> 
> Certainly not an issue at all. As I have mentioned before it is how the svn repo is working here. 
> So we are trying to follow the same with git too. Without effecting too much of the already running
> environment, so that the users need not bother too much with git. But as I have found it is not possible right now
> 

As Erik said:

> This will (as you point out) only lead to problems, because rewriting
> the history at commit-time will have the effect that a push leaves you
> in the situation where you end up with a different history on the
> workstation and the server. All branches off the pushed branch will
> become a hell, and a clusterfck of darkness and terror will take over.

SVN and Git are _totally_ different models. Do not try to force Git into
the svn model, it'll just give you __major__ headaches.

OTOH: It'll teach your users all the advanced uses of Git very rapidly. LOL

> http://permalink.gmane.org/gmane.comp.version-control.git/171444
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
Ferry Huberts

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]