Suffering from CVS mindset
Sune Foldager
cryo at cyanite.org
Wed Apr 14 05:26:07 CDT 2010
On 13-04-2010 17:56, Haszlakiewicz, Eric wrote:
> One thing that might be confusing you is that mercurial has a (IMO, very
> annoying) default of "whole repository" for various commands, rather
> than the more intuitive "current directory". That means that if you're
> working in some directory and you only want to commit the stuff from
> there you need to run:
> hg commit .
> with the current directory explicitly specified. Things like "hg log"
> do the same thing, as does "hg diff" (except there it's even more of a
> pain, b/c hg creates "fake" paths in the diff output), etc....
Sounds like you're not ready for a distributed VCS? ;-). The
'repository-wide' operations of Mercurial is one of its biggest
strengths in my opinion.
> The default log output sucks.
The default output tells you what changes were made, in form of the
commit summary. These summaries are supposed to sum up the changes. If
your summaries read "made some changes" etc., I'd say you're not doing
it right. That said, I always prefer glog (or log -G) over log.
> The built-in "verbose" log output isn't
> much better (e.g. it lists files, but w/o any indication of what
> happened to each, and all on one line so it's impossible to parse
> individual file names).
?? If lists the files (but not what happened to the files) so it's
..impossible to parse the file names?
> Theoretically, there's a way to tweak it to do
> things like list the changed files in a way that subversion might
> (which, IMO, is much more useful and readable), but I was never able to
> get it to work quite right.
If I want to see the recent changes to the repository, I'd much rather
see 10 small entries, each with a good summary, than countless lines of
diffs I might not even be interested in. There are tools for all those
situations (hg status -c <rev> and hg diff -c <rev>), though.
/Sune
More information about the Mercurial
mailing list