From: Thomas Gleixner <tglx@linutronix.de>
To: Junio C Hamano <junkio@cox.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>, git@vger.kernel.org
Subject: Re: [PATCH] [RFD] Add repoid identifier to commit
Date: Thu, 12 May 2005 22:47:25 +0200 [thread overview]
Message-ID: <1115930845.11872.79.camel@tglx> (raw)
In-Reply-To: <7vvf5ogxdu.fsf@assigned-by-dhcp.cox.net>
On Thu, 2005-05-12 at 10:35 -0700, Junio C Hamano wrote:
> Thanks for a very clear explanation. The situation is
> intriguing in that both R and M after converging end up with
> exactly the same HEAD with the same set of objects but still
> would want to see history leading to the HEAD differently.
Yes, thats what I wanted to achieve first hand with the repository id. I
think my first attempt is far from perfect and I agree with hpa on
having a .git/repoid file.
> I wonder what happens to a third person S, who pulls from both R
> and M. What does S see?
> Does the commit order observed by S depend on which one S pulls
> from first? That is, if S pulls from R then at that point Mn-1
> and Mn comes after Rn-1 in S's history? And after that what
> hapens if S pulls from M (which is obviously a no-op except that
> it would update .git/refs/heads/M)? Does the history for S
> change?
That's an interesting question. Of course, if you change the head you
see the tree from a different POV, but you can detect this when S pulls
from M after a pull from R. So the tool can ask the user, if he really
wants to change the commit order or not. You might even argue that they
could refuse to do the head change
> The answer to the above could be "the merge order history is per
> tree and not something to be exported or given away to other
> trees", in which case it may make sense from S's point of view
> that Mn and Rn-1 are compares solely based on their commit
> timestamps. You will get consistent history and switching which
> tree is being tracked would not change the history. Is the goal
> here to give the merge order history from R and M to S?
The goal from my side is to preserve the merge order history of R, M and
S in the individual way of commit order per repository, which includes
the merge order R->S, M->S or the other way round. See above
> If that is not needed, then you can record in an auxiliary file
> that is local to each tree the timestamp of when merge happened
> in that tree along with set of foreign commit objects, and teach
> rev-tree or rev-list to read from that auxiliary file and use
> that timestamp for foreign commit objects instead of commit time
> recorded in them when sorting by time is needed.
As I said before timestamps can be a horrid source of information. Also
if you keep a list of commits merges and head forwards in timed order it
is simple to read the repository history, but in case of corruption you
have to reconstruct it manually. There is no way to do so with the
information available.
Repository id's can be lost, but are simple to replace as they are
recorded in the commit blob.
tglx
next prev parent reply other threads:[~2005-05-12 20:39 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-11 21:38 [PATCH] [RFD] Add repoid identifier to commit Thomas Gleixner
2005-05-11 22:00 ` Sean
2005-05-11 22:05 ` Thomas Gleixner
2005-05-11 22:24 ` Sean
2005-05-11 22:30 ` Thomas Gleixner
2005-05-11 22:36 ` Sean
2005-05-11 22:48 ` Thomas Gleixner
2005-05-11 23:01 ` Sean
2005-05-11 23:33 ` Thomas Gleixner
2005-05-11 23:44 ` Sean
2005-05-12 0:30 ` Thomas Gleixner
2005-05-12 0:45 ` Sean
2005-05-12 0:56 ` Thomas Gleixner
2005-05-12 0:58 ` Sean
2005-05-12 10:07 ` David Woodhouse
2005-05-12 10:18 ` Sean
2005-05-12 10:42 ` Thomas Gleixner
2005-05-12 10:43 ` David Woodhouse
2005-05-12 10:58 ` Sean
2005-05-12 10:39 ` Sean
2005-05-11 23:14 ` H. Peter Anvin
2005-05-11 23:38 ` Thomas Gleixner
2005-05-11 23:40 ` H. Peter Anvin
2005-05-11 23:45 ` Sean
2005-05-12 0:04 ` H. Peter Anvin
2005-05-12 0:20 ` Sean
2005-05-12 0:33 ` Thomas Gleixner
2005-05-12 1:46 ` Junio C Hamano
2005-05-12 7:57 ` Thomas Gleixner
2005-05-12 9:32 ` Sean
2005-05-12 9:39 ` Thomas Gleixner
2005-05-12 9:46 ` Sean
2005-05-12 11:18 ` Thomas Gleixner
2005-05-12 11:24 ` Sean
2005-05-12 11:43 ` Thomas Gleixner
2005-05-12 11:48 ` Sean
2005-05-12 12:16 ` Thomas Gleixner
2005-05-12 12:16 ` Sean
2005-05-12 12:34 ` Thomas Gleixner
2005-05-12 12:35 ` Sean
2005-05-12 12:17 ` Sean
2005-05-12 12:29 ` David Woodhouse
2005-05-12 12:32 ` Sean
2005-05-12 13:29 ` Jan Harkes
2005-05-12 15:44 ` Jon Seymour
2005-05-12 15:48 ` Jon Seymour
2005-05-12 15:50 ` Jon Seymour
2005-05-12 16:20 ` Jan Harkes
2005-05-12 17:09 ` Jon Seymour
2005-05-12 17:12 ` Jon Seymour
2005-05-12 17:35 ` Junio C Hamano
2005-05-12 18:18 ` Sean
2005-05-12 19:24 ` Junio C Hamano
2005-05-12 19:35 ` Sean
2005-05-12 20:47 ` Thomas Gleixner [this message]
2005-05-12 21:09 ` Sean
2005-05-12 21:21 ` Thomas Gleixner
2005-05-12 21:32 ` Sean
2005-05-12 21:44 ` Junio C Hamano
2005-05-12 22:06 ` Thomas Gleixner
2005-05-12 22:24 ` Sean
2005-05-12 0:41 ` Dmitry Torokhov
2005-05-12 0:44 ` Thomas Gleixner
2005-05-12 1:09 ` H. Peter Anvin
2005-05-12 1:13 ` H. Peter Anvin
2005-05-12 3:30 ` Joel Becker
2005-05-12 9:17 ` Thomas Gleixner
2005-05-13 1:37 ` [PATCH] [RFD] Add repoid identifier to commit [its a workspace id, isn't it?] Jon Seymour
2005-05-13 8:36 ` Thomas Gleixner
2005-05-13 22:25 ` Petr Baudis
2005-05-13 22:26 ` H. Peter Anvin
2005-05-13 23:39 ` Petr Baudis
2005-05-13 23:49 ` Jon Seymour
2005-05-14 5:02 ` Jon Seymour
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=1115930845.11872.79.camel@tglx \
--to=tglx@linutronix.de \
--cc=git@vger.kernel.org \
--cc=hpa@zytor.com \
--cc=junkio@cox.net \
/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).