From: Jakub Narebski <jnareb@gmail.com>
To: Matt Mackall <mpm@selenic.com>
Cc: mercurial@selenic.com, git@vger.kernel.org,
Junio C Hamano <junkio@cox.net>
Subject: Re: newbie questions about git design and features (some wrt hg)
Date: Fri, 2 Feb 2007 18:18:10 +0100 [thread overview]
Message-ID: <200702021818.11368.jnareb@gmail.com> (raw)
In-Reply-To: <20070202160317.GX10108@waste.org>
On 02.02.2004, Matt Mackall wrote:
> On Fri, Feb 02, 2007 at 10:55:48AM +0100, Jakub Narebski wrote:
>> How Mercurial solves problem of multiple _persistent_ branches? Does it
>> add pointers to commits somewhere deeper in changelog / revlog?
>
> Each changeset may have a branch marker.
By changeset you mean commit-revlog (changelog)?
Where those branch markers are stored? Are those markers moving pointers,
meaning that if you make a commit while on branch, branch marker for
current branch will move?
Static markers cannot identify branch in the presence of branch points:
---a<---b ........ side branch
/
1<---2<---3<---4<---5<---6<---7 ... main branch
^
:
''''' tag
> Here's branches in use with an import of mutt's CVS history:
>
> $ hg branches
> mutt-0-94 208:b2cc0abd8fe0
> HEAD 207:a505693b54c1
> mutt-0-93 134:d59345944030
> muttintl 1:29510de8b3fc
What is the first number? I understand that second is shortened (is it
stored shortened, I wonder) hash identifier of a commit...
> $ hg co HEAD
> 176 files updated, 0 files merged, 8 files removed, 0 files unresolved
Git (at least for now) writes nothing on checkout; it is planned that
it would write changes status-like; perhaps summary would be enough...
or is it only working area status that is to be written...
> $ hg branch
> HEAD
> $ hg branch devel
> $ hg branch
> devel
> $ hg branch devel
>
>> BTW does Mercurial have tags?
>
> Yes. Both local and revision-controlled.
Revision-controlled (in-tree) tags are inane idea. Tags are non-moving
(and sometimes annotated) pointers to given point in history. They should
not depend on which branch you are, or what version you have checked out.
Otherwise the following would not work:
$ git reset --hard v1.0.0
$ git reset --hard v1.4.4.4
(it could be "git checkout" instead of "git reset --hard" in 'master'
version of git, with "detached HEAD" / "anonymous branch" feature).
>> Nice to know. You compress only file deltas, or also file revision
>> metadata? Do you compress manifests (trees) and commits (or at least
>> commit messages) too?
>
> All three use the same underlying storage format, so yes.
But do you compress metadata (like base of a delta for file deltas,
authorship of a commit and reference to manifest-log entry)? Do manifest
is delta-encoded?
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2007-02-02 17:16 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-30 16:20 newbie questions about git design and features (some wrt hg) Mike Coleman
2007-01-30 16:41 ` Johannes Schindelin
2007-01-30 16:55 ` Shawn O. Pearce
2007-01-31 1:55 ` Theodore Tso
2007-01-31 10:56 ` Jakub Narebski
2007-01-31 20:01 ` Junio C Hamano
2007-01-31 22:25 ` Matt Mackall
2007-01-31 23:58 ` Jakub Narebski
2007-02-01 0:34 ` Matt Mackall
2007-02-01 0:57 ` Jakub Narebski
2007-02-01 7:59 ` Simon 'corecode' Schubert
2007-02-01 10:09 ` Johannes Schindelin
2007-02-01 10:15 ` Simon 'corecode' Schubert
2007-02-01 10:49 ` Johannes Schindelin
2007-02-01 16:28 ` Linus Torvalds
2007-02-01 19:36 ` Eric Wong
2007-02-01 21:13 ` Linus Torvalds
2007-02-02 9:55 ` Jakub Narebski
2007-02-02 13:51 ` Simon 'corecode' Schubert
2007-02-02 14:23 ` Jakub Narebski
2007-02-02 15:02 ` Shawn O. Pearce
2007-02-02 15:38 ` Mark Wooding
2007-02-02 16:09 ` Jakub Narebski
2007-02-02 16:42 ` Linus Torvalds
2007-02-02 16:59 ` Jakub Narebski
2007-02-02 17:11 ` Linus Torvalds
2007-02-02 17:59 ` Brendan Cully
2007-02-02 18:19 ` Jakub Narebski
2007-02-02 19:28 ` Brendan Cully
2007-02-02 18:27 ` Giorgos Keramidas
2007-02-02 19:01 ` Linus Torvalds
2007-02-03 21:20 ` Giorgos Keramidas
2007-02-03 21:37 ` Matthias Kestenholz
2007-02-03 21:41 ` Linus Torvalds
2007-02-03 21:45 ` Jakub Narebski
2007-02-02 18:32 ` Linus Torvalds
2007-02-02 19:26 ` Brendan Cully
2007-02-02 19:42 ` Linus Torvalds
2007-02-02 19:55 ` Brendan Cully
2007-02-02 20:15 ` Jakub Narebski
2007-02-02 20:21 ` Linus Torvalds
2007-02-02 16:03 ` Matt Mackall
2007-02-02 17:18 ` Jakub Narebski [this message]
2007-02-02 17:37 ` Matt Mackall
2007-02-02 18:44 ` Jakub Narebski
2007-02-02 19:56 ` Jakub Narebski
2007-02-03 20:06 ` Brendan Cully
2007-02-03 20:55 ` Jakub Narebski
2007-02-03 21:00 ` Jakub Narebski
2007-01-30 17:44 ` Jakub Narebski
2007-01-30 18:06 ` Linus Torvalds
2007-01-30 19:37 ` Linus Torvalds
2007-01-30 18:11 ` Junio C Hamano
2007-01-31 3:38 ` Mike Coleman
2007-01-31 4:35 ` Linus Torvalds
2007-01-31 4:57 ` Junio C Hamano
2007-01-31 16:22 ` Linus Torvalds
2007-01-31 16:41 ` Johannes Schindelin
2007-01-31 7:11 ` Mike Coleman
2007-01-31 15:03 ` Nicolas Pitre
2007-01-31 16:58 ` Mike Coleman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200702021818.11368.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=mercurial@selenic.com \
--cc=mpm@selenic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).