All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Grzegorz Kossakowski <grek@tuffmail.com>
Cc: Peter Harris <git@peter.is-a-geek.org>, git@vger.kernel.org
Subject: Re: How to clone git repository with git-svn meta-data included?
Date: Mon, 8 Dec 2008 08:10:49 -0800	[thread overview]
Message-ID: <20081208161049.GB31551@spearce.org> (raw)
In-Reply-To: <493C1F36.7050504@tuffmail.com>

Grzegorz Kossakowski <grek@tuffmail.com> wrote:
> Peter Harris pisze:
> >> What if A was not fair and has rewritten a few commits coming from B so they contain malicious code?
> >> How we can detect something like that and how C be sure that what he merges is really work
> >> attributed by correct names?
> > 
> > If C doesn't trust A, C should not pull from A. C should pull only
> > from (trusted) B. Presumably B knows who (of A and B) did which work,
> > and B's repository can be trusted?
> > 
> > If neither of A or B can be trusted, then you have problems that a
> > computer cannot solve for you.
> 
> Yep, I was having in mind the case when both A and B are untrusted. I don't want my computer to
> check if something coming from A or B is safe or not I just want to know which bits are coming from
> A and which from B.
> 
> This is really important for us because of legal reasons.

ASF probably has issues similar to that of the Android project.

In Android we built Gerrit[1] to handle this validation of identity
for us, and to keep track of the contributor agreements each
individual and corporation has signed.  Changes aren't accepted
into Gerrit unless the user has an accepted CLA in the data store.

*1* http://review.source.android.com/

Gerrit 2 is actively under development and is being ported off of
Google App Engine, into a pure Java webapp.  I'm running it under
Jetty, but it should work just as well under Tomcat.  :-)

If the ASF becomes more committed to supporting Git, Gerrit may be
a good way to answer some of the questions you are having about
validating identity of changes.  Plus its a handy source code
review tool.
 
> > You could maybe use signed tags ("git help tag") - each contributor
> > could sign a certain tree state, [...]
> 
> The question is why Git doesn't sign all commits by default but only tags? Creating tags all the
> time is rather tedious process and seems to have no sense, right?

Yea, its tedious to unlock your GnuPG key every time you make a
commit.  Especially if you are just rebasing a series or something
to fix a minor mistake 5 commits back before uploading somewhere.
 
> Does it mean that with current Git design it's the best to not use advanced features of Git like
> tree merging but simply go with posting e-mails with patches instead if contributors cannot be trusted?

Most Git projects rely on patches sent to an email list, with
a single maintainer applying them to to his/her repository, and
publishing the result.  The maintainer is thus forced to keep track
of the CLAs (if the project uses such things) and just trust the
From address of the message.

CLAs in the kernel and in git itself are less enforced than say
what ASF or Android requires.

Some Git projects give write access to the master repository to
multiple trusted parties; SAMBA and X.org are good examples of this
sort of strategy.  But I think in these cases those who have write
access are also very long standing members of the development
community who have known each other in person for many years,
perhaps far longer than a DVCS concept has existed.  So trust
between those with direct write access is slightly less of an
issue for these projects.

So long story short, I think Gerrit may be worth the ASF's time,
if Git is a serious consideration for replacing SVN.  But while a
project is based in SVN I think the best you can do with Git is
publish an automatically updated git-svn mirror and permit only
use of "git svn dcommit" to upload back into the SVN repository.

-- 
Shawn.

  parent reply	other threads:[~2008-12-08 16:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-06 12:15 How to clone git repository with git-svn meta-data included? Grzegorz Kossakowski
2008-12-07  8:43 ` Jacob Helwig
2008-12-08  0:03   ` Nick Andrew
2008-12-07 16:57 ` Peter Harris
2008-12-07 19:08   ` Grzegorz Kossakowski
2008-12-07 20:30     ` Peter Harris
2008-12-07 22:02       ` Grzegorz Kossakowski
2008-12-07 23:51         ` Peter Harris
2008-12-08 13:10         ` Michael J Gruber
2008-12-08 18:26           ` Grzegorz Kossakowski
2008-12-08 18:40             ` Peter Harris
2008-12-08 18:43               ` Grzegorz Kossakowski
2008-12-09  9:08                 ` Sam Vilain
2008-12-09 20:57                   ` Grzegorz Kossakowski
2008-12-09  8:53             ` Michael J Gruber
2008-12-08 16:10     ` Shawn O. Pearce [this message]
2008-12-08 19:04       ` Grzegorz Kossakowski

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=20081208161049.GB31551@spearce.org \
    --to=spearce@spearce.org \
    --cc=git@peter.is-a-geek.org \
    --cc=git@vger.kernel.org \
    --cc=grek@tuffmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.