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

Cogito turbo-introduction

From
Petr Baudis <pasky@ucw.cz>
Date
Feb 15, 2006, 01:12 UTC
Message-ID
<20060215011210.GG30316@pasky.or.cz>
In-Reply-To
<1139963183.4341.117.camel@evo.keithp.com>

I suppose this might be interesting for others (and Google) as well, so I'm bringing it back to the mailing list...

Dear diary, on Wed, Feb 15, 2006 at 01:26:23AM CET, I got a letter where Keith Packard <keithp@keithp.com> said that...

> I will see about learning enough cogito to point appropriate people at
> it in place of full-on git exposure.

Actually, everything should be really trivial, since Cogito is very similar to CVS or SVN in practice. A turbo introduction to Cogito, which actually proved to be enough to get started fast with the regular work, was:

	* cg-clone URL to get the stuff
	* cg-commit just like in CVS (but cooler)
	* cg-update just like in CVS (or rather SVN)
	* cg-status to get the status letters produced by cvs update
	  (just like in SVN)
	* cg-diff, cg-log, cg-add, cg-rm just like in CVS (but cooler)
	* After committing for a while, you need to run cg-push
	* Merge commits are perfectly ok, don't mind them; no really,
	  you will get used; in reality, they are cool
	* If you hit conflicts during merge, the software will tell you
	  how to proceed
	* If you need something different / more advanced, look it up
	  in cg-help list (there is actually significantly less Cogito
	  commands to go through than in CVS, yet in most areas Cogito
	  is much more powerful)
	* If you are confused about the distributed concept or want to
	  learn about branching, try Cogito README

I've been trying to design Cogito's UI pretty carefully to really absolutely minimize the learning curve from CVS/SVN, while also making it consistent on its own so that people who learn it as their first VCS will get actually something nice. Well, the users shall judge. ;-) (At this stage I would probably design few bits of the UI slightly differently than how they have evolved, but the gripes are pretty minor.)

In this sense, the good UI goal has indeed higher priority than the powerfulness goal, but most of the time we hopefully manage to make it go together well. The significant areas where Cogito is fundamentally less powerful than GIT itself are:

	* No git-whatchanged -p - this is huge deficiency, and I'm
	  entirely at fault here
	* Consequently, no pickaxe and renames detection - same
	* Recursive merge strategy - not much of a UI problem, it just
	  needs the time and work to get integrated
	* Remote branches handling - Cogito's handling is strictly 1:1
	  while GIT's remotes are much more powerful and allow you to
	  fetch/push many branches at once (and in fact do so by
	  default); I did not invent a good UI for something similarly
	  powerful yet, and it is no high priority for me so far;
	  I think you actually want 1:1 in by far the most common usage
	  pattern
	* No email interface - but you can trivially just fall back to
	  GIT in this area

Note that Cogito's goal is not to reproduce and wrap all GIT commands - e.g. I have currently no plans to wrap up git-bisect.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
Of the 3 great composers Mozart tells us what it's like to be human,
Beethoven tells us what it's like to be Beethoven and Bach tells us
what it's like to be the universe.  -- Douglas Adams
Previous: Petr BaudisNext: Petr Baudis
Message 56 of 57 in “several quick questions”
  1. Nicolas Vilz 'niv'Feb 14, 2006
  2. Andreas EricssonFeb 14, 2006
  3. Nicolas Vilz 'niv'Feb 14, 2006
  4. Linus TorvaldsFeb 14, 2006
  5. Kenneth JohanssonFeb 14, 2006
  6. Andreas EricssonFeb 14, 2006
  7. Kenneth JohanssonFeb 14, 2006
  8. Linus TorvaldsFeb 14, 2006
  9. Carl WorthFeb 14, 2006
  10. Linus TorvaldsFeb 14, 2006
  11. Carl WorthFeb 14, 2006
  12. Petr BaudisFeb 14, 2006
  13. Johannes SchindelinFeb 14, 2006
  14. Junio C HamanoFeb 14, 2006
  15. Johannes SchindelinFeb 14, 2006
  16. Petr BaudisFeb 14, 2006
  17. Linus TorvaldsFeb 14, 2006
  18. Petr BaudisFeb 14, 2006
  19. Carl WorthFeb 14, 2006
  20. Junio C HamanoFeb 14, 2006
  21. New git-seek command with documentation and test.Carl Worth, Feb 23, 2006
  22. J. Bruce FieldsFeb 24, 2006
  23. git-seek: Eliminate spurious warning. Fix errant reference to git-bisect in docs.Carl Worth, Feb 24, 2006
  24. Junio C HamanoFeb 24, 2006
  25. Andreas EricssonFeb 24, 2006
  26. Junio C HamanoFeb 24, 2006
  27. Carl WorthFeb 24, 2006
  28. Johannes SchindelinFeb 24, 2006
  29. J. Bruce FieldsFeb 24, 2006
  30. Josef WeidendorferFeb 14, 2006
  31. Junio C HamanoFeb 14, 2006
  32. Josef WeidendorferFeb 14, 2006
  33. Junio C HamanoFeb 14, 2006
  34. More useful/hinting error messages in git-checkoutJosef Weidendorfer, Feb 15, 2006
  35. Andreas EricssonFeb 14, 2006
  36. Johannes SchindelinFeb 14, 2006
  37. Andreas EricssonFeb 15, 2006
  38. Junio C HamanoFeb 15, 2006
  39. Junio C HamanoFeb 15, 2006
  40. Andreas EricssonFeb 15, 2006
  41. Junio C HamanoFeb 15, 2006
  42. Petr BaudisFeb 14, 2006
  43. Carl WorthFeb 14, 2006
  44. Linus TorvaldsFeb 14, 2006
  45. Andreas EricssonFeb 14, 2006
  46. Johannes SchindelinFeb 14, 2006
  47. Carl WorthFeb 14, 2006
  48. Keith PackardFeb 14, 2006
  49. Linus TorvaldsFeb 14, 2006
  50. Keith PackardFeb 14, 2006
  51. Martin LanghoffFeb 15, 2006
  52. Keith PackardFeb 15, 2006
  53. Carl WorthFeb 15, 2006
  54. Junio C HamanoFeb 14, 2006
  55. Petr BaudisFeb 14, 2006
  56. Cogito turbo-introductionPetr Baudis, Feb 15, 2006
  57. Petr BaudisFeb 15, 2006

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.