Subject: Re: [RFC] Questions for "Git User's Survey 2011"

From: Jakub Narebski <[email-masked]>
Date: Wed, 14 Sep 2011 19:39:12 +0200

On Wed, 14 Sep 2011, Felipe Contreras wrote:
> On Sat, Sep 3, 2011 at 6:38 PM, Jakub Narebski <[email-masked]> wrote:
>> On Sat, 3 Sep 2011, Felipe Contreras wrote:
>>> 2011/7/25 Jakub Narebski <[email-masked]>:

>>>> I am planning doing annual Git User's Survey, and I'd like to ask for
>>>> feedback.
[...]
>> P.S. If I remember correctly you wanted some question about "staging area"
>> terminology, or something like that.  Do you have concrete proposal for
>> question and list of answers?
>>
>> I was thinking about
>>
>>  xx. How do you include changes in new commit?
>>  (multiple choice, with other)
>>
>>  [ ] commit -a
>>  [ ] commit <file>
>>  [ ] commit -i <file>
>>  [ ] git add
>>  [ ] git stage
>>  [ ] git update-index
>>  [ ] incremental add / commit
>>  [ ] other, please specify __________________________
>>
>> (it is not in current version of survey, but can be added before it starts
>> for real)... though it is only small subset of "stage" vs "the index"
>> terminology.  If you have something better...
> 
> I am just looking at this. You should send regular updates to the
> survey, right after the initial batch of feedback, not one day before.

I'm very sorry about that.

My excuse is that I had less time during the summer holidays than
I thought, and there were time when I was not able to work on Git or
Git User's Survey.  Additionally the premium account plan, which we have
for free thanks to generosity of Survs.com admins, ends 26 October 2011.
This means that postponing Git User's Survey to gather feedback and
start it later was out of question.
 
Also somehow I have missed your comments (or not implemented them
immediately because they lacked concrete proposal), and found them
only when sending last call request for feedback, just before starting
survey.

> First of all, "changes in new commit" doesn't sound right, should be
> either "a new commit", or "new commits".

Fixed (to "a new commit"), thanks.
 
> Second, you should have added what I said:
> 
> + stage / partial or interactive commits (e.g. git add -u/-i/-p, git
> diff --cached)
> 
> Nowhere in the survey does it as for 'git diff --cached' or anything
> that acts on the stage.

I couldn't come with a good question that would ask about that, and
I didn't want to create too long survey, with too many questions.
 
> So now we have your question, plus this:
>  + interactive commit / per-hunk comitting / partial commit
> 
> But that's not good enough.

Right.
 
> People might think 'git add -u/-i/-p' is not related to a commit.
> Also, we still don't know if people use --cached --keep-index, or any
> of those. If instead of 'git add/stage' you had 'git add/stage
> -u/-i/-p' That would have been better, and no, incremental add /commit
> doesn't really fit, for example, I usually do 'git add -p; git
> commit', so it's not really incremental.

I explicitly asked separately about _incremental_ and _interactive_...
but not in the new question.  I'm sorry about that.  Hopefully at
least some people will include "partial / interactive" in 'other'.
 
> I think we should stop beating around the bushes, and ask what we want to ask:
> 
>  == Do you use the stage/cache/index? ==

Perhaps "Do you use the stage/cache/index explicitly, and how?".
 
> If you don't want to ask that question directly, or you think people
> might not understand the question, we should be listing all the
> commands that use the stage, and make sure they are handled in the
> survey:
> 
>  X git diff --cached
>  X git grep --cached
>  X git rm --cached
>  X git stash apply/pop --index
>  X git stash (save) --[no-]keep-index
>  X git add <tracked_file>
>  X git add -p
>  X git add -i
>  X git add -u
>  X git commit -p
>  X git commit --interactive (not the same as git commit -i)

If there will be "Git User's Survey 2012", let's add this question
(replacing my "How do you include changes in new commit?").

It is a pity that Git Wiki doesn't work yet; I'd rather put this
proposal in Talk page for GitSurvey2011, or in GitSurvey2012
for next year survey proposal (if there would be one).
 
> It turns out none of them are explicitly asked in the survey. In order
> to do that, this is the only option I see:
> 
>  + interactive commits (e.g. git commit -p/--interactive)
>  + stage (e.g. git add -p/-i/-u, git add <tracked_file))
>  + stage commands (e.g. git * --cached, git stash * --index/--[no-]keep-index)
> 
> Or at the very least what I suggested initially:
>  + stage / partial or interactive commits (e.g. git add -u/-i/-p, git
> * --cached)

P.S. Would you be interested in running the next survey?

-- 
Jakub Narebski
Poland