-
Notifications
You must be signed in to change notification settings - Fork 1
/
GitSurvey2010_questions.yml
548 lines (537 loc) · 16.6 KB
/
GitSurvey2010_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
# to be used by survey_parse_Survs_CSV(num).com.perl script
# edited by hand, based on copy'n'paste of survey site (open)
---
- survey_title
- "Git User's Survey 2010"
- survey_stats
- |
Total respondents: 8841
Viewed: 28001
First response: Sep 01, 2010
Last response: Oct 16, 2010
Open during: 70 days
Average time: 35 minutes
- S1
- section_title: About you
- Q1
- title: '01. What country do you live in (country of residence)?'
colname: Country
type: country
- Q2
- title: '02. How old are you (in years)?'
colname: Age
type: age
bins:
- ' < 18'
- '18-21'
- '22-25'
- '26-30'
- '31-40'
- '41-50'
- '51-75'
- '76+ '
- NaN
- S2
- section_title: Getting started with Git
- Q3
- title: '03. Have you found Git easy to learn?'
codes:
- Very easy
- Easy
- Reasonably easy
- Hard
- Very hard
- Q4
- title: '04. Have you found Git easy to use?'
codes:
- Very easy
- Easy
- Reasonably easy
- Hard
- Very hard
- Q5
- title: '05. Which Git version(s) are you using?'
colname: Version used
codes:
- pre 1.3
- 1.3.x
- 1.4.x
- 1.5.x
- 1.6.x
- 1.7.x
- minor (maintenance) release 1.x.y.z
- "'master' branch of official git repository"
- "'next' branch of official git repository"
- "'pu' branch of official git repository"
- "version from msysGit / Git for Windows fork repository"
- git-bigfiles fork
- "JGit implementation (e.g. via Eclipse plugin, EGit)"
- "other git implementation (Git#, Dulwich, etc.)"
- 'other, please specify'
other: 1
multi: 1
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".
- Q6
- title: '06. Rate your own proficiency with Git:'
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.
- S3
- section_title: How you use Git
- Q7
- title: '07. I use Git for (check all that apply):'
codes:
- work projects
- unpaid projects
- proprietary projects
- OSS development
- private (unpublished) code
- code (programming)
- personal data
- documents (data)
- static website
- web app
- 'large (>1 MB) binary files'
- often changing binary files
- sharing data or sync
- managing configuration files
- backup
- 'backend for wiki, blog, or other web app'
- frontend to other SCM (e.g. git-svn)
- other (please specify)
other: 1
multi: 1
description: |
Note that above choices are neither orthogonal nor exclusive.
You might want to check multiple answers even for a single repository.
- Q8
- title: '08. How do/did you obtain Git (install and/or upgrade)?'
codes:
- binary package
- source package or script
- source tarball
- pull from (main) repository
- preinstalled / sysadmin job
- 'other - please specify (if none of the above apply)'
other: 1
multi: 1
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.
- Q9
- title: '09. On which operating system(s) do you use Git?'
colname: Operating System
type: os
codes:
- 'GNU/Linux'
- '*BSD (FreeBSD, OpenBSD, NetBSD, etc.)'
- MacOS X (Darwin)
- MS Windows/Cygwin
- MS Windows/msysGit (MINGW)
- other Unix
- 'Other, please specify'
other: 1
multi: 1
description: |
On Unix-based operating system you can get the name of operation
system by running 'uname'.
- Q10
- title: '10. What Git interfaces, implementations and frontends do you use?'
codes:
- git (core) commandline
- 'JGit (Java implementation), e.g. via Eclipse plugin'
- Cogito (DEPRECATED)
- Easy Git
- Pyrite
- StGIT
- Guilt
- TopGit
- pg aka Patchy Git (DEPRECATED)
- "I don't know, I use only (graphical) tools"
- Other (please specify)
multi: 1
other: 1
- Q11
- title: '11. How often do you use following kinds of Git tools?'
columns:
- never
- rarely
- sometimes
- often
- (almost) always
codes:
- 'editor/IDE VC integration (e.g. EGit, TextMate bundle, magit)'
- 'filemanager / shell extension (e.g. git-cheetah, TortoiseGit)'
- 'graphical history viewer/browser (e.g. gitk)'
- 'graphical commit tool (e.g. git-gui)'
- 'graphical diff and/or merge tool (e.g. Kompare, Meld)'
- 'graphical blame or pickaxe tool'
- 'git-instaweb, or self-hosted web interface'
- 'tool to manage git repositories (e.g. Gitosis, Gitolite)'
- 'my own scripts (for daily use)'
- 'my own scripts (for special tasks)'
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)".
- Q12
- title: '12. What Git GUIs (graphical user interfaces) do you use?'
codes:
- gitk
- git gui
- tig
- QGit
- Qct
- Giggle
- gitview
- gitg
- git-cola
- Pyrite
- GitX
- GitNub
- Katana
- RepoWatch
- teamGit
- gitSafe
- SmartGit
- StupidGit
- git-cheetah
- TortoiseGit
- Git Extensions
- EGit (Eclipse)
- other IDE with git support
- editor with git support
- 'Other, please specify'
other: 1
multi: 1
description: |
Please select GUI that you use somewhat regularly (at least from time to time).
Similar issue applies to all other "What do you use?" kind of questions.
- Q13
- title: |-
13. Which git hosting site(s) do you use for your project(s)?
(Please check only hosting sites where you publish/push to)
type: multiplicity
codes:
- repo.or.cz
- GitHub
- Gitorious
- InDefero
- Savannah
- SourceForge
- Assembla
- Codebase
- Unfuddle
- Codesion
- GitFarm
- ProjectLocker
- The Chaw
- Beanstalk
- CipherHive
- kernel.org
- freedesktop.org
- Alioth
- debian-hosted
- 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
description: |
You can find those and other git hosting sites listed on
http://git.wiki.kernel.org/index.php/GitHosting
- Q14
- title: '14. How do you fetch/get changes from upstream repositories?'
codes:
- git protocol (e.g. git://example.com/repo.git)
- ssh (e.g. ssh://example.com/repo.git or [email protected]:/repo.git)
- http (e.g. http://example.com/repo.git)
- rsync (DEPRECATED) (e.g. rsync://example.com/repo.git)
- filesystem (e.g. /path/to/repo.git or file:///path/to/repo.git)
- via git-bundle
- 'foreign SCM import / script like git-svn'
- 'Other, please specify'
multi: 1
other: 1
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).
- Q15
- title: '15. How do you publish/propagate your changes?'
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'
multi: 1
other: 1
description: |
Publishing via bundle could mean sending bundle via email, or posting
it on review board (or forum).
Instead of git-format-patch there can be utilized other way of
generating patch (e.g. git-show, git-diff, 'patch' view from
gitweb, etc.)
- Q16
- title: '16. Which of the following features do you use?'
codes:
- git bundle (off-line transport)
- '"smart" HTTP support'
- eol conversion (crlf)
- custom diff/merge driver
- textconv
- gitattributes (other than above)
- submodules (subprojects)
- subtree merge (optionally git-subtree)
- partial (sparse) checkout
- assume-unchanged bit
- 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'
- one-way interaction with other SCMs (from SCM to git)
- two-way interaction with other SCMs (git as fat client)
- git cvsserver
- git notes
- 'Other, please specify'
multi: 1
other: 1
- Q17
- title: '17. Which of the following features would you like to see implemented in git?'
codes:
- better support for big files (large media)
- resumable clone/fetch (and other remote operations)
- 'GitTorrent Protocol, or git-mirror'
- lazy clone / on-demand fetching of object
- subtree clone
- support for tracking empty directories
- environment variables in config
- 'better undo/abort/continue, and for more commands'
- "'-n' like option for each command, which describes what would happen"
- warn before/when rewriting published history
- side-by-side diffs and/or color-words diff in gitweb
- admin and/or write features in gitweb
- graphical history view in gitweb
- GUI for rebase in git-gui
- GUI for creating repository in git-gui
- graphical diff/merge tool integrated with git-gui
- syntax highlighting in git-gui
- filename encoding (in repository vs in filesystem)
- git push --create
- localization of command-line messages (i18n)
- wholesame directory rename detection
- 'union checkouts (some files from one branch, some from other)'
- 'advisory locking / "this file is being edited"'
- '"commands issued" (or "command equivalents") in git-gui / gitk'
- built-in gitjour/bananajour support
- better support for submodules
- other (described below)
multi: 1
- Q18
- title: |-
18. Describe what features would you like to have in Git,
if they are not present on the list above (in previous question)
freeform: 1
- S4
- section_title: What you think of Git
- Q19
- title: '19. Overall, how happy are you with Git?'
codes:
- unhappy
- not so happy
- happy
- very happy
- completely ecstatic
- Q20
- title: |-
20. In your opinion, which areas in Git need improvement?
Please state your preference.
columns:
- "don't care"
- "don't need"
- a little
- some
- much
codes:
- user-interface
- documentation
- performance
- more features
- tools (e.g. GUI)
- localization (translation)
- community (mailing list)
- community (IRC)
- S5
- section_title: 'Changes in Git (since year ago, or since you started using it)'
- Q21
- title: "21. Did you participate in previous Git User's Surveys?"
codes:
- in 2006
- in 2007
- in 2008
- in 2009
- "I don't remember, but I have participated in the past"
- "none of above (first Git User's Survey)"
multi: 1
- Q22
- title: '22. How do you compare the current Git version with the version from one year ago?'
codes:
- better
- no changes
- worse
- cannot say
description: |
The version from approximately one year ago is 1.6.4 from 29-07-2009
(1.6.3 is from 06-05-2009),
Changes since this version include:
* refs/replaces/* mechanism
* git notes
* "smart" HTTP transport
* sparse checkout
* "git push" safeties like refusing to push into checked out branch
* "git status" is no longer "git commit --dry-run"
* various ways to access and change upstream info
* git log --glob=<pattern>
* more hints, ability to squelch verbose "advice" messages
* word diff support
* TAP-ified test output
* and more...
(see individual RelNotes for more details)
- S6
- section_title: Documentation. Getting help.
- Q23
- title: '23. How useful have you found the following forms of Git documentation?'
columns:
- never used
- not useful
- somewhat
- useful
codes:
- Git Wiki
- on-line help
- help distributed with git
description: |
* Git Wiki can be found at http://git.wiki.kernel.org
* 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/
- Q24
- title: '24. Have you tried to get help regarding Git from other people?'
codes:
- Yes
- No
- Q25
- title: '25. If yes, did you get these problems resolved quickly and to your liking?'
codes:
- Yes
- No
- Somewhat
- Q26
- title: '26. What channel(s) did you use to request help?'
colname: Channel
codes:
- git mailing list ([email protected])
- msysGit mailing list / Google Group
- '"Git for Human Beings" Google Group'
- 'IRC (#git)'
- 'IRC (other git/SCM related, e.g. #github)'
- 'IRC (other than above)'
- 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)
multi: 1
other: 1
- Q27
- title: |-
27. Which communication channel(s) do you use?
Do you read the mailing list, or watch IRC channel?
colname: Channel
codes:
- [email protected] (main)
- Git for Human Beings (Google Group)
- msysGit
- '#git IRC channel'
- '#git-devel IRC channel'
- '#github or #gitorious IRC channel'
- '#revctrl IRC channel'
multi: 1
- S7
- section_title: About this survey.
- Q28
- title: "28. How did you hear about this Git User's Survey?"
type: survey_announcement
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
- nquestions
- 28