>From http://opensolaris.org/os/community/tools/scm/hg_teamware_transition:

> Philosophy
> 
>     * TW: you check individual files out (`sccs edit'), one at a time
>     * Hg: you "check out" the entire workspace by updating your
>       working directory
>     * Discussion: context is everything

It would be helpful to clarify what "working directory" means for
Mercurial.  Or make it a link to
http://www.selenic.com/mercurial/wiki/index.cgi/WorkingDirectory.  I
remember getting confused about this when I started using Mercurial,
because I thought it referred to the Unix current working directory.

> Metadata storage
> 
>     * TW: each sub-directory has an SCCS sub-dir, and metadata files are
>       stored under there: /path/to/foo => /path/to/SCCS/s.foo
>     * Hg: there is a top-level .hg sub-dir and metadata files are stored
>       under there: /path/to/foo => .hg/store/data/path/to/foo.i

The .i file is only part of the metadata.  Let's not lead people into
thinking it's equivalent to the s. file.  Maybe just say

    * Hg: there is a top-level .hg sub-dir and metadata files are stored
      under there.

And have "metadata files" link to
http://www.selenic.com/mercurial/wiki/index.cgi/Design.

> Merging changes
> 
>     * TW: after bringover, use `resolve`
>     * Hg: after pull, use `hg merge`
>     * Discussion: these are similar

The CLI is similar, but "hg merge" works harder to avoid manual
intervention.  See 
http://www.genunix.org/wiki/index.php/SCMVolunteers#Merging_conflicting_changes,
particularly the paragraph starting with "Note that Mercurial's
definition".

I'm okay with saying that the commands are similar in form.  But we will
confuse people if we imply that they are similar in behavior.

> Nightly check-ins
> 
>     * TW: `sccs delget` adds a delta to the target file(s)
>     * Hg: `hg commit` adds a change-set to each edited file
>     * Discussion: these are similar

I am nervous about the phrase "to each edited file" in the Mercurial
line.  It might confuse people into thinking that Mercurial metadata is
per-file, when it's not the simple.

I suggest something like

    * Hg: "hg commit" adds a changeset incorporating all edited files
    * Discussion: these are similar, but by default Mercurial operates
      on the entire workspace, not individual files

A companion to that would be

History

    * TW: "sccs prt" to show changes for a single file
    * Hg: "hg log" to show revisions over the entire workspace
    * Discussion: these are similar, but by default Mercurial operates
      on the entire workspace, not individual files

Oh yeah, just noticed: backquotes are used a lot on this page.  It'd be
better to use apostrophes or double quotes.

cheers,
mike

Reply via email to