From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Reitter Newsgroups: gmane.emacs.devel Subject: Re: Using Git to manage your Emacs changes Date: Wed, 21 Apr 2010 14:12:36 -0400 Message-ID: <4A1FFF2C-5794-4D58-B26B-07CD7FC0BB74@gmail.com> References: <87aaswaf2t.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1271873782 1772 80.91.229.12 (21 Apr 2010 18:16:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 21 Apr 2010 18:16:22 +0000 (UTC) Cc: Andreas Schwab , "emacs-devel@gnu.org devel" To: Ted Zlatanov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 21 20:16:20 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O4eT1-000404-Dq for ged-emacs-devel@m.gmane.org; Wed, 21 Apr 2010 20:16:15 +0200 Original-Received: from localhost ([127.0.0.1]:49642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4eSw-0003yY-Mk for ged-emacs-devel@m.gmane.org; Wed, 21 Apr 2010 14:16:02 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O4ePs-0001YX-48 for emacs-devel@gnu.org; Wed, 21 Apr 2010 14:12:52 -0400 Original-Received: from [140.186.70.92] (port=53823 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4ePo-0001W2-IK for emacs-devel@gnu.org; Wed, 21 Apr 2010 14:12:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O4ePm-0005sq-AU for emacs-devel@gnu.org; Wed, 21 Apr 2010 14:12:48 -0400 Original-Received: from mail-qy0-f194.google.com ([209.85.221.194]:52231) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4ePm-0005qy-7f for emacs-devel@gnu.org; Wed, 21 Apr 2010 14:12:46 -0400 Original-Received: by mail-qy0-f194.google.com with SMTP id 32so1204547qyk.12 for ; Wed, 21 Apr 2010 11:12:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=VFl8x21C/PyX5/+w9+gDX5Is4gJaPUwrLTLymVUui50=; b=TG3Pp+Sx6wT/hC3kxmuPEU7OtYj/lJxKEzDupeNe6vMdxf/R3jCVLfAFz7aBhRJa94 fQ3iwU6AzE5tMw8HElG+r6crtVFe+XPEyyr//+RgrVM4uQ6eamNOvksa8C3exEhK7dQ4 60ETyhS/ZBImbjAAmf9bl3PFhm9WonFDSgq+M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=E+nyyssciioBp2FNc1ynm5kTNOo5Z8DFaIMGUQepdF70SySwe7v0MjGPJ5FrqicGiL R7M8YITR0Cx8iwazSIO7nYR00hB4E/h0nQVOXYIfiu8NKtPp2/mUr9C9wDr3uf0SW4vt 4R0p1+onxkwp3XYXEZQiGqr3H4LnEe5yHOAjI= Original-Received: by 10.229.192.7 with SMTP id do7mr5213166qcb.71.1271873560156; Wed, 21 Apr 2010 11:12:40 -0700 (PDT) Original-Received: from scarlett.psy.cmu.edu (SCARLETT.PSY.CMU.EDU [128.2.249.106]) by mx.google.com with ESMTPS id x34sm4621910qce.3.2010.04.21.11.12.37 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 21 Apr 2010 11:12:38 -0700 (PDT) In-Reply-To: <87aaswaf2t.fsf@lifelogs.com> X-Mailer: Apple Mail (2.1078) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123995 Archived-At: On Apr 21, 2010, at 1:30 PM, Ted Zlatanov wrote: >=20 > DR> What about the reliable, simple, wonderful git mirror at = http://repo.or.cz/w/emacs.git ? >=20 > How reliable is it WRT recent commits? Do they show up quickly or is > there a manual process? We're just discussing something similar > concerning Gnus <-> Emacs synchronization so this could help us. I find it very reliable. As far as I know, it is updated manually and = at least daily, so it is usually very current. You should ask Andreas = if there have been any problems with the conversion requiring manual = intervention; if not, it could probably be automated and done hourly or = so. A big, big thank you from me for maintaining it. The bigger issue with this is that the mirror isn't perfectly = "official", which means that it could go away, or, worse, be rebased. = Essentially this happened when Emacs switched from CVS to Bzr, and the = git mirror that we used to have on Savannah went away. The new mirror = wasn't compatible. Re-basing is not an easy option for Aquamacs, due to multiple past = merges. Right now we're carrying around both histories (the old Git = mirror and the new one). So it's maybe 200.000 revisions. Ultimately I = might be able to rewrite it, but I'm waiting for the Git mirror to be = automated. Overall, working on my downstream project has been great with git. = Merges are fast and very reliable. A git-pull from the Cz only takes a = few seconds; same for the merge. I set up to three branches for my = project (Emacs 22 based, Emacs 23 based, and Emacs 24/trunk based). The = 23 one merges directly into the 24 one, and the 22 one cherry-picks = bug-fixes (but not features) from the 23 one. Where conflicts arise, I = use "git mergetool" which fires up FileMerge (a wonderful graphical = tool). I use GitX occasionally to visualize some piece of history or = search for a change. GitX is slow with those 200k revisions. I usually = I use the command line or Emacs VC, especially for showing diffs, logs, = and "git blame" (C-x v g). I use the "git new-workdir" extension to = keep multiple branches in parallel without having to have separate = copies of the repository. I have a "speed" complaint: when Emacs opens a file it does some status = check with Git before actually displaying it (rather than in the = background). The first time, this takes a while. Also, on my old = laptop, git-blame takes maybe 20 seconds on the large source files, = which is unnecessary given that one usually just wants "blame" for a few = lines of code. Generally though, it's blazingly fast; I've had no strange error message = from git so far, and I've had no incompatibilities with git versions or = repositories either. Where I make mistakes of my own with git, I can = often "git reset --hard" to rewind my changes unless I've already pushed = them to our server (github).=20 I hope this helps you in some way; if you have questions, do get in = touch privately. I reckon most people here aren't too interested in = this.=