git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git User's Survey 2007 unfinished summary continued

From
Jakub Narebski <jnareb@gmail.com>
Date
Oct 8, 2007, 20:55 UTC
Message-ID
<8fe92b430710081355i7d3dbaa2q9a8939b55d7ca7dc@mail.gmail.com>

This is continuation of partial summary of Git User's Survey 2007, ending at state from 28 September 2007.

The survey can be found here:
  http://www.survey.net.nz/survey.php?94e135ff41e871a1ea5bcda3ee1856d9
  http://tinyurl.com/26774s
The data this summary is based on can be found here:
  http://git.or.cz/gitwiki/GitSurvey2007?action=AttachFile&do=get&target=surveydata.csv
  http://tinyurl.com/yusomo

---- There were 683 individual responses

About you ~~~~~~~~~

00. Date of response
  Date                           | Count
  ------------------------------------------
  Before                         | 7
  During                         | 584
  After                          | 92
  ------------------------------------------

The ranges 'before', 'during' and 'after' refers to official duration of Git User's Survey 2007, from 20 August 2007 to 10 September 2007. Actually they are corrected to take into account the fact that local date on survey's server (or UTC date) might be different from local date on user computer, so duration of survey is taken as from 2007-08-19 to 2007-09-11.

Most responses are from the start of survey, 20 and 21 August (133 and 103 responses respectively). If anyone is interested I can provide full date by date histogram.

Getting started with GIT ~~~~~~~~~~~~~~~~~~~~~~~~

07. What helped you most in learning to use it?
  TO DO
  646 / 683 non-empty responses
