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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 9, 2008 at 5:28 PM, Petr Baudis <pasky@xxxxxxx> wrote:
> 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@xxxxxxxxx>
"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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux