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

Re: Revert behavior [Was: Re: [ANNOUNCE] yap: Yet Another (Git) Porcelain]

From
Steven Walter <stevenrwalter@gmail.com>
Date
Sep 9, 2008, 21:39 UTC
Message-ID
<e06498070809091439q1c543807pd6e74b7ada32434@mail.gmail.com>
In-Reply-To
<20080909212834.GC10544@machine.or.cz>
On Tue, Sep 9, 2008 at 5:28 PM, Petr Baudis <pasky@suse.cz> wrote:
Show 11 quoted lines
> On Tue, Sep 09, 2008 at 03:38:13PM +0200, Jakub Narebski wrote:
>> By the way, I think the fact that in different SCMs meaning of
>> "$scm revert" and of "$scm reset" differs widely caused Mercurial
>> to adopt "hg backout" for creating a commit which reverts changes
>> (cherry-pick -R), and "hg rollback" to undo last commit.
>
> This brings up a point I wanted to raise - sometimes when the meanings
> across the systems (including Git) are too conflicting, it should be
> considered to use a completely different command name whatsoever to
> reduce the confusion. This is e.g. the reason Cogito had no "pull"
> (but "update") or "checkout" (but "restore" and "switch") commands.

I agree with this. That's part of the problem I have with schemes to make commands work similarly to other SCMs. If you give, for example, eg a mode to act like "svn revert;" that all well and good until the user runs "git diff" and you're made a liar. In svn, there would be no diff, because the files all match their respective upstream versions. In git, you would see changes because the file no longer matches the last commit.

It it a delicate balance to have the user interface match both the mental model of the user and the storage model of the tool. That's what all of these projects, (git, cogito, yap, eg, pyrite) are attempting to do. I don't know of an objective way to measure success in this attempt, other than simple popularity. Popularity suggests that the git porcelain is the most successful, and I would agree regarding storage model, but I am not convinced that it best matches a typical SCM user's mental model.

-- 
-Steven Walter <stevenrwalter@gmail.com>
"A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects."
 -Robert Heinlein
Previous: Petr BaudisNext: Junio C Hamano
Message 10 of 13 in “Revert behavior [Was: Re: [ANNOUNCE] yap: Yet Another (Git) Porcelain]”
  1. Elijah NewrenSep 9, 2008
  2. Jakub NarebskiSep 9, 2008
  3. Govind SalinasSep 9, 2008
  4. Steven WalterSep 9, 2008
  5. Elijah NewrenSep 9, 2008
  6. Steven WalterSep 9, 2008
  7. Elijah NewrenSep 9, 2008
  8. Elijah NewrenSep 9, 2008
  9. Petr BaudisSep 9, 2008
  10. Steven WalterSep 9, 2008
  11. Junio C HamanoSep 9, 2008
  12. Steven WalterSep 9, 2008
  13. Elijah NewrenSep 9, 2008

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.