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

Re: Pull is Mostly Evil

From
Philip Oakley <philipoakley@iee.org>
Date
May 3, 2014, 20:24 UTC
Message-ID
<CFC38D3E32F9460685EFFD76228E4E21@PhilipOakley>
In-Reply-To
<20140502225342.GQ9218@google.com>
From: "Jonathan Nieder" <jrnieder@gmail.com>
Sent: Friday, May 02, 2014 11:53 PM
Show 10 quoted lines
> Hi,
>
> Philip Oakley wrote:
>
>> That assumes that [git pull] doing something is better than doing
>> nothing,
>> which is appropriate when the costs on either side are roughly
>> similar.
>
> I think the conversation's going around in circles.

I agree it's going around, but it's a non-exact recurrence. Issues are being surfaced.

Show 16 quoted lines
>
> Potential next steps:
>
> a. Documentation or test patch illustrating desired behavior
>
> b. More traditional formal design doc explaining desired behavior and
>    the thinking behind it ("problem", "overview of solution",
>    "alternatives rejected", "complications", "example", "open
>    questions").
>
> c. Implementation patch
>
> d. Someone takes an existing patch and figures out the next step
>    toward getting it ready for application.
>
> My preference is for (a), I guess.

I disagree about the leap to the presentation & discussion of a 'solution' in these awkward scenarios (the old joke about "if I were you I wouldn't start from here", when asking for directions tends to apply). This is the same point made by Brooks in the 'Mythical Man Month'. A leap to code is no guarantee of success.

Show 5 quoted lines
>
> The point being that something more concrete (code or a design doc)
> makes it easier to avoid talking past each other.  And having
> something concrete to edit makes the stakes clearer so people can make
> it incrementally better without being distracted by unimportant parts.

We've had Junio's training wheel, and now Filipe's n'th attempt at code examples, so my bad code wouldn't help ;-). As a systems engineer I've seen these confusions quite a few times in different guises.

I tend to fall back to P Checkland's "Systems Thinking, Systems Practice" model of the various processes that have to go on [1] to improve the situation (note he doesn't expect a solved solution in most cases, just an improvement in the situation). At the moment most of the discussion is in the "unstructured" parts of the processes. He also identifies 6 elements 'CATWOE' [2] that need to be considered when studying these problems.

Most of the discussion/arguments here are about the different 'Weltanshaung's" (world views) of the contributors.

In terms of the new user pull problem, what needs to be modeled is the new user's and their weltanshaung, not how we ('experienced' users?) might 'solve' the problem.

The pull problem is, I believe part of the bigger problem of the mind-set shift required for the transition to a DVCS for most new users. Git has grown organically, so still has some soft (unclear) edges, which probably needs more than just a transition plan for Filipe's pull changes, and its choice of the final default (or lack of).

For example, if users aren't understanding the differences between remote branches, remote tracking branches, and branches, which is part of the pull problem; have we made it easy for them to understand? [They already have to comprehend the 'staging' concept, so are already cognitively fully loaded].

For the branch type example, some cleaner naming may help, such as: 'remote branch', 'Tracking branch', and '(local) branch', which excludes the noiseword 'remote' from 'Tracking branches' (my deliberate 'T' emphasis). Though that does still leave the confusion between remote servers and remote repos, where the latter may actually be local, and if a file path, be the local '.' repo itself!

>
> Thanks and hope that helps,

Sorry if this went off at a tangent, but I believe it's important to get to the bottom of the new user problems, which are deeper than just a few command defaults.

> Jonathan
> --

Philip -- [1] http://40qx6d15vq6j25i83v3ks8nxfux.wpengine.netdna-cdn.com/files/2012/08/seven-steps2.gif or http://portals.wi.wur.nl/spicad/?Soft_Systems_Methodology Checkland's 7 Steps.

[2] CATWOE: customers, actors, transformation, weltanshaung, owners, environment.

Previous: Jonathan NiederNext: Felipe Contreras
Message 7 of 50 in “Pull is Mostly Evil”
  1. Marc BranchaudMay 2, 2014
  2. David KastrupMay 2, 2014
  3. Philip OakleyMay 2, 2014
  4. Felipe ContrerasMay 2, 2014
  5. Philip OakleyMay 2, 2014
  6. Jonathan NiederMay 2, 2014
  7. Philip OakleyMay 3, 2014
  8. Felipe ContrerasMay 2, 2014
  9. Philip OakleyMay 3, 2014
  10. Felipe ContrerasMay 3, 2014
  11. David LangMay 2, 2014
  12. David KastrupMay 2, 2014
  13. Junio C HamanoMay 2, 2014
  14. Felipe ContrerasMay 2, 2014
  15. Junio C HamanoMay 2, 2014
  16. Felipe ContrerasMay 2, 2014
  17. Jeff KingMay 2, 2014
  18. Felipe ContrerasMay 2, 2014
  19. Jeff KingMay 2, 2014
  20. Felipe ContrerasMay 2, 2014
  21. David KastrupMay 3, 2014
  22. Junio C HamanoMay 6, 2014
  23. Felipe ContrerasMay 6, 2014
  24. Richard HansenMay 3, 2014
  25. David KastrupMay 3, 2014
  26. Felipe ContrerasMay 3, 2014
  27. David KastrupMay 3, 2014
  28. David LangMay 4, 2014
  29. Felipe ContrerasMay 4, 2014
  30. David KastrupMay 4, 2014
  31. James DenholmMay 4, 2014
  32. David KastrupMay 4, 2014
  33. Felipe ContrerasMay 4, 2014
  34. James DenholmMay 4, 2014
  35. David KastrupMay 4, 2014
  36. Felipe ContrerasMay 3, 2014
  37. Richard HansenMay 3, 2014
  38. Felipe ContrerasMay 4, 2014
  39. Richard HansenMay 4, 2014
  40. Felipe ContrerasMay 4, 2014
  41. Richard HansenMay 4, 2014
  42. Felipe ContrerasMay 4, 2014
  43. Richard HansenMay 5, 2014
  44. Felipe ContrerasMay 5, 2014
  45. Max KirillovMay 7, 2014
  46. John SzakmeisterMay 3, 2014
  47. Richard HansenMay 5, 2014
  48. Felipe ContrerasMay 5, 2014
  49. Philip OakleyMay 2, 2014
  50. Marc BranchaudMay 9, 2014

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.