From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org, "Michael S. Tsirkin" <mst@dev.mellanox.co.il>
Cc: Josef Weidendorfer <Josef.Weidendorfer@gmx.de>,
Junio C Hamano <junkio@cox.net>, Nicolas Pitre <nico@cam.org>
Subject: Re: [3/4] What's not in 1.5.2 (new topics)
Date: Fri, 18 May 2007 10:40:36 +0100 [thread overview]
Message-ID: <200705181040.37648.andyparkins@gmail.com> (raw)
In-Reply-To: <20070518085708.GC4708@mellanox.co.il>
On Friday 2007 May 18, Michael S. Tsirkin wrote:
> > I think that's the wrong solution. A change of source URL for a
> > submodule from what upstream uses to your own server is a _fork_ from
> > upstream, therefore you would fork your own branch in your supermodule
> > and alter .gitmodules to point at your server. Everybody is happy, and
> > the fork is recorded.
>
> Why should I record it? If the content is the same, the commit name should
> be the same, it shouldn't matter where did the content came from.
Because you have changed something that the upstream repository supplied with
no way of detecting it. It's the same as if upstream supplied
important_login_function.c and then you clone it; if your clone had a way of
changing important_login_function.c to add a backdoor and passing that to
people who clone from you without changing the commit hash that would be bad.
Submodules is the same; upstream might say
kernel git://git.kernel.org/kernel-2.6.git
Then you clone it and use the override system to override that to
kernel git://git.dodgykernel.org/backdoors.git
without having to change the repository.
The server should not be allowed to override the url that the client sees.
Only the client should make that decision.
> I wouldn't be happy: I have just cloned both project and superproject,
> but to re-publish the superproject using my clone of subproject, I have
> to create a new commit, which would have a different hash from the origin.
> So how do people know they can trust my tree?
That problem exists regardless of the method of changing URL - in your method
though the change is entirely unrecorded because you've changed something
that upstream supplied in an out-of-band manner.
> And what happens when the original super-project pulls from me -
> it seems that his .gitmodules will now point to my server?
Now that one is a good defence. Okay; I accept that changing .gitmodules
won't work. However, I don't accept that the server should be allowed to
supply overrides to the client. Another method is needed.
> > The override system is only there for the local repository (which always
> > takes precedence) not for the server provider to hide detail from those
> > checking the repo out.
>
> I really like it that currently, in git, there is no difference between a
> public and local repository. If the override system is only for the local
Of course there is a difference. .git/config is different; .git/refs is
different; .git/info/exclude is different; etc. These are all per-repository
settings - and there is no way for a server to force it's version of those
files on a client.
> So I have have cloned the supermodule and the submodule to my laptop -
> it's enough to edit .git/config and I can use the history locally - that's
> good. But now I try to clone the local tree - and a clone will try to go
> out to the URL which I cloned - bad.
Yep. That is the problem. In the end the only practical solution might be to
allow the server to supply part of the .git/config (which is essentially what
your suggestion would do); but I think that that is a big step to take and
has potential to be abused.
Andy
--
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com
next prev parent reply other threads:[~2007-05-18 9:40 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-16 22:47 [0/4] What's not in 1.5.2 (overview) Junio C Hamano
2007-05-16 22:47 ` [1/4] What's not in 1.5.2 (have been cooking in next) Junio C Hamano
2007-05-16 22:47 ` [2/4] What's not in 1.5.2 (will cook " Junio C Hamano
2007-05-16 22:47 ` [3/4] What's not in 1.5.2 (new topics) Junio C Hamano
2007-05-17 4:39 ` Andy Parkins
2007-05-17 5:21 ` Junio C Hamano
2007-05-17 7:51 ` Andy Parkins
2007-05-17 11:02 ` Alex Riesen
2007-05-17 12:46 ` Petr Baudis
2007-05-17 13:46 ` Jeff King
2007-05-17 16:10 ` Petr Baudis
2007-05-17 16:25 ` Jeff King
2007-05-17 17:30 ` Petr Baudis
2007-05-17 17:35 ` Jeff King
2007-05-17 18:49 ` Junio C Hamano
2007-05-18 12:58 ` Jeff King
2007-05-17 18:47 ` Junio C Hamano
2007-05-17 13:45 ` Nicolas Pitre
2007-05-17 21:58 ` Michael S. Tsirkin
2007-05-17 23:41 ` Josef Weidendorfer
2007-05-18 0:32 ` Steven Grimm
2007-05-18 4:50 ` Petr Baudis
2007-05-18 9:18 ` Josef Weidendorfer
2007-05-19 0:56 ` Torgil Svensson
2007-05-18 12:00 ` Jakub Narebski
2007-05-18 12:41 ` Petr Baudis
2007-05-19 16:38 ` Jakub Narebski
2007-05-18 18:37 ` Junio C Hamano
2007-05-18 18:40 ` Julian Phillips
2007-05-18 18:45 ` Junio C Hamano
2007-05-20 0:16 ` Petr Baudis
2007-05-25 9:55 ` News reader woes (was: Re: [3/4] What's not in 1.5.2 (new topics)) Jakub Narebski
2007-05-18 7:57 ` [3/4] What's not in 1.5.2 (new topics) Andy Parkins
2007-05-18 8:43 ` Josef Weidendorfer
2007-05-18 9:21 ` Andy Parkins
2007-05-18 11:08 ` Michael S. Tsirkin
2007-05-18 12:27 ` Josef Weidendorfer
2007-05-18 12:46 ` Michael S. Tsirkin
2007-05-18 15:06 ` Aidan Van Dyk
2007-05-18 15:31 ` Michael S. Tsirkin
2007-05-19 12:50 ` Sven Verdoolaege
2007-05-21 1:10 ` Jakub Narebski
2007-05-18 17:00 ` Junio C Hamano
2007-05-19 18:12 ` Michael S. Tsirkin
2007-05-19 19:56 ` Junio C Hamano
2007-05-18 8:57 ` Michael S. Tsirkin
2007-05-18 9:40 ` Andy Parkins [this message]
2007-05-18 10:16 ` Johannes Sixt
2007-05-18 11:22 ` Michael S. Tsirkin
2007-05-18 12:36 ` Andy Parkins
2007-05-19 1:02 ` Steven Grimm
2007-05-19 16:55 ` Josef Weidendorfer
[not found] ` <200705181524.40705.Josef.Weidendorfer@gmx.de>
[not found] ` <20070518133922.GK4708@mellanox.co.il>
[not found] ` <200705181751.15435.Josef.Weidendorfer@gmx.de>
2007-05-18 16:08 ` Petr Baudis
2007-05-18 16:21 ` Michael S. Tsirkin
2007-05-16 22:47 ` [4/4] What's not in 1.5.2 (other bits and pieces) Junio C Hamano
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=200705181040.37648.andyparkins@gmail.com \
--to=andyparkins@gmail.com \
--cc=Josef.Weidendorfer@gmx.de \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=mst@dev.mellanox.co.il \
--cc=nico@cam.org \
/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).