From: Linus Torvalds <torvalds@osdl.org>
To: sean <seanlkml@sympatico.ca>
Cc: junkio@cox.net, git@vger.kernel.org, jnareb@gmail.com
Subject: Re: [RFC] [PATCH 0/5] Implement 'prior' commit object links (and other commit links ideas)
Date: Tue, 25 Apr 2006 10:04:21 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0604250952490.3701@g5.osdl.org> (raw)
In-Reply-To: <BAYC1-PASMTP086A906CFB378AB229C2D8AEBF0@CEZ.ICE>
On Tue, 25 Apr 2006, sean wrote:
>
> It's a fair point. But adding a separate database to augment the core
> information has some downsides. That is, that information isn't pulled,
> cloned, or pushed automatically; it doesn't get to ride for free on top
> of the core.
But the point is, we don't generally _want_ to pull, push, or clone this
crud.
I for one would literally have to add code to say "if any commit we poll
has this random field, I refuse to pull".
There's two ways to have true interoperability (and in a distributed
system, that's the thing that matters):
- keep on piling on the sh*t
- keep it simple so that people know exactly what the rules are.
Guess which one I am religiously in favour of.
That's my whole point: the "rules" for this suggested "prior" or "related"
field simply don't exist, and it doesn't even seem to be the case that
people can agree what it _means_ in that nobody has actually explained
what the thing would do and why you would use it.
If you cannot explain to the other side what a field is used for, then
that field - by definition - is not useful for the other side. It will
just result in confusion, because different users will have different
notions of what to do with the field (if anything).
So some users might consider it to have meaning, and actually do different
things when it exists. Others would ignore it entirely. Yet thirds would
ignore it, but consider it a link that must exist - which would break
whenever those people would interact with the people who ignore it, and
think that it's superfluous.
This is why it has to have real meaning. If there are no rules, things
will break. Some things will pull them, others won't, yet third things
will do random things.
If you just want to have something that "follows" an archive, it's easy
enough to do: have a totally separate ref, that is a real branch, but may
not even contain any files at all. You can - perfectly validly - have a
chain of commits where all the information is in the "free-form" text area
as far as git is concerned, but where the trees are all empty.
You'll find that all git users can pull such a commit, and you can use all
the normal git ops on them, and you can hide your own metadata in there.
And it would still be a valid git tree - your metadata would be your
private thing, and you can keep it along-side the "normal" git data, and
you can have your own "extended fsck", and "git pull/push" still continues
to work.
Junio does something like that with the "todo" branch, for example (it's
human-readable, not automated, but that doesn't really change anything).
You can do
git ls-tree todo
git cat-file blob todo:Porcelainistas | less -S
and in general do anything you damn well please there. WITHOUT making
up any new (and unnecessary) format semantics that nobody else cares
about and that don't have very well-specified meaning.
Linus
next prev parent reply other threads:[~2006-04-25 17:04 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-25 3:54 [RFC] [PATCH 0/5] Implement 'prior' commit object links Sam Vilain
2006-04-25 4:31 ` [PATCH 1/5] add 'prior' link in commit structure Sam Vilain
2006-04-25 5:18 ` Junio C Hamano
2006-04-25 4:31 ` [PATCH 2/5] git-merge-base: follow 'prior' links to find merge bases Sam Vilain
2006-04-25 5:19 ` Junio C Hamano
2006-04-25 4:31 ` [PATCH 4/5] git-commit-tree: add support for prior Sam Vilain
2006-04-25 4:31 ` [PATCH 3/5] commit.c: parse 'prior' link Sam Vilain
2006-04-25 4:31 ` [PATCH 5/5] git-commit: add --prior to set prior link Sam Vilain
2006-04-25 4:34 ` [RFC] [PATCH 0/5] Implement 'prior' commit object links Sam Vilain
2006-04-25 5:16 ` Junio C Hamano
2006-04-25 23:19 ` Sam Vilain
2006-04-26 5:06 ` Jakub Narebski
2006-04-26 5:22 ` Jakub Narebski
2006-04-26 5:36 ` [OT] " Junio C Hamano
2006-04-26 6:35 ` Jakub Narebski
2006-04-26 6:50 ` Junio C Hamano
2006-04-26 7:22 ` Jakub Narebski
2006-04-26 7:50 ` Junio C Hamano
2006-04-26 8:44 ` Jakub Narebski
2006-04-26 9:21 ` Junio C Hamano
2006-04-26 9:28 ` Jakub Narebski
2006-04-26 6:51 ` Sam Vilain
2006-04-25 6:44 ` [RFC] [PATCH 0/5] Implement 'prior' commit object links (and other commit links ideas) Jakub Narebski
2006-04-25 7:29 ` Junio C Hamano
2006-04-25 7:43 ` Jakub Narebski
[not found] ` <20060425043436.2ff53318.seanlkml@sympatico.ca>
2006-04-25 8:34 ` sean
[not found] ` <20060425045752.0c6fbc21.seanlkml@sympatico.ca>
2006-04-25 8:57 ` sean
2006-04-25 9:10 ` Jakub Narebski
2006-04-25 9:58 ` Junio C Hamano
2006-04-25 10:08 ` Jakub Narebski
2006-04-29 14:59 ` Jakub Narebski
2006-04-25 15:21 ` Linus Torvalds
2006-04-25 15:40 ` Linus Torvalds
[not found] ` <20060425121700.2d1a0032.seanlkml@sympatico.ca>
2006-04-25 16:17 ` sean
2006-04-25 17:04 ` Linus Torvalds [this message]
2006-04-26 11:25 ` Andreas Ericsson
2006-04-26 12:01 ` Jakub Narebski
2006-04-25 16:27 ` Jakub Narebski
2006-04-25 17:11 ` Linus Torvalds
2006-04-25 17:36 ` Jakub Narebski
2006-04-25 17:57 ` Linus Torvalds
2006-04-25 18:06 ` Linus Torvalds
2006-04-25 18:24 ` Jakub Narebski
[not found] ` <20060425135250.5fd889f4.seanlkml@sympatico.ca>
2006-04-25 17:52 ` sean
2006-04-25 18:08 ` Linus Torvalds
[not found] ` <20060425141412.5c115f51.seanlkml@sympatico.ca>
2006-04-25 18:14 ` sean
2006-04-25 18:26 ` Linus Torvalds
2006-04-25 18:41 ` Jakub Narebski
2006-04-25 18:52 ` Linus Torvalds
2006-04-25 19:00 ` Jakub Narebski
2006-04-25 22:17 ` Jason Riedy
[not found] ` <20060425144525.3ef957cf.seanlkml@sympatico.ca>
2006-04-25 18:45 ` sean
2006-04-25 19:00 ` Linus Torvalds
2006-04-25 19:18 ` Junio C Hamano
2006-04-25 19:34 ` Linus Torvalds
2006-04-25 19:51 ` Junio C Hamano
2006-04-25 19:58 ` Linus Torvalds
2006-04-26 12:42 ` Jakub Narebski
2006-04-25 19:00 ` Junio C Hamano
2006-04-25 19:09 ` Linus Torvalds
2006-04-25 18:34 ` Jakub Narebski
2006-04-25 23:18 ` Sam Vilain
2006-04-25 15:10 ` [RFC] [PATCH 0/5] Implement 'prior' commit object links Linus Torvalds
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=Pine.LNX.4.64.0604250952490.3701@g5.osdl.org \
--to=torvalds@osdl.org \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=junkio@cox.net \
--cc=seanlkml@sympatico.ca \
/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).