unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: David Reitter <david.reitter@gmail.com>
Cc: Emacs-Devel devel <emacs-devel@gnu.org>
Subject: Re: Switching CEDET from CVS to a Distributed VCS.
Date: Sun, 28 Jun 2009 15:17:27 +0900	[thread overview]
Message-ID: <87k52wyj9k.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <7024025A-9919-46C4-A06E-7878E2116A78@gmail.com>

David Reitter writes:
 > On Jun 25, 2009, at 1:48 PM, Stephen J. Turnbull wrote:
 > > I believe Bazaar now supports fastimport format in both directions.
 > >
 > > Interaction between git and Bazaar probably means you lose/munge
 > > VCS-specific metadata (Bazaar cares about revision numbers while git
 > > doesn't support them at all, and the revision ID formats are
 > > timestamp-specific in each VCS, so converting those in a
 > > roundtrippable way would require great care) in each direction, but
 > > with minimal care you should be able to preserve the history dag and
 > > core meta data (author information).
 > 
 > fast-import (bzr->git at least) keeps an index to facilitate fast  
 > incremental exports.
 > Suppose one has a commit in the git repo to be committed to the Bzr  
 > repo, would it be possible to
 > 
 > 1. convert a git patch (git-format-patch) to a Bazaar merge directive?

This is software, anything's possible.  Useful?  Probably not.  I
don't see why you'd want to do anything other than maintain pairs of
bzr-git bidi mirrored branches.  In particular, merge directives are
most useful if you have a formal review process and a patch queue
manager such as Bundle Buggy or PQM.  That's just so not Emacs.  Emacs
has committers, not reviewers.  Maybe CEDET has a more formal process,
but you still wouldn't want to use merge directives without automatic
help AFAICS.

 > 2. use fast-import/export to export just the patch?

I really don't see why you'd want to do this.  "Just patches" makes
a lot of sense if your name is Andrew Morton.  (Not necessarily
literally, but someone whose mission in life is managing such a
patch-based workflow.)

Agreed, compared to ideal, or even to git, bzr's performance sucks,
even after a 500% or so speed up in certain operations.  But
realistically, it's usable, unless you want to hang `(shell-command
"$VCS commit -a -m autocommit;$VCS log -10")' on your save-buffer-hook
as I do.

What bzr cannot do very well that git excels at is editing history.
bzr is a FORTRAN derivative.  For all practical purposes, unless
you're a bzr.dev, history is a linear array in each branch.  Unless
you really really know what you're doing, you don't want to do
anything but work linearly in each branch, and occasionally merge to
mainline.  But guess what?  Most people just want to work linearly in
each branch, and occasionally merge to mainline.  I see no problem
here, do you?

git is a LISP derivative.  If you are comfortable with cons, setcdr,
and mapcar, then you will be comfortable with git-commit, git-rebase,
and git-filter-branch.  And you will feel the power.  But hey, every
minute you spend playing with git is a minute you're not hacking
Emacs.  Is it worth it?

Seriously, if you're a git aficianado, set up the bidirectional
mirror, create a pushthrough script that pushes from the git repo to
the local bzr repo, and on from the local bzr repo to Emacs Central,
and (my best guess) be happy.  If you then find you're not happy yet,
*then* it's time to discuss these optimizations.  Both git and bzr are
flexible enough that you can be confident of finding ways to
streamline later if it's necessary.





  reply	other threads:[~2009-06-28  6:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1245882173.24086.14.camel@projectile.siege-engine.com>
2009-06-24 22:45 ` Switching CEDET from CVS to a Distributed VCS Lennart Borgman
2009-06-24 23:51   ` Eric M. Ludlam
2009-06-25  2:40   ` Miles Bader
2009-06-25 13:52     ` David Bernard
2009-06-25 16:04       ` [CEDET-devel] " Davi Diaz
2009-06-26  0:09         ` Miles Bader
2009-06-25 17:48     ` Stephen J. Turnbull
2009-06-25 18:24       ` David Reitter
2009-06-28  6:17         ` Stephen J. Turnbull [this message]
2009-06-28 11:45           ` David Reitter
2009-06-28 14:04             ` Stephen J. Turnbull
2009-06-28 14:29               ` David Reitter
2009-06-29 23:19                 ` Stephen J. Turnbull
2009-06-30  0:16                   ` David Reitter
     [not found]   ` <393CA42E-4553-4F2D-92D8-F0D3CEE19223@gmail.com>
2009-06-25  8:44     ` [CEDET-devel] " Lennart Borgman
2009-06-25 12:53       ` Stefan Monnier
2009-06-25 13:19       ` David Reitter

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k52wyj9k.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=david.reitter@gmail.com \
    --cc=emacs-devel@gnu.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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).