{"thread":{"id":"20077","subject":"[RFC] Git User's Survey 2009 - last trial run, announcing survey","startedAt":"2009-07-10T16:09:34Z","lastAt":"2009-07-10T16:09:34Z","messageCount":1,"participants":["Jakub Narebski"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"117775","messageId":"200907101809.35486.jnareb@gmail.com","threadId":"20077","inReplyTo":null,"subject":"[RFC] Git User's Survey 2009 - last trial run, announcing survey","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2009-07-10T16:09:34Z","receivedAt":"2009-07-10T16:09:34Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"This is proposed third (and hopefully last) version of questions for\nupcoming \"Git User's Survey 2009\", which is planned to run from around\n15 July 2009 to 15 September 2009 (duration of two months).\n\nOne of main changes compared to previous version is slight \nreorganization of answers and substantial rewrite of help text\nfor question\n  8. How do/did you obtain Git\nand adding \"preinstalled / sysadmin job\" and \"other - please specify\"\nto the list of possible answers.\n\nOther major addition was creating description of major changes for\n 23. How do you compare the current version with the version\n     from one year ago?\nquestion.  Please review this explanation, and tell me if there are\nsome major changes missing; conversely if you consider some of changes\nlisted not worth mentioning, please tell me what to delete.\n\n\nThanks to Junio C Hamano, Felipe Contreras, David Aguilar, Andreas\nEricsson, Martin Renold, Erik Faye-Lund and others who participated\nin previous GitSurvey2009 thread[1] for their feedback and comments.\n [1]: http://thread.gmane.org/gmane.comp.version-control.git/122675\n\nThis time I didn't Cc-ed all contributors from earlier round; please\ntell me if it is preferred, or would you rather if I put all \ncontributors on CC list.\n\n\nA few questions about announcing \"Git User's Survey 2009\":\n\n1. We would like to announce this survey on \n    * Git Homepage (contact: Scott Chacon)\n    * git hosting sites using gitweb:\n      - repo.or.cz (contact: Petr 'Pasky' Baudis)\n      - git.kernel.org (contact: John 'Warthog9' Hawley ???)\n    * other git hosting sites:\n      - GitHub, via blog (contact: Chris Wanstrath, PJ Hyett)\n      - Gitorious (contact: Johan Sørensen)\n      - Assembla, Unfuddle, Codebase (contact: support)\n        last year IIRC only Unfuddle posted the announcement\n    * other software-related sites:\n      - Ohloh blog/announcement (contact: info, Robin Luckey)\n    * blogs:\n      - Elijah's blog (contact: Elijah Newren)\n      - gitblog (contact: Felipe Conreras)\n\n   What other sites to contact (and who to contact about it) to put\n   announcement info about \"Git User's Survey 2009\"?  LWN.net?\n   Freedesktop.org?  OLPC?  Linux-Magazine?  FSF Magazine?\n   VersionControlBlog (seems to be down)?  Masukomi weblog?\n   Ryan Tomayko linkings?  Submit to Slashdot?\n\n   From git developers blogs that I know of have: Junio C Hamano,\n   Shawn Pearce (inactive since year ago), Sam Vilain (currently\n   broken) and Linus Torvalds.\n\n2. How such request to announce \"Git User's Survey 2009\" should look\n   like?  How should example proposed announcement looks like?\n\n3. Last year we posted announcement about survey on various mailing\n   lists for projects using git as SCM of choice.  This seems a bit\n   spammy, so this year it was decided to skip this... also with number\n   of projects using git so large it would be hard to decide which \n   projects to include, and which to skip.\n\n   I will be posing announcement on git mailing list (of course),\n   on msysGit list, and on \"Git for Human Beings\" Google Group\n   (if it exists).  Should we as special case post also to GitHub\n   and Gitorious mailing list?  What about LKML (Linux kernel mailing\n   list)?\n\n4. What other ways to announce this survey to wider audience (but\n   best if limited to developers, even better to developers using git)\n   are there?  \n   - Twitter or identi.ca or Plurk?  Needs someone with following.\n   - Digg or (better) Reddit or DZone?  Needs some point of reference;\n     perhaps GitSurvey2009 page on Git Wiki... but is it a good idea\n     to use this avenue?\n\n\nThe *test* version of this year survey can be now found at\nthe following URL (as in previous year, we use Survs.com)\n\n  http://www.survs.com/survey?id=2PIMZGU0&channel=TFN2Y52K7Y\n\nATTENTION: All data in test survey would be deleted when survey\nwould start for real!\n\nBelow there is rendered form of survey\n......................................................................\nGit User's Survey 2009\n\nThis survey is anonymous, but all information that the users provide\n(raw data) will be publicly available on the Git Wiki, at\nhttp://git.or.cz/gitwiki/GitSurvey2009, to allow for independent\nanalysis.\n\nNote that you may skip questions as you like.\n\nYou can also return to this survey after submission, and correct it,\nor fill more questions later. This feature makes this survey to\nrequire to have COOKIES ENABLED, at least for this site, to be able to\nsubmit.\n\nAbout you\n~~~~~~~~~\n1. What country do you live in?\n2. How old are you (in years)?\n\nGetting started with Git\n~~~~~~~~~~~~~~~~~~~~~~~~\n3. Have you found Git easy to learn?\n    * Very easy\n    * Easy\n    * Reasonably easy (average)\n    * Hard\n    * Very hard\n\n4. Have you found Git easy to use?\n    * Very easy\n    * Easy\n    * Reasonably easy (average)\n    * Hard\n    * Very hard\n\n5. Which Git version(s) are you using?\n    * pre 1.3\n    * 1.3.x\n    * 1.4.x\n    * 1.5.x\n    * 1.6.x\n    * minor (maintenance) release 1.x.y.z\n    * 'master' branch of official git repository\n    * 'next' branch of official git repository\n    * other, please specify\n\nYou can find git version by using \"git --version\" or \"git version\".\n\n\"Minor release\" is additional specification, so if you for example use\ngit version 1.6.3.3, please check both \"1.6.x\" and \"minor release\".\n\n6. Rate your own proficiency with Git:\n    * 1. novice\n    * 2. casual, needs advice\n    * 3. everyday use\n    * 4. can offer advice\n    * 5. know it very well\n\nYou can think of it as 1-5 numerical grade of your proficiency in Git.\n\nHow you use Git\n~~~~~~~~~~~~~~~\n7. I use Git for (check all that apply):\n    * work projects\n    * unpaid projects\n    * proprietary projects\n    * OSS development\n    * private (unpublished) code\n    * code (programming)\n    * personal data\n    * documents\n    * static website\n    * web app\n    * sharing data or sync\n    * backup\n    * backend for wiki, blog, or other web app\n    * managing configuration files\n    * frontend to other SCM (e.g. git-svn)\n    * other (please specify)\n\nNote that above choices are neither orthogonal nor exclusive.\nYou might want to check multiple answers even for a single repository.\n\n8. How do/did you obtain Git (install and/or upgrade)?\n    * binary package\n    * source package or script\n    * source tarball\n    * pull from (main) repository\n    * preinstalled / sysadmin job\n    * other - please specify (if none of the above apply)\n\nExplanation: binary package covers pre-compiled binary (e.g. from rpm\nor deb binary packages); source package covers things like deb-src and\nSRPMS/*.src.rpm; source script is meant to cover installation in\nsource-based distributions, like 'emerge' in Gentoo.\n\nAutomatic update (apt, yum, etc.) in most cases means binary package\ninstall; unless one uses source-based distribution like Gentoo, CRUX,\nor SourceMage, where automatic update means using source package (or\nsource script).\n\nThe option named \"preinstalled / sysadmin job\" means that either you\ndidn't need to install git because it was preinstalled (and you didn't\nupgrade); or that you have to ask system administrator to have git\ninstalled or upgraded.\n\n\nNote that this question is multiple choices question because one can\ninstall Git in different ways on different machines or on different\noperating systems.\n\n9. On which operating system(s) do you use Git?\n    * Linux\n    * *BSD (FreeBSD, OpenBSD, NetBSD, etc.)\n    * MacOS X (Darwin)\n    * MS Windows/Cygwin\n    * MS Windows/msysGit (MINGW)\n    * OpenSolaris\n    * other Unix\n    * Other, please specify\n\nOn Unix-based operating system you can get the name of operation\nsystem by running 'uname'.\n\n10. What do you use to edit contents under version control with Git?\n    What kind of editor, IDE or RAD you use working with Git?\n\n    * simple text editor\n    * programmers editor\n    * IDE or RAD\n    * WYSIWYG tool\n    * other kind - please specify\n\n* \"simple text editor\" option includes editors such as pico, nano,\n  joe, Notepad,\n\n* \"programmets editor\" option includes editors such as Emacs/XEmacs,\n  Vim, TextMate, SciTE (syntax highlighting, autoindentation,\n  integration with other programmers tools, etc.)\n\n* \"IDE (Integrated Development Environment) and RAD (Rapid Application\n  Development)\" option includes tools such as Eclipse, NetBeans IDE,\n  IntelliJ IDE, MS Visual Studio, KDevelop, Anjuta, XCode,\n  Code::Blocks but also tools such as Quanta+, BlueFish or Screem (for\n  editing HTML, CSS, PHP etc.), and Kile or LEd for LaTeX.\n\n* \"WYSIWYG tools\" option includes word processors such as MS Office or\n  OpenOffice.org, but also tools such as Adobe Acrobat (for PDF) or\n  GIMP (for images), or WYSIWYG DTP tools such as QuarkXPress,\n  PageMaker or Scribus, or WYSIWYG HTML editors such as FrontPage,\n  Dreamweaver or KompoZer.\n\n11. What Git interfaces, implementations, frontends and tools do you use?\n    * git (core) commandline\n    * JGit (Java implementation)\n    * library / language binding (e.g. Grit or Dulwich)\n    * Cogito (DEPRECATED)\n    * Easy Git\n    * Pyrite\n    * StGIT\n    * Guilt\n    * TopGit\n    * pg aka Patchy Git (DEPRECATED)\n    * gitk\n    * git gui\n    * QGit\n    * GitView\n    * Giggle\n    * GitNub\n    * GitX\n    * git-cola\n    * tig\n    * TortoiseGit\n    * Git Extensions\n    * git-cheetah\n    * git-instaweb\n    * git-sh\n    * Gitosis (as admin)\n    * repo (to manage multiple repositories)\n    * editor/IDE VC integration\n    * filemanager integration / shell extension (any)\n    * graphical history viewer/browser (any)\n    * graphical commit tool (any)\n    * graphical diff tool\n    * graphical merge tool\n    * graphical blame or pickaxe tool\n    * my own scripts\n    * Other (please specify)\n\nHere graphics diff tool means tools such as Kompare, and graphical\nmerge tool means tools such as Meld and KDiff3. Those answers include\ngraphical merge and diff tools used by programmers editors and IDEs.\n\n\"graphical history browser (any)\" covers tools such as gitk, QGit,\nGiggle, tig etc., but also built-in git commands such as \"git log\n--graph\" and \"git show-branch\". If you use one of mentioned tools _as_\nhistory browser, mark both a tool and \"graphical history browser\n(any)\"; if you use some graphical history viewer not listed here,\nplease both mark this answer and specify it in the \"other tool\"\nanswer.\n\nSimilarly for other answers marked \"(any)\".\n\n12. What tool (or kind of tool) would you like to have Git support in?\n    (e.g. IDE, RAD, editors, continuous integration, software hosting,\n     bugtracker, merge tool...)\n    (this includes language bindings and Git (re)implementations)\n\n    free-form, essay\n\n13. Which git hosting site(s) do you use for your project(s)?\n    (Please check only hosting sites where you publish/push to)\n\n    * repo.or.cz\n    * GitHub\n    * Gitorious\n    * Savannah\n    * SourceForge\n    * Assembla\n    * Unfuddle\n    * kernel.org\n    * freedesktop.org\n    * Alioth\n    * Fedora Hosted\n    * git hosting site for set of related projects (e.g. OLPC)\n    * generic site without git support\n    * self hosted\n    * Other (please specify)\n\n14. How do you fetch/get changes from upstream repositories?\n    * git protocol (e.g. git://example.com/repo.git)\n    * ssh (e.g. ssh://example.com/repo.git or user@example.com:/repo.git)\n    * http (e.g. http://example.com/repo.git)\n    * rsync (DEPRECATED) (e.g. rsync://example.com/repo.git)\n    * filesystem (e.g. /path/to/repo.git or file:///path/to/repo.git)\n    * via git-bundle\n    * foreign SCM import / script like git-svn\n    * Other, please specify\n\nThis question asks about how do you get changes (updates) from\nprojects you follow into your local repository. It is not about how do\nyou get latest version of Git.\n\nFetching (or rather cloning) via bundle could mean that project\npublishes ready for download bundles to reduce traffic and load on\nserver (HTTP download [of bundle] can be resumed, git-clone currently\ncannot; one can also distribute bundle using P2P).\n\n15. How do you publish/propagate your changes?\n    * push\n    * pull request (+ any form of announcement / notification)\n    * format-patch + email\n    * format-patch + other (e.g. reviewboard, issue tracker or forum)\n    * git bundle\n    * git-svn (to Subversion repository)\n    * git-p4 (to Perforce repository)\n    * foreign SCM interface (other than mentioned above)\n    * other - please specify\n\nPublishing via bundle could mean sending bundle via email, or posting\nit on review board (or forum).\n\n16. How often do you use the following forms of git commands\n    or extra git tools?\n        (columns: never | rarely | sometimes | often)\n      git add -i / -p\n      git add -u / -A\n      git am\n      git am -i\n      git apply\n      git apply --whitespace=fix\n      git archive\n      git bisect\n      git bisect run <cmd>\n      git annotate\n      git gui blame\n      git blame\n      git blame -L <start>,<end> etc.\n      git bundle\n      git cherry\n      git cherry-pick\n      git cherry-pick -n / --no-commit\n      git citool\n      git clean\n      git add + git commit\n      git commit -a\n      git commit <file>...\n      git commit -i <file>...\n      git commit --amend\n      git cvsexportcommit\n      git cvsserver\n      git daemon\n      git daemon (pushing enabled)\n      git difftool\n      git ... --dirstat\n      git fetch [<options>]\n      git filter-branch\n      git format-patch\n      git grep\n      git imap-send\n      git instaweb\n      git log --grep/--author/...\n      git log -S<string> (pickaxe search)\n      git log --graph\n      git merge\n      git merge with strategy\n      git merge --squash\n      git mergetool\n      git pull (no remote)\n      git pull --rebase [<options>]\n      git pull <remote>\n      git pull <URL> <ref>\n      git push\n\nThis question (and its continuation below) is entirely optional.\n\n17. How often do you use the following forms of git commands\n    or extra git tools? (continued)\n        (columns: never | rarely | sometimes | often)\n      git relink\n      git rebase\n      git rebase -i\n      git reflog or git log -g\n      git remote\n      git remote update\n      git request-pull\n      git revert\n      git send-email\n      git show-branch\n      git shortlog\n      git shortlog -s\n      git stash\n      git stash --keep-index\n      git submodule\n      git subtree\n      git svn\n      git whatchanged\n      git gui\n      gitk\n\nExplanation: \"Rarely\" means that you use mentioned form of command\neither rarely, or you have used it only a few times.\n\nQuestions 16 and 17 (its continuation) are purely optional (as are the\nrest of questions in survey). If you don't feel like filling this\nquestions, please skip them.\n\nNote: git-subtree is managed out of tree, as a separate project (not\nin git.git repository, not even in contrib/ area). Originally\ngit-subtree was submitted for inclusion, and later was considered for\n'contrib/', but it was decided that it would be better if it mature\nout-of-tree, before resubmitting.\n\n18. Which of the following features have you used?\n    * git bundle (off-line transport)\n    * eol conversion (crlf)\n    * gitattributes\n    * mergetool and/or difftool, or custom diff/merge driver\n    * submodules (subprojects)\n    * subtree merge (optionally git-subtree)\n    * separate worktree / core.worktree\n    * multiple worktrees (git-new-worktree)\n    * alternates mechanism (sharing object database)\n    * stash (optionally \"git stash --keep-index\")\n    * shallow clone (e.g. \"git clone --depth=<n>\")\n    * detaching HEAD (e.g. \"git checkout HEAD^0\")\n    * interactive rebase (small scale history editing)\n    * interactive commit / per-hunk comitting / partial commit\n    * commit message templates\n    * git-filter-branch or equivalent (large history rewriting)\n    * bisect (optionally \"git bisect run <script>\")\n    * committing with dirty tree (keeping some changes uncommitted)\n    * non-default hooks (from contrib/hooks/ or other)\n    * shell completion of commands\n    * git-aware shell prompt\n    * git aliases, shell aliases for git, or own git scripts\n    * Other, please specify\n\n19. What features would you like implemented in Git?\n    What features are you missing?\n\n    free-form, essay\n\nEXAMPLES: partial / subtree checkout, commit annotations aka\ngit-notes, refs/replace/* mechanism, \"smart\" HTTP protocol (git via\nHTTP), resumable clone/fetch, lazy clone (on demand downloading of\nobjects), wholesame directory rename detection, syntax highlighting\nand/or side-by-side diffs in gitweb, graphical merge tool integrated\nwith git-gui, etc.\n\n\nWhat you think of Git\n~~~~~~~~~~~~~~~~~~~~~\n20. Overall, how happy are you with Git?\n    * unhappy\n    * not so happy\n    * happy\n    * very happy\n    * completely ecstatic\n\n21. In your opinion, which areas in Git need improvement?\n    Please state your preference.\n        (columns: don't need | a little | some | much)\n      user-interface\n      documentation\n      performance\n      more features\n      tools (e.g. GUI)\n      localization (translation)\n\n\nChanges in Git (since year ago, or since you started using it)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n22. Did you participate in previous Git User's Surveys?\n    * in 2006\n    * in 2007\n    * in 2008\n\n23. How do you compare the current version with the version\n    from one year ago?\n\n    * better\n    * no changes\n    * worse\n    * cannot say\n\nThe version from approximately one year ago is 1.5.6 from 18-06-2008,\nthe last version in 1.5.x series (except maintenance releases from\n1.5.6.1 to 1.5.6.6). Major controversial change in 1.6.0 was\ninstalling most of the programs outside your $PATH.\n\nOther changes include:\n * stash never expires by default\n * git-branch got -v, --contains and --merged options\n * fast-export / fast-import learned to export and import marks file\n * \"git stash save\" learned --keep-index option; \"git stash\" learned\n   \"branch\" subcommand\n * when you mistype a command name, git can suggest what you might\n   meant to say\n * git add -N / --intent-to-add\n * built in synonym \"git stage\" for \"git add\",\n   and --staged for --cached\n * improvements to \"git bisect skip\" (can take range, more aggresive)\n * \"git diff\" can use varying mnemonic prefixes, learned \"textconv\"\n   filter\n * \"git log\" learned --simplify-merges, --source,\n   --simplify-by-decoration\n * \"git send-email\" can automatically run \"git format-patch\"\n * you can use @{-1} to refer to the last branch you were on\n * \"git diff\" learned --inter-hunk-context and can be told to run\n   --patience diff\n * git-difftool can run graphical diff tool\n * unconfigured git-push issue now a big warning (preparing for the\n   future incompatibile change)\n\n(see individual RelNotes for more details)\n\n\nDocumentation. Getting help.\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n24. How useful have you found the following forms of Git documentation?\n        (columns: never used | not useful | somewhat | useful)\n      Git Wiki\n      on-line help\n      help distributed with git\n\n* Git Wiki can be found at http://git.or.cz/gitwiki\n* on-line help includes, among others, Git Homepage\n  (http://git-scm.com) and \"Git Community Book\"\n  (http://book.git-scm.com)\n* help distributed with git include manpages, manual, tutorials,\n  HOWTO, release notes, technical documentation, contrib/examples/\n\n25. Have you tried to get help regarding Git from other people?\n    * Yes\n    * No\n\n26. If yes, did you get these problems resolved quickly\n    and to your liking?\n\n    * Yes\n    * No\n    * Somewhat\n\n27. What channel(s) did you use to request help?\n    * git mailing list (git@vger.kernel.org)\n    * \"Git for Human Beings\" Google Group\n    * IRC (#git)\n    * IRC (other git/SCM related, e.g. #github)\n    * request in blog post or on wiki\n    * asking git guru/colleague\n    * project mailing list, or IRC, or forum\n    * Twitter or other microblogging platform\n    * instant messenging (IM) like XMPP/Jabber\n    * StackOverflow\n    * other (please specify)\n\n28. Which communication channel(s) do you use?\n    Do you read the mailing list, or watch IRC channel?\n\n    * git@vger.kernel.org (main)\n    * Git for Human Beings (Google Group)\n    * msysGit\n    * #git IRC channel\n    * #github or #gitorious IRC channel\n    * #revctrl IRC channel\n\n\nAbout this survey. Open forum.\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n29. How did you hear about this Git User's Survey?\n    * git mailing list\n    * git-related mailing list (msysGit, Git for Human Beings, ...)\n    * mailing list or forum of some project\n    * #git IRC channel topic\n    * announcement on IRC channel\n    * git homepage\n    * git wiki\n    * git hosting site\n    * software-related web site\n    * news web site or social news site\n    * blog (or blog planet)\n    * other kind of web site\n    * Twitter or other microblogging platform\n    * other - please specify\n\n30. What other comments or suggestions do you have that are not\n    covered by the questions above?\n\n    free-form, essay\n\nIf you have cookies enabled, you can always submit partially filled\nsurvey, and return to your answers at later time, completing it later.\n......................................................................\n"}]}