Slime project considering Mercurial

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Mar 7 06:50:23 CST 2008


On 2008-03-07 06:32, Paul Franz <theandromedan at gmail.com> wrote:
>> If you have already created an hg version of your repo, I think using
>>
>>  hg init temp
>>  hg -R temp in --bundle wiredata.bundle my-master-repo
>>
>> will create in wiredata.bundle the exact data stream that would go
>> over the wire for the actual repo data.
>
> I am new to Hg. So could you tell me what I should do with the data
> put in wire.bundle?

Each Mercurial changesets is uniquely identified with a `hash' value.
For example, here's the latest changeset I have in my local clone of
the Mercurial `Crew' repository/branch:

$ pwd
/ws/mercurial/crew
$ hg tip --template '{rev}:{node} // {date|isodate} // {author|email}\n'
6208:c88b9e59758878d2c9d2064c01c72a45be304dca // 2008-03-05 08:00 +0100 // peter.arrenbrecht at gmail.com

The `c88b9e59758878d2c9d2064c01c72a45be304dca ' hash identifies the
commit done by Peter on 2008-03-05 08:00 +0100.

A `bundle' is a binary blob which ``bundles'' multiple changesets,
including all their metadata: the parent changeset or changesets, the
committer, the date, the log message of the changeset, and everything
else.

You can store a ``bundle'' in a single file, attach it to an email
message and send it to another person, or archive it for backup
purposes.  Then, when someone wants to pull the changesets of the bundle
in a local tree of their own, they can start from an `old' clone of the
workspace you used to create the bundle, and extract the bundle with:

    cd /ws/paul/proj-foo/branch-bar
    hg unbundle /tmp/paul-logging-feature-branch.hg

Bundles are described in the Wiki too:

[1] http://www.selenic.com/mercurial/wiki/index.cgi/TipsAndTricks/Basic

[2] http://www.selenic.com/mercurial/wiki/index.cgi/TipsAndTricks/Intermediate
    See the ``generate a diff between two repositories'' section.



More information about the Mercurial mailing list