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

[RFC] Questions for Git User's Survey 2010

This is an early notice about plans for "Git User's Survey 2010",
which is planned to be open from 1 September to 15 October 2010.

I am sending an announcement early because I would like to ask you
if you want to add some question to the survey, or add answer to
an already present multiple-choice question, or just request that
some question needs (better) description.

Current proposal of "Git User's Survey 2010" questions can be found at
(this is a test channel, may be closed when survey is being edited),
and is attached below, and can also be found on Git Wiki at

The authoritative version is one from Survs.com, but they shouldn't
differ much.

Below there is the content of the proposed survey:

Git User's Survey 2010 (proposal)

About you

01. What country do you live in (country of residence)?
(free-form single line)

02. How old are you (in years)?
(free-form single line)

Getting started with Git

03. Have you found Git easy to learn?
(single choice)

* Very easy
* Easy
* Reasonably easy
* Hard
* Very hard

04. Have you found Git easy to use?
(single choice)

* Very easy
* Easy
* Reasonably easy
* Hard
* Very hard

05. Which Git version(s) are you using?
(multiple choice, with other)

 + 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

06. Rate your own proficiency with Git:
(single choice)

 * 1. novice
 * 2. casual, needs advice
 * 3. everyday use
 * 4. can offer advice
 * 5. know it very well

How you use Git

07. I use Git for (check all that apply):
(multiple choice, with other)

 + work projects
 + unpaid projects

 + proprietary projects
 + OSS development (also public domain, and published & unlicensed)
 + private (unpublished)

 + code (programming)
 + personal data
 + documents (data)
 + static website
 + web app
 + large (> 1MB) 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)

08. How do/did you obtain Git (install and/or upgrade)?
(multiple choice, with other)

Note that this question is multiple choices question because one can
install Git in different ways on different machines or on different
operating systems.

 + binary package
 + source package or script
 + source tarball
 + pull from (main) repository
 + preinstalled / sysadmin job

 + other - please specify

09. On which operating system(s) do you use Git?
(multiple choice, with other)

 + Linux (includes MeeGo and Moblin)
 + MacOS X (Darwin)
 + MS Windows/msysGit (MINGW)
 + MS Windows/Cygwin
 + FreeBSD, OpenBSD, NetBSD, etc.
 + other Unix

 + Other, please specify

10. What Git interfaces, implementation and frontends do you use?
(multiple choice, with other)

 + 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 only use (graphical) tools
 + other (please specify)

11. What kind of Git tools do you use?
(matrix form)

If a tool is both history viewer, and commit tool, please choose the
option that corresponds to how do you use this tool.

   Columns: never / rarely / sometimes / often / (almost) always
 + 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)

12. Which git hosting site(s) do you use for your project(s)?
Please check only hosting sites where you publish/push to (with git)
(multiple choice, with other)

 + repo.or.cz
 + GitHub
 + Gitorious
 + InDefero

 + Savannah
 + SourceForge
 + Assembla
 + Codebase
 + Unfuddle
 + Codesion
 + GitFarm
 + ProjectLocker
 + The Chaw
 + Beanstalk
 + CipherHive

 + kernel.org
 + freedesktop.org
 + Alioth
 + Fedora Hosted

 +  git hosting site for related projects
 +  generic site without git support
 +  self hosted

 +  Other (please specify)

13. How do you fetch/get changes from upstream repositories?
(multiple choice, with other)

 + git protocol        (e.g. git://git.example.com/repo.git)
 + ssh                 (e.g. ssh+git://git.example.com/repo.git,
 + http                (e.g. http://git.example.com/repo.git)
 + rsync (DEPRECATED)  (e.g. rsync://git.example.com/repo.git)
 + filesystem          (e.g. /path/to/repo.git, file:///path/to/repo.git)
 + via git-bundle
 + foreign SCM (e.g. git-svn)

 + Other, please specify

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.

14. How do you publish/propagate your changes?
(multiple choice, with other)

 + 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

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,

15. Which of the following features do you use?
(multiple choice, with other)

 +  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

16. Which of the following features would you like to see implemented in git?
(multiple choice)

 + 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
 + environmental variables in config, expanding ~ and ~user
 + 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 (describe below)

17. Describe what features would you like to have in Git, 
    if it is not on the list above?
(free form, essay length)

What you think of Git

18. Overall, how happy are you with Git?
(single choice)

 * unhappy
 * not so happy
 * happy
 * very happy
 * completely ecstatic

19. In your opinion, which areas in Git need improvement?
Please state your preference.

   Columns: don't need / a little / some / much
 + user-interface
 + documentation
 + performance
 + more features
 + tools (e.g. GUI)
 + localization (translation)
 + community (mailing list)
 + community (IRC)

Changes in Git (since year ago, or since you started using it)

20. Did you participate in previous Git User's Surveys?
(multiple choice)

 + in 2006
 + in 2007
 + in 2008
 + in 2009
 + none of the above (this is my first Git User's Survey)

21. How do you compare the current version with the version from one year ago?
(single choice)

 * better
 * no changes
 * worse

 * cannot say

Documentation. Getting help.

22. How useful have you found the following forms of Git documentation?

   Columns: never used / not useful / somewhat / useful
 + Git Wiki				
 + on-line help				
 + help distributed with git				

23. Have you tried to get help regarding Git from other people?
(single choice)

 * Yes
 * No

24. If yes, did you get these problems resolved quickly and to your liking?
(single choice)

 * Yes
 * No
 * Somewhat

25. What channel(s) do you use to request help about git?
(multiple choice, with other)

 + git mailing list (git@vger.kernel.org)
 + msysGit mailing list / Google Group
 + "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 or other StackExchange site

 + other (please specify)

26. Which communication channel(s) do you use?
    Do you read the mailing list, or watch IRC channel?
(multiple choice)

 + git@vger.kernel.org (main)
 + Git for Human Beings (Google Group)
 + msysGit
 + #git IRC channel
 + #git-devel IRC channel
 + #github or #gitorious IRC channel
 + #revctrl IRC channel

About this survey. Open forum.

27. How did you hear about this Git User's Survey?
(single choice, with other)

 * git mailing list
 * git-related mailing list (e.g. msysGit)
 * mailing list or forum of some project
 * #git IRC channel topic
 * announcement on IRC channel
 * git homepage
 * git wiki
 * git hosting site (or blog related to such site)
 * software-related web site
 * news 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

Jakub Narebski

Reply to: