unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Juanma Barranquero <lekktu@gmail.com>
Cc: Emacs developers <emacs-devel@gnu.org>
Subject: Re: Workflow to accumulate individual changes?
Date: Sat, 02 Jan 2010 12:46:30 +0900	[thread overview]
Message-ID: <87y6khmand.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <f7ccd24b1001011756s659f2a38j498c42798a879b84@mail.gmail.com>

Juanma Barranquero writes:

 > Well, if you read the note, you know what am I concerned about: not
 > the time for checking out the files, but the time to get the branch in
 > a runnable state. On my computer, "bzr branch trunk/ test/" is ~35s,
 > while "make bootstrap" is ~20min.

Ah, I skipped over that.

The way that is often recommended to handle that is to have a test
tree, which is setup as a checkout.  So

bzr branch trunk build-test
cd build-test
make bootstrap
make test                 # if you like, but should be OK :-)
for i = 1 2 3; do
  cd ..
  bzr branch trunk fix$i
  cd fix$i
  # hack
  bzr commit -m "fix$i"
  cd ../build-test
  bzr checkout ../fix$i
  make                    # Look Ma, no 'bootstrap'!
  make test
done

YMMV, and caveat hacer: I haven't used this workflow personally, nor
have I tested that my command syntax is correct.

 > (Well, colocated branches à la git would be wonderful for this
 > case...)

Maybe someday, but AFAICS the main candidates for developing such
(Aaron Bentley and Robert Collins) are putting their efforts into
quilt-cum-VCS efforts ("pipelines" and "looms", respectively).

Somebody like you who has a fair amount of DVCS knowledge already (I
don't know how much that is exactly but I'm pretty sure from your
comments that it is sufficient for this) should look at pipelines
(similar to Mercurial queues, and maybe Stacked Git) and looms.
Pipelines really do have a sequential nature to them, which might or
might not get in the way, and AFAIK they don't yet have an mq-like
guard mechanism.  Looms are an original idea of Robert's and some
folks I really respect love them until the fur rubs off.  In
particular, they can sort of be abused in a "guard"-like fashion, I
think.

But it will require experimentation; neither pipelines nor looms are
documented up to Bazaar's usual standards.  (I agree with Eli about
those standards, by the way; that's why I think experimenting with
these requires "sufficient DVCS background".)

 > > If you have a series of one-commit changes, the cheapest way to do it
 > > would be with rebase.
 > 
 > That seems to be the consensus, yes.

The methods suggested above might be useful too.  For one-off patches,
I use mq all the time because Mercurial's support for colocated
branches "should be indented 6 feet downward", at least from my
relatively git-centric viewpoint.  But I also use guards extensively
because I often submit even one-offs for review, so it's not always
the case that writing order is push order.  I don't know offhand how
to emulate guards in bzr.





  parent reply	other threads:[~2010-01-02  3:46 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-30 21:34 Workflow to accumulate individual changes? Juanma Barranquero
2009-12-30 21:37 ` Juanma Barranquero
2009-12-30 21:46 ` Óscar Fuentes
2009-12-30 23:57   ` Juanma Barranquero
2009-12-31  0:21     ` Óscar Fuentes
2009-12-31  0:27       ` Juanma Barranquero
2009-12-31  1:04     ` Óscar Fuentes
2009-12-31  1:33       ` Juanma Barranquero
2009-12-31  1:48         ` Óscar Fuentes
2009-12-31  2:22           ` Juanma Barranquero
2009-12-31  4:21         ` Eli Zaretskii
2009-12-31  4:36           ` Juanma Barranquero
2009-12-31  5:12             ` Miles Bader
2009-12-31 10:15               ` Eli Zaretskii
2009-12-31 10:44             ` Eli Zaretskii
2009-12-31 12:37               ` Juanma Barranquero
2009-12-31 19:44                 ` Karl Fogel
2009-12-31 20:16                   ` Eli Zaretskii
2009-12-31 20:41                   ` Juanma Barranquero
2010-01-01  2:54                   ` Richard Stallman
2010-01-01 12:35                     ` Stephen J. Turnbull
2010-01-01 13:49                   ` Stephen J. Turnbull
2009-12-31  5:06           ` Óscar Fuentes
2009-12-31 10:26             ` Eli Zaretskii
2009-12-31 12:28               ` Juanma Barranquero
2009-12-31 18:27             ` Eli Zaretskii
2009-12-31 18:59               ` Óscar Fuentes
2009-12-31 20:39               ` Juanma Barranquero
2010-01-01 13:53     ` Stephen J. Turnbull
2010-01-01 14:38       ` Eli Zaretskii
2009-12-30 22:54 ` Giorgos Keramidas
2009-12-31  0:11   ` Juanma Barranquero
2009-12-31  9:21     ` Andreas Schwab
2009-12-31 10:11       ` Eli Zaretskii
2009-12-31 11:44         ` Andreas Schwab
2009-12-31 12:23           ` Eli Zaretskii
2009-12-31 12:38             ` Juanma Barranquero
2009-12-31 13:25               ` Eli Zaretskii
2009-12-31 13:37                 ` Juanma Barranquero
2009-12-31 14:13                   ` Eli Zaretskii
2009-12-31 13:43             ` Giorgos Keramidas
2009-12-31 13:53               ` Juanma Barranquero
2009-12-31 14:07                 ` Alfred M. Szmidt
2009-12-31 14:16                   ` Juanma Barranquero
2010-01-01 15:38                     ` Alfred M. Szmidt
2010-01-01 17:53                       ` David Kastrup
2010-01-01  2:55                   ` Richard Stallman
2010-01-01  4:03                     ` Óscar Fuentes
2010-01-01  8:41                       ` Eli Zaretskii
2010-01-01 10:04                         ` Óscar Fuentes
2010-01-02 15:44                           ` Richard Stallman
2010-01-01 12:19                         ` Andreas Schwab
2010-01-01 14:33                           ` Eli Zaretskii
2010-01-01 14:48                             ` Andreas Schwab
2010-01-01 19:18                               ` Karl Fogel
2010-01-01 19:56                                 ` Eli Zaretskii
2010-01-01 20:09                                   ` Chong Yidong
2010-01-01 21:34                                     ` Eli Zaretskii
2010-01-01 20:13                                   ` Karl Fogel
2010-01-01 21:35                                     ` Eli Zaretskii
2010-01-01 21:25                                   ` Óscar Fuentes
2010-01-01 21:34                                     ` Eli Zaretskii
2010-01-01 22:58                                       ` Andreas Schwab
2010-01-01 20:07                                 ` Teemu Likonen
2010-01-01 20:12                                   ` Karl Fogel
2010-01-01 21:08                                     ` Teemu Likonen
2010-01-02  5:00                                       ` Stephen J. Turnbull
2010-01-02  5:12                                         ` Karl Fogel
2010-01-02  5:24                                           ` Miles Bader
2010-01-02 11:43                                             ` Juanma Barranquero
2010-01-02 12:09                                               ` Miles Bader
2010-01-02 19:22                                                 ` Karl Fogel
2010-01-05  8:50                                                   ` Stephen J. Turnbull
2010-01-02  4:37                                 ` Stephen J. Turnbull
2010-01-01 14:59                         ` Stephen J. Turnbull
2010-01-01 15:30                           ` Eli Zaretskii
2010-01-01 15:38                     ` Alfred M. Szmidt
2009-12-31 14:08               ` David Kastrup
2009-12-31 19:47                 ` Karl Fogel
2009-12-31 20:14                   ` Chong Yidong
2009-12-31 20:36                     ` Óscar Fuentes
2009-12-31 20:44                     ` Juanma Barranquero
2009-12-31 14:12               ` Eli Zaretskii
2009-12-31 19:08               ` Stefan Monnier
2009-12-31 12:20       ` Juanma Barranquero
2010-01-01 12:33 ` Stephen J. Turnbull
2010-01-02  1:56   ` Juanma Barranquero
2010-01-02  2:28     ` Óscar Fuentes
2010-01-02  2:50       ` Juanma Barranquero
2010-01-02  9:11       ` Eli Zaretskii
2010-01-02 13:20         ` Juanma Barranquero
2010-01-02 13:17       ` Juanma Barranquero
2010-01-02  3:46     ` Stephen J. Turnbull [this message]
2010-01-02  9:10       ` Eli Zaretskii
2010-01-02 15:30         ` Stephen J. Turnbull
2010-01-02 17:05           ` Eli Zaretskii
2010-01-02 13:39       ` Juanma Barranquero

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=87y6khmand.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.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.
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).