git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Which VCS besides git?

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Mar 3, 2010, 12:31 UTC
Message-ID
<94a0d4531003030431t3ce62d0g9b8458fe5a8a54ef@mail.gmail.com>
In-Reply-To
<80fx4hbo4f.fsf@tiny.isode.net>
On Wed, Mar 3, 2010 at 2:12 PM, Bruce Stephens <bruce.stephens@isode.com> wrote:
Show 12 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
> [...]
>
>> That's not exactly correct. Monotone works very differently; a
>> revision doesn't include the ancestry, that's handled in a separate
>> structure, so the revision hash doesn't tell you anything about the
>> ancestry.
>
> Not so.  Long ago that was the case (ancestry was via certs), but that's
> not been the case for a long time.  There are (in retrospect) obvious
> advantages in including the ancestry in the hash.

Ah, I looked quickly ad one db and still saw 'revision_ancestry' being used. I guess they decided to keep the information redundant.

Show 19 quoted lines
>> In fact, a revision doesn't contain anything, the data is handled by
>> "certs", and certs can be added later.
>
> Revisions lack date, author, branch, commit message, but include
> ancestry and the actual changes (which files/directories have changed
> and how).
>
>> For example, it's possible to clone a repository and then add a second
>> commit message to a bunch of revisions. The revision hash doesn't
>> change. Instead, they ensure security by signing every piece of data
>> about a commit (commit date, author, commit message). So it's possible
>> to have multiple commit dates, authors, messages, etc. each signed by
>> a different person.
>>
>> I'm not really fond of this approach :P
>
> It has the nice feature that many people can create merges, and if they
> create exactly the same merge (from exactly the same parents) then only
> one revision results (just with multiple certs decorating it).

Yeah, I'm aware of the reasoning, but IMO it's too much complexity for almost no gain. It's much easier to just 'git fetch' and synchronize the changes.

Anyway, good to know they updated the ancestry handling :)
-- 
Felipe Contreras
Previous: Bruce StephensNext: Ben Walton
Message 11 of 13 in “Which VCS besides git?”
  1. Kārlis RepsonsMar 2, 2010
  2. Shawn O. PearceMar 2, 2010
  3. Kārlis RepsonsMar 2, 2010
  4. Shawn O. PearceMar 2, 2010
  5. Jakub NarebskiMar 2, 2010
  6. Kārlis RepsonsMar 2, 2010
  7. Ben WaltonMar 2, 2010
  8. Jakub NarebskiMar 3, 2010
  9. Felipe ContrerasMar 3, 2010
  10. Bruce StephensMar 3, 2010
  11. Felipe ContrerasMar 3, 2010
  12. Ben WaltonMar 3, 2010
  13. Miklos VajnaMar 3, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.