-
Notifications
You must be signed in to change notification settings - Fork 1
/
GitSurvey2009_questions.yml
596 lines (582 loc) · 18.3 KB
/
GitSurvey2009_questions.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
---
- survey_title
- "Git User's Survey 2009"
- survey_stats
- |
Total respondents: 3868
Survey created: Jun 25, 2009 03:15 PM (for testing)
Opened on: Jul 15, 2009 02:34 AM
Announced on: 2009-07-15 02:39:43 (git wiki: GitSurvey2009)
2009-07-15 02:54:00 (git wiki: MainPage)
Wed, 15 Jul 2009 09:22:32 +0200 ([email protected])
First response: Jul 15, 2009
Last response: Sep 16, 2009
Closed on: Sep 16, 2009 11:45 PM (GitSurvey2009 channel, auto)
Open during: 72 days
Average time: 49 minutes
- S1
- section_title: About you
- Q1
- colname: Country
title: 01. What country do you live in?
type: country
- Q2
- colname: Age
histogram:
' < 18': 0
18-21: 0
22-25: 0
26-30: 0
31-40: 0
41-50: 0
51-75: 0
'76+ ': 0
title: 02. How old are you (in years)?
type: age
- S2
- section_title: Getting started with Git
- Q3
- codes:
- Very easy
- Easy
- Reasonably easy
- Hard
- Very hard
title: 03. Have you found Git easy to learn?
- Q4
- codes:
- Very easy
- Easy
- Reasonably easy
- Hard
- Very hard
title: 04. Have you found Git easy to use?
- Q5
- codes:
- pre 1.3
- 1.3.x
- 1.4.x
- 1.5.x
- 1.6.x
- minor (maintenance) release 1.x.y.z
- "'master' branch of official git repository"
- "'next' branch of official git repository"
- 'other, please specify'
colname: Version used
description: |
You can find git version by using "git --version" or "git version".
"Minor release" is additional specification, so if you for example use
git version 1.6.3.3, please check both "1.6.x" and "minor release".
multi: 1
other: 1
title: 05. Which Git version(s) are you using?
- Q6
- codes:
- 1. novice
- '2. casual, needs advice'
- 3. everyday use
- 4. can offer advice
- 5. know it very well
description: You can think of it as 1-5 numerical grade of your proficiency in Git.
title: '06. Rate your own proficiency with Git:'
- S3
- section_title: How you use Git
- Q7
- codes:
- work projects
- unpaid projects
- proprietary projects
- OSS development
- private (unpublished) code
- code (programming)
- personal data
- documents
- static website
- web app
- sharing data or sync
- backup
- 'backend for wiki, blog, or other web app'
- managing configuration files
- frontend to other SCM (e.g. git-svn)
- other (please specify)
description: |
Note that above choices are neither orthogonal nor exclusive.
You might want to check multiple answers even for a single repository.
multi: 1
other: 1
title: '07. I use Git for (check all that apply):'
- Q8
- codes:
- binary package
- source package or script
- source tarball
- pull from (main) repository
- preinstalled / sysadmin job
- 'other - please specify'
description: |
Explanation: binary package covers pre-compiled binary (e.g. from rpm
or deb binary packages); source package covers things like deb-src and
SRPMS/*.src.rpm; source script is meant to cover installation in
source-based distributions, like 'emerge' in Gentoo.
Automatic update (apt, yum, etc.) in most cases means binary package
install; unless one uses source-based distribution like Gentoo, CRUX,
or SourceMage, where automatic update means using source package (or
source script).
The option named "preinstalled / sysadmin job" means that either you
didn't need to install git because it was preinstalled (and you didn't
upgrade); or that you have to ask system administrator to have git
installed or upgraded.
Note that this question is multiple choices question because one can
install Git in different ways on different machines or on different
operating systems.
multi: 1
other: 1
title: 08. How do/did you obtain Git (install and/or upgrade)?
- Q9
- codes:
- Linux
- 'FreeBSD, OpenBSD, NetBSD, etc.'
- MacOS X (Darwin)
- MS Windows/Cygwin
- MS Windows/msysGit (MINGW)
- OpenSolaris
- other Unix
- 'Other, please specify'
colname: Operating System
description: |
On Unix-based operating system you can get the name of operation
system by running 'uname'.
multi: 1
other: 1
title: 09. On which operating system(s) do you use Git?
- Q10
- codes:
- simple text editor
- programmers editor
- IDE or RAD
- WYSIWYG tool
- other kind
description: |
* "simple text editor" option includes editors such as pico, nano,
joe, Notepad,
* "programmets editor" option includes editors such as Emacs/XEmacs,
Vim, TextMate, SciTE (syntax highlighting, autoindentation,
integration with other programmers tools, etc.)
* "IDE (Integrated Development Environment) and RAD (Rapid Application
Development)" option includes tools such as Eclipse, NetBeans IDE,
IntelliJ IDE, MS Visual Studio, KDevelop, Anjuta, Xcode,
Code::Blocks but also tools such as Quanta+, BlueFish or Screem (for
editing HTML, CSS, PHP etc.), and Kile or LEd for LaTeX.
* "WYSIWYG tools" option includes word processors such as MS Office or
OpenOffice.org, but also tools such as Adobe Acrobat (for PDF) or
GIMP (for images), or WYSIWYG DTP tools such as QuarkXPress,
PageMaker or Scribus, or WYSIWYG HTML editors such as FrontPage,
Dreamweaver or KompoZer.
multi: 1
other: 1
title: |-
10. What do you use to edit contents under version control with Git?
What kind of editor, IDE or RAD you use working with Git?
- Q11
- codes:
- git (core) commandline
- JGit (Java implementation)
- library / language binding (e.g. Grit or Dulwich)
- Cogito (DEPRECATED)
- Easy Git
- Pyrite
- StGIT
- Guilt
- TopGit
- pg aka Patchy Git (DEPRECATED)
- gitk
- git gui
- QGit
- GitView
- Giggle
- GitNub
- GitX
- git-cola
- tig
- TortoiseGit
- Git Extensions
- git-cheetah
- git-instaweb
- git-sh
- Gitosis (as admin)
- repo (to manage multiple repositories)
- editor/IDE VC integration
- filemanager integration / shell extension (any)
- graphical history viewer/browser (any)
- graphical commit tool (any)
- graphical diff tool
- graphical merge tool
- graphical blame or pickaxe tool
- 'my own scripts (for daily commandline use, porcelain)'
- my own scripts (for special tasks)
- Other (please specify)
description: |
Here graphics diff tool means tools such as Kompare, and graphical
merge tool means tools such as Meld and KDiff3. Those answers include
graphical merge and diff tools used by programmers editors and IDEs.
"graphical history browser (any)" covers tools such as gitk, QGit,
Giggle, tig etc., but also built-in git commands such as "git log
--graph" and "git show-branch". If you use one of mentioned tools _as_
history browser, mark both a tool and "graphical history browser
(any)"; if you use some graphical history viewer not listed here,
please both mark this answer and specify it in the "other tool"
answer.
Similarly for other answers marked "(any)".
multi: 1
other: 1
title: '11. What Git interfaces, implementations, frontends and tools do you use?'
- Q12
- freeform: 1
title: |-
12. What tool (or kind of tool) would you like to have Git support in?
(e.g. IDE, RAD, editors, continuous integration, software hosting, bugtracker, merge tool...)
(this includes language bindings and Git (re)implementations)
- Q13
- codes:
- repo.or.cz
- GitHub
- Gitorious
- Savannah
- SourceForge
- Assembla
- Unfuddle
- kernel.org
- freedesktop.org
- Alioth
- Fedora Hosted
- git hosting site for set of related projects (e.g. OLPC)
- generic site without git support
- self hosted
- Other (please specify)
multi: 1
other: 1
title: |-
13. Which git hosting site(s) do you use for your project(s)?
(Please check only hosting sites where you publish/push to)
- Q14
- codes:
- git protocol
- ssh
- http
- rsync (DEPRECATED)
- filesystem
- via git-bundle
- foreign SCM (e.g. git-svn)
- 'Other, please specify'
description: |
This question asks about how do you get changes (updates) from
projects you follow into your local repository. It is not about how do
you get latest version of Git.
Fetching (or rather cloning) via bundle could mean that project
publishes ready for download bundles to reduce traffic and load on
server (HTTP download [of bundle] can be resumed, git-clone currently
cannot; one can also distribute bundle using P2P).
multi: 1
other: 1
title: 14. How do you fetch/get changes from upstream repositories?
- Q15
- codes:
- push
- pull request (+ any form of announcement / notification)
- format-patch + email
- 'format-patch + other (e.g. reviewboard, issue tracker or forum)'
- git bundle
- git-svn (to Subversion repository)
- git-p4 (to Perforce repository)
- foreign SCM interface (other than mentioned above)
- 'other - please specify'
description: |
Publishing via bundle could mean sending bundle via email, or posting
it on review board (or forum).
multi: 1
other: 1
title: 15. How do you publish/propagate your changes?
- Q16
- codes:
- git add -i / -p
- git add -u / -A
- git am
- git am -i
- git apply
- git apply --whitespace=fix
- git archive
- git bisect
- 'git bisect run <cmd>'
- git annotate
- git gui blame
- git blame
- 'git blame -L <start>,<end> etc.'
- git bundle
- git cherry
- git cherry-pick
- git cherry-pick -n / --no-commit
- git citool
- git clean
- git add + git commit
- git commit -a
- git commit <file>...
- git commit -i <file>...
- git commit --amend
- git cvsexportcommit
- git cvsserver
- git daemon
- git daemon (pushing enabled)
- git difftool
- git ... --dirstat
- 'git fetch [<options>]'
- git filter-branch
- git format-patch
- git grep
- git imap-send
- git instaweb
- git log --grep/--author/...
- git log -S<string> (pickaxe search)
- git log --graph
- git merge
- git merge with strategy
- git merge --squash
- git mergetool
- git pull (no remote)
- 'git pull --rebase [<options>]'
- 'git pull <remote>'
- 'git pull <URL> <ref>'
- git push
columns:
- never
- rarely
- sometimes
- often
description: This question (and its continuation below) is entirely optional.
title: 16. How often do you use the following forms of git commands or extra git tools?
- Q17
- codes:
- git relink
- git rebase
- git rebase -i
- git reflog or git log -g
- git remote
- git remote update
- git request-pull
- git revert
- git send-email
- git show-branch
- git shortlog
- git shortlog -s
- git stash
- git stash --keep-index
- git submodule
- git subtree
- git svn
- git whatchanged
- git gui
- gitk
columns:
- never
- rarely
- sometimes
- often
description: |
Explanation: "Rarely" means that you use mentioned form of command
either rarely, or you have used it only a few times.
Questions 16 and 17 (its continuation) are purely optional (as are the
rest of questions in survey). If you don't feel like filling this
questions, please skip them.
Note: git-subtree is managed out of tree, as a separate project (not
in git.git repository, not even in contrib/ area). Originally
git-subtree was submitted for inclusion, and later was considered for
'contrib/', but it was decided that it would be better if it mature
out-of-tree, before resubmitting.
title: '17. How often do you use the following forms of git commands or extra git tools? (continued)'
- Q18
- codes:
- git bundle (off-line transport)
- eol conversion (crlf)
- gitattributes
- 'mergetool and/or difftool, or custom diff/merge driver'
- submodules (subprojects)
- subtree merge (optionally git-subtree)
- separate worktree / core.worktree
- multiple worktrees (git-new-worktree)
- alternates mechanism (sharing object database)
- stash (optionally "git stash --keep-index")
- shallow clone (e.g. "git clone --depth=<n>")
- detaching HEAD (e.g. "git checkout HEAD^0")
- interactive rebase (small scale history editing)
- interactive commit / per-hunk comitting / partial commit
- commit message templates
- git-filter-branch or equivalent (large history rewriting)
- bisect (optionally "git bisect run <script>")
- committing with dirty tree (keeping some changes uncommitted)
- non-default hooks (from contrib/hooks/ or other)
- shell completion of commands
- git-aware shell prompt
- 'git aliases, shell aliases for git, or own git scripts'
- 'Other, please specify'
multi: 1
other: 1
title: 18. Which of the following features have you used?
- Q19
- description: |
EXAMPLES: partial / subtree checkout, commit annotations aka
git-notes, refs/replace/* mechanism, "smart" HTTP protocol (git via
HTTP), resumable clone/fetch, lazy clone (on demand downloading of
objects), wholesame directory rename detection, syntax highlighting
and/or side-by-side diffs in gitweb, graphical merge tool integrated
with git-gui, etc.
freeform: 1
title: |-
19. What features would you like implemented in Git?
What features are you missing?
- S4
- section_title: What you think of Git
- Q20
- codes:
- unhappy
- not so happy
- happy
- very happy
- completely ecstatic
title: '20. Overall, how happy are you with Git?'
- Q21
- codes:
- user-interface
- documentation
- performance
- more features
- tools (e.g. GUI)
- localization (translation)
columns:
- "don't need"
- a little
- some
- much
title: |-
21. In your opinion, which areas in Git need improvement?
Please state your preference.
- S5
- section_title: 'Changes in Git (since year ago, or since you started using it)'
- Q22
- codes:
- in 2006
- in 2007
- in 2008
multi: 1
title: "22. Did you participate in previous Git User's Surveys?"
- Q23
- codes:
- better
- no changes
- worse
- cannot say
description: |
The version from approximately one year ago is 1.5.6 from 18-06-2008,
the last version in 1.5.x series (except maintenance releases from
1.5.6.1 to 1.5.6.6). Major controversial change in 1.6.0 was
installing most of the programs outside your $PATH.
Other changes include:
* stash never expires by default
* git-branch got -v, --contains and --merged options
* fast-export / fast-import learned to export and import marks file
* "git stash save" learned --keep-index option; "git stash" learned "branch" subcommand
* when you mistype a command name, git can suggest what you might meant to say
* git add -N / --intent-to-add
* built in synonym "git stage" for "git add", and --staged for --cached
* improvements to "git bisect skip" (can take range, more aggresive)
* "git diff" can use varying mnemonic prefixes, learned "textconv" filter
* "git log" learned --simplify-merges, --source, --simplify-by-decoration
* "git send-email" can automatically run "git format-patch"
* unconfigured git-push issue now a big warning (preparing for the future incompatibile change)
* you can use @{-1} to refer to the last branch you were on
* "git diff" learned --inter-hunk-context and can be told to run --patience diff
* git-difftool can run graphical diff tool
(see individual RelNotes for more details)
title: 23. How do you compare the current version with the version from one year ago?
- S6
- section_title: Documentation. Getting help.
- Q24
- codes:
- Git Wiki
- on-line help
- help distributed with git
columns:
- never used
- not useful
- somewhat
- useful
description: |
* Git Wiki can be found at http://git.or.cz/gitwiki
* on-line help includes, among others, Git Homepage (http://git-scm.com) and "Git Community Book" (http://book.git-scm.com)
* help distributed with git include manpages, manual, tutorials, HOWTO, release notes, technical documentation, contrib/examples/
title: 24. How useful have you found the following forms of Git documentation?
- Q25
- codes:
- Yes
- No
title: 25. Have you tried to get help regarding Git from other people?
- Q26
- codes:
- Yes
- No
- Somewhat
title: '26. If yes, did you get these problems resolved quickly and to your liking?'
- Q27
- codes:
- git mailing list ([email protected])
- '"Git for Human Beings" Google Group'
- IRC (#git)
- 'IRC (other git/SCM related, e.g. #github)'
- request in blog post or on wiki
- asking git guru/colleague
- 'project mailing list, or IRC, or forum'
- Twitter or other microblogging platform
- instant messaging (IM) like XMPP/Jabber
- StackOverflow
- other (please specify)
colname: Channel
multi: 1
other: 1
title: 27. What channel(s) did you use to request help?
- Q28
- codes:
- [email protected] (main)
- Git for Human Beings (Google Group)
- msysGit
- '#git IRC channel'
- '#github or #gitorious IRC channel'
- '#revctrl IRC channel'
colname: Channel
multi: 1
title: |-
28. Which communication channel(s) do you use?
Do you read the mailing list, or watch IRC channel?
- S7
- section_title: About this survey. Open forum.
- Q29
- codes:
- git mailing list
- 'git-related mailing list (msysGit, Git for Human Beings, ...)'
- mailing list or forum of some project
- '#git IRC channel topic'
- announcement on IRC channel
- git homepage
- git wiki
- git hosting site
- software-related web site
- 'news web site or social news site (e.g. Digg, Reddit)'
- blog (or blog planet)
- other kind of web site
- Twitter or other microblogging platform
- 'other - please specify'
other: 1
title: "29. How did you hear about this Git User's Survey?"
type: survey_announcement
- Q30
- freeform: 1
title: 30. What other comments or suggestions do you have that are not covered by the questions above?
- nquestions
- 30