Some of the responses:
 * documentation (generic)
 * man pages
 * examples / usage cases in man pages
 * everyday GIT, tutorials and user's manual
 * wiki examples
 * reading mailing list / comp.version-control.git
 * people on IRC (not only #git)
 * advice from other users / friends / colleagues
 * (unofficial) documentation on the web: guides, articles, blogs etc.
   [here probably should be a sublist of them, with count]
 * a development community and/or its documentation, mailing list
   e.g. WINE wiki, Source Mage GNU/Linux development community
 * Google (Google searches)
 * helpful error messages
 * source code, reading the parts of git in shell script
 * cogito
 * using git in a live project / experimenting / trial and error
  (That I was able to just delete the entire repository and start
   over.  That all my mistakes stayed local and didn't affect upstream
   repos.)
 * working on an established project that had documented processes for
   using git
 * writing code for both plumbing and Porcelain
   writing documentation / tutorial for project / article
 * understanding the internal representation of the repository;
   good / simple design, basic principles; understanding concepts
 * experience of working in software industry;
   prior experience with version control systems (GNU Arch, SVN, BK, hg)
 * version 1.5
 * gitk, qgit; git-gui
One of more interesting:
 * We hired a consultant to give us a tutorial
08. What did you find hardest?
  TO DO
  596 / 683 non-empty responses
Some of the responses:
 * the level of complexity
 * user interface:
   too much / inconsistent commands, too many / cryptic options
   distinction between plumbing and porcelain
   many ways to do a task
   insufficient error messages
   'git <cmd> --help' prints manpage, not concise help summary
 * obtuse command messages
 * weak porcelain
   e.g. git-update-index very central
 * git-merge was plumbing
 * remote / tracking branches
   fetching, pushing and pulling, synchronizing repositories
   the fact that push is not an opposite of pull
   understanding the difference between committing and publishing
 * handling multiple remote repositories
 * merge vs rebase, deciding on proper workflow
   working with topic branches
   modifying a patch series
 * merge defaults (which branch gets merged)
 * git vs StGIT: slightly different merge conflict handling
 * making it work in non-POSIX environments
   working with git on case-insensitive and other strange filesystems
   compiling on exotic OS, for example AIX
   generating man pages
 * lack of / bad / outdated / insufficient / badly structured docs
   hard to find something in the documentation
   git lingo in documentation, documentation for users who know git
   using Cogito in some of documentation
 * understanding of concepts, thinking in git way
   understanding basic concepts and terminology
 * distributed SCM concepts, paradigm shift
   idea of non-linear history
 * index (staging area): understanding, having it visible
 * git-diff not showing added files
 * commands named differently from equivalents in other SCM
   differences from other SCM: git-commit needs '-a' to commit all
   changes, strange semantics of git-add, multiple branches in repo
   understanding terminology
 * importing history from other SCM (bzr, svn)
 * reverting changes, amending commit, undoing a commit
 * keeping track of where am I, of which version I'm working with
   finding which branch the change was made on
 * lerning to use it as maintainer
   maintaining "perfect patch series", keeping history clean
   rewritig history before 'git rebase -i'
 * dealing with merge conflicts
   figuring how to undo failed merge and restart it
 * learning conventions git expects but didn't document clearly
   like commit message formatting
 * setting up shared repo / shared server
   setting up remote repository
 * dealing with modified files (dirty tree) when switching branches,
   merging (pulling) and rebasing
 * checking out past revisions (or tagged revisions) with the
   intention to return to newer revision
 * creating independent branch, i.e. branch without ancestry
 * exploring the history and previous versions of particular files
   which are renamed and/or moved around, especially before --follow
   was added
 * some hot-shot peple in the community (on the mailing list)
 * setting up gitweb
 * having to use CLI interface
 * no <some language> documentation
More interesting:
 * All idiosyncrasies that make (made) sense for Linus' workflow but
   aren't really orthogonal or predictable.
 * Listening to whiners complain about how hard it was to learn
 * Thinking outside the narrow box defined by previous SCMs.
 * Not having used an SCM before!
 * Following the explosive growth of features.
 * Having a day job taking most of my time away from git.
 * Convincing my boss to use it.
Conclusions:
 - some of the things got corrected, like separate remote layout being
   default for non-bare repositories, using git-add (porcelain)
   instead of git-update-index (plumbing) in documentation and command
   messages, promoting git-merge to porcelain, creating git-remote for
   managing multiple repositories and remote branches, better
   documentation including creating git user's manual.
 - some things are hard because of historical reasons, such like
   naming of commands, or consistency of options, and would be
   difficult to change.
 - doing things "git way", such as making index visible (and requiring
   'git commit -a' to commit changes in all files), or rename
   detection instead of rename tracking, or storing filenames and file
   contents 'as-is' (without translation) are I think here to stay
 - some of things are intrinsically hard, and would stay that way,
   for example the distributed SCM concept, or nonlinear history.

How you use GIT ~~~~~~~~~~~~~~~

22. What projects do you track (or download) using GIT
    (or git web interface)?
  TO TABULARIZE
  560 / 683 non-empty responses

A note: this question was meant to list projects which one _tracks_, not the ones he/she maintains, meaning the projects in the remotes (section).

Tracked projects can be divided into the following categories:
 * undisclosed: proprietary code / work projects, own projects, etc.
 * Linux kernel an kernel related projects (like udev or kvm)
 * git related: git, gitk, git-gui, git-gui-i18n, stgit, tig,...
 * freedesktop (and related) projects: XCB, Compiz, Mesa3D, Cairo,...
 * Linux distributions: Source Mage, Slind,... (a few)
 * tracked via git-svn, e.g. nsd, KDE, GIMP, FreeCiv
 * others with official git repositories (like XMMS2 or ELinks)
 * others with unofficial git repositories (like OpenOffice.org)

There are more that 100 different projects tracked mentioned in survey (not all of them _choose_ git as their SCM).

Internationalization ~~~~~~~~~~~~~~~~~~~~

32. What do you need translated?
  TO TABULARIZE
  172 / 683 non-empty responses
Summary of responses, without count (which I guess is most important):
 * user interface: command messages and error messages
 * GUI: git-gui, gitk
 * man pages and commands usage
   ('git <cmd> --help' , git <cmd> --usage')
 * user's manual, tutorials, intro, howtos
 * website / homepage
-- 
Jakub Narebski
Poland
(temporarily away from Internet)
Next: Jakub Narebski
Message 1 of 161 in “Re: Git User's Survey 2007 unfinished summary continued”
  1. Jakub NarebskiOct 8, 2007
  2. Git User's Survey 2007 unfinished summary continuedJakub Narebski, Oct 12, 2007
  3. Frank LichtenheldOct 12, 2007
  4. Johannes SchindelinOct 13, 2007
  5. J. Bruce FieldsOct 13, 2007
  6. Shawn O. PearceOct 13, 2007
  7. Frank LichtenheldOct 13, 2007
  8. Johannes SchindelinOct 13, 2007
  9. Andreas EricssonOct 13, 2007
  10. David KastrupOct 13, 2007
  11. J. Bruce FieldsOct 13, 2007
  12. David KastrupOct 13, 2007
  13. Johannes SchindelinOct 14, 2007
  14. Linus TorvaldsOct 14, 2007
  15. Shawn O. PearceOct 14, 2007
  16. Linus TorvaldsOct 14, 2007
  17. david@lang.hmOct 14, 2007
  18. Linus TorvaldsOct 14, 2007
  19. Reece DunnOct 14, 2007
  20. Steven GrimmOct 14, 2007
  21. J. Bruce FieldsOct 14, 2007
  22. Steven GrimmOct 14, 2007
  23. Andreas EricssonOct 14, 2007
  24. Johannes SchindelinOct 14, 2007
  25. Andreas EricssonOct 14, 2007
  26. J. Bruce FieldsOct 14, 2007
  27. Nicolas PitreOct 14, 2007
  28. Shawn O. PearceOct 15, 2007
  29. Nicolas PitreOct 16, 2007
  30. Johannes SchindelinOct 16, 2007
  31. Johannes SchindelinOct 14, 2007
  32. Andreas EricssonOct 14, 2007
  33. David KastrupOct 14, 2007
  34. Jakub NarebskiOct 14, 2007
  35. Johannes SchindelinOct 14, 2007
  36. David KastrupOct 14, 2007
  37. David KastrupOct 14, 2007
  38. Jakub NarebskiOct 14, 2007
  39. Matthew AndrewsOct 14, 2007
  40. David KastrupOct 14, 2007
  41. David TweedOct 14, 2007
  42. Federico Mena QuinteroOct 19, 2007
  43. Jakub NarebskiOct 19, 2007
  44. Johannes SchindelinOct 19, 2007
  45. Federico Mena QuinteroOct 22, 2007
  46. Andreas EricssonOct 20, 2007
  47. Steffen ProhaskaOct 20, 2007
  48. Andreas EricssonOct 20, 2007
  49. Dmitry PotapovOct 21, 2007
  50. Jakub NarebskiOct 20, 2007
  51. Johannes SchindelinOct 20, 2007
  52. Andreas EricssonOct 21, 2007
  53. Johannes SchindelinOct 21, 2007
  54. Andreas EricssonOct 22, 2007
  55. best git practices, was Re: Git User's Survey 2007 unfinished summary continuedJohannes Schindelin, Oct 22, 2007
  56. Andreas EricssonOct 22, 2007
  57. Johannes SchindelinOct 22, 2007
  58. Andreas EricssonOct 22, 2007
  59. Johannes SchindelinOct 22, 2007
  60. Andreas EricssonOct 22, 2007
  61. Steffen ProhaskaOct 22, 2007
  62. Federico Mena QuinteroOct 22, 2007
  63. Johannes SchindelinOct 22, 2007
  64. Carl WorthOct 25, 2007
  65. Jakub NarebskiOct 22, 2007
  66. Steffen ProhaskaOct 23, 2007
  67. Johannes SchindelinOct 23, 2007
  68. Steffen ProhaskaOct 24, 2007
  69. J. Bruce FieldsOct 24, 2007
  70. Andreas EricssonOct 24, 2007
  71. J. Bruce FieldsOct 24, 2007
  72. Steffen ProhaskaOct 24, 2007
  73. J. Bruce FieldsOct 24, 2007
  74. Andreas EricssonOct 24, 2007
  75. J. Bruce FieldsOct 24, 2007
  76. Peter BaumannOct 24, 2007
  77. Steffen ProhaskaOct 24, 2007
  78. Johannes SchindelinOct 24, 2007
  79. Steffen ProhaskaOct 24, 2007
  80. J. Bruce FieldsOct 24, 2007
  81. Steffen ProhaskaOct 24, 2007
  82. Johannes SchindelinOct 24, 2007
  83. Steffen ProhaskaOct 25, 2007
  84. Johannes SchindelinOct 25, 2007
  85. Steffen ProhaskaOct 25, 2007
  86. Andreas EricssonOct 25, 2007
  87. Peter BaumannOct 25, 2007
  88. Andreas EricssonOct 25, 2007
  89. Steffen ProhaskaOct 25, 2007
  90. Johannes SchindelinOct 25, 2007
  91. Andreas EricssonOct 25, 2007
  92. Steffen ProhaskaOct 25, 2007
  93. Johannes SchindelinOct 25, 2007
  94. Theodore TsoOct 25, 2007
  95. Andreas EricssonOct 25, 2007
  96. Theodore TsoOct 25, 2007
  97. Andreas EricssonOct 25, 2007
  98. Junio C HamanoOct 25, 2007
  99. Andreas EricssonOct 25, 2007
  100. Steffen ProhaskaOct 26, 2007
  101. Andreas EricssonOct 26, 2007
  102. Federico Mena QuinteroOct 25, 2007
  103. Mike HommeyOct 25, 2007
  104. J. Bruce FieldsOct 25, 2007
  105. Theodore TsoOct 25, 2007
  106. Andreas EricssonOct 25, 2007
  107. David KastrupOct 26, 2007
  108. Federico Mena QuinteroOct 25, 2007
  109. J. Bruce FieldsOct 25, 2007
  110. Federico Mena QuinteroOct 25, 2007
  111. J. Bruce FieldsOct 25, 2007
  112. Andreas EricssonOct 25, 2007
  113. J. Bruce FieldsOct 25, 2007
  114. David KastrupOct 26, 2007
  115. Make rebase smarterSteven Walter, Oct 26, 2007
  116. Andreas EricssonOct 26, 2007
  117. Johannes SchindelinOct 26, 2007
  118. Junio C HamanoOct 26, 2007
  119. Johannes SchindelinOct 26, 2007
  120. Junio C HamanoOct 26, 2007
  121. Andreas EricssonOct 24, 2007
  122. Johannes SchindelinOct 24, 2007
  123. Andreas EricssonOct 25, 2007
  124. Johannes SchindelinOct 25, 2007
  125. Andreas EricssonOct 25, 2007
  126. Johannes SchindelinOct 25, 2007
  127. Andreas EricssonOct 25, 2007
  128. Karl HasselströmOct 25, 2007
  129. Andreas EricssonOct 25, 2007
  130. Peter BaumannOct 25, 2007
  131. Steffen ProhaskaOct 24, 2007
  132. Andreas EricssonOct 24, 2007
  133. Jakub NarebskiOct 24, 2007
  134. Andreas EricssonOct 25, 2007
  135. Johannes SchindelinOct 25, 2007
  136. Steffen ProhaskaOct 25, 2007
  137. Federico Mena QuinteroOct 25, 2007
  138. Andreas EricssonOct 23, 2007
  139. Daniel BarkalowOct 22, 2007
  140. Wincent ColaiutaOct 22, 2007
  141. David SymondsOct 22, 2007
  142. Johannes SchindelinOct 22, 2007
  143. Robin RosenbergOct 22, 2007
  144. Alex RiesenOct 23, 2007
  145. Nguyen Thai Ngoc DuyOct 22, 2007
  146. Federico Mena QuinteroOct 22, 2007
  147. Jakub NarebskiOct 24, 2007
  148. Karl HasselströmOct 24, 2007
  149. Jakub NarebskiOct 24, 2007
  150. Karl HasselströmOct 24, 2007
  151. Jakub NarebskiOct 24, 2007
  152. Karl HasselströmOct 25, 2007
  153. Catalin MarinasOct 24, 2007
  154. Jakub NarebskiOct 22, 2007
  155. Johannes SchindelinOct 22, 2007
  156. Andreas EricssonOct 22, 2007
  157. Federico Mena QuinteroOct 22, 2007
  158. Jakub NarebskiOct 22, 2007
  159. Steven GrimmOct 22, 2007
  160. J. Bruce FieldsOct 21, 2007
  161. Shawn O. PearceOct 13, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.