Johannes Sixt <j.s...@viscovery.net> writes:
> Am 10/24/2013 7:25, schrieb Duy Nguyen:
>> On Thu, Oct 24, 2013 at 11:11 AM, Nasser Grainawi <nas...@codeaurora.org>
>>>>> It is not clear to me how you envision to make it work.
>>>> I don't have the source code.
>>> Now you do:
>> Thanks. So you do have tree sha-1 by running "git write-tree". But at
>> that point I'm not sure if cache-tree is written down to disk yet, so
>> write-tree could be more expensive than necessary (one good point for
>> building --change-id in).
> Consider that I make a commit with a change-id. Then I rewrite the commit,
> but keep the change-id. Then I push the rewritten commit to Gerrit. Gerrit
> does not have the objects that the change-id is based on; the change-id is
> just a random number and has no other significance. Right?
> Why do you go all the length in computing a change-id instead of just
> pulling 20 bytes from /dev/random?
Very good point.
The quoted script does not necessarily give the right commit object
name at least under three scenarios:
- when we would need to add encoding header, etc.;
- when we are recording merges (perhaps merges will not get rebased
in Gerrit workflow and it does not matter what random garbage
this script added to them).
- when we record the commit after 1-sec boundary since _gen_ChangeIdInput
in the script was called.
I wouldn't call the script "buggy", but I tend to agree with you
that it is an unnecessarily more complex way to spell "grab 20
random bytes" ;-)
> That said, I don't think that --change-id option that the user must not
> forget to use is any better than a hook that the user must not forget to
That is why I said this in my first response to this thread:
>> ... We may even want to
>> introduce commit.changeId boolean configuration variable if we did
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html