Return-Path: Delivered-To: apmail-infrastructure-dev-archive@minotaur.apache.org Received: (qmail 28860 invoked from network); 5 Apr 2011 06:28:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 5 Apr 2011 06:28:52 -0000 Received: (qmail 86831 invoked by uid 500); 5 Apr 2011 06:28:52 -0000 Delivered-To: apmail-infrastructure-dev-archive@apache.org Received: (qmail 86700 invoked by uid 500); 5 Apr 2011 06:28:51 -0000 Mailing-List: contact infrastructure-dev-help@apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: infrastructure-dev@apache.org Delivered-To: mailing list infrastructure-dev@apache.org Received: (qmail 86361 invoked by uid 99); 5 Apr 2011 06:28:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Apr 2011 06:28:47 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of kristian.rosenvold@gmail.com designates 209.85.215.178 as permitted sender) Received: from [209.85.215.178] (HELO mail-ey0-f178.google.com) (209.85.215.178) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Apr 2011 06:28:38 +0000 Received: by eya25 with SMTP id 25so16348eya.23 for ; Mon, 04 Apr 2011 23:28:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:subject:from:to:in-reply-to:references :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=T+Xll54LmI6JgYWu96klhclyw1KrC5uN5aw9plqFvr0=; b=tTvGyYdZZNwLdA9h59z7ssqJCv60TqxLsz9fo648GFWP7C8ipB5W3v8LMfxNTUOaDs gKBTgG6a/WznnYDk07AQ3ZrNU09P26xstL6UPRzNi1pIhN3hTSESYI77ims+8BAgNuYN lwZL+zLU8NHmivvt8o/MEAss+v+UBjZW6DGa4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:in-reply-to:references:content-type:date:message-id :mime-version:x-mailer:content-transfer-encoding; b=NJd8KHNgy7WUODPK0p2ypfCLb1rSWsoa69yT6iL+t6ldFeODBbBLDT63Gf1cAK3gzn B8vXJTSpfjPiutuvsI3HSMS90fQ4Pu+9GZoPJ73ywZRZn1vWt2e8KOxTVNAS8LzqmDf5 lyYr0/v3VQZTIEVj/j69igPckmuVQRU/jNwuU= Received: by 10.213.22.71 with SMTP id m7mr1977791ebb.123.1301984897814; Mon, 04 Apr 2011 23:28:17 -0700 (PDT) Received: from [192.168.1.13] (36.205.9.46.customer.cdi.no [46.9.205.36]) by mx.google.com with ESMTPS id k51sm585805eei.17.2011.04.04.23.28.16 (version=SSLv3 cipher=OTHER); Mon, 04 Apr 2011 23:28:16 -0700 (PDT) Subject: Re: Current use of GitHub From: Kristian Rosenvold To: infrastructure-dev@apache.org In-Reply-To: <910485F1-B4F2-45DA-A07D-0D2857A01447@yahoo.com> References: <02f801cbf1ca$ad4b9290$07e2b7b0$@16degrees.com.au> <80EF617B-462D-4A57-AB56-C55472952486@gmail.com> <63228BD0-C74B-478B-ADD1-30C3D20933D2@yahoo.com> <910485F1-B4F2-45DA-A07D-0D2857A01447@yahoo.com> Content-Type: text/plain; charset="UTF-8" Date: Tue, 05 Apr 2011 08:28:10 +0200 Message-ID: <1301984890.5485.34.camel@chunky> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org *All* git-svn based workflows involve rebasing (rewriting history). By standard git wisdom that makes your workflow single-user unless you have quite advanced git users. There are several strategies for collaboration even in this scenario, but all of them only caters for "known" collaborators; in a small group of people you can decide to work git-only on a branch that *stays* anchored at a specific svn version for the scope of the collaboration. Or you can have one person in the group run git rerere and have her do all the update-merges from svn trunk (but still stay on a separate branch for the scope of the collaboration). This person (and only her!) should be able to do a rebase & squash at the end of the collaboration effort and commit back to svn. Most people are aware that git creates SHA1 hashes for each commit. But git also creates SHA1 hashes of the *diff content* used in diff based operations such as rebase, which means that you can actually safely move an unmodified diff around in history and expect other users to be able to recover from it (at least strong git users;). This is the reason squashing is even more frowned upon, when you squash you also change the SHA1 of the diff, meaning it becomes much harder (impossible?) to follow rebases. But still, we squash when committing to svn. But given the way we tag our svn commits with jira references, it's generally possible for an informed git-svn user to understand the rebases/squashes going on. But it's definitely not for the git beginners and IMO it's a bit of a half-perverted git workflow that makes git look bad. But these are the constraints of working with svn-backed git and I have no indication they will go away. The only real "solution" to this problem is ditching svn as backing store, something I truely hope will be done in due time, but I suppose that's a different discussion. Github does a good git-backed svn ;) Kristian