all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: lekktu@gmail.com, emacs-devel@gnu.org
Subject: Re: Workflow to accumulate individual changes?
Date: Sun, 03 Jan 2010 00:30:44 +0900	[thread overview]
Message-ID: <87oclcmsm3.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <83skaoeutl.fsf@gnu.org>

Eli Zaretskii writes:
 > > From: "Stephen J. Turnbull" <stephen@xemacs.org>
 > > Date: Sat, 02 Jan 2010 12:46:30 +0900
 > > Cc: Emacs developers <emacs-devel@gnu.org>

Urk, I'd been working in Mercurial and mixed semantics.  (I really,
really hate the way all the DVCSes insist on using each others'
command names and features but with different semantics attached to
the same name.)  I think Óscar got it right, though.  After testing,
this should be revised as below

 > > bzr branch trunk build-test

A lightweight checkout is often recommended here instead of branch:

    bzr checkout --lightweight trunk build-test

It's more efficient.

 > > 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

Oops, this is where I went WRONG:

 > >   bzr checkout ../fix$i

RIGHT:

bzr switch ../fix$i

 > >   make                    # Look Ma, no 'bootstrap'!
 > >   make test
 > > done
 > 
 > What is the semantics of "bzr checkout ../fix$i" in this case?  What
 > does it do, exactly?

(Checkout in fact will error here, or perhaps produce a fix$i subtree.
Not what you want.)

"bzr switch fix$i" says

    Purpose: Set the branch of a checkout and update.
    Usage:   bzr switch TO_LOCATION

    Options:
      --force              Switch even if local commits will be lost.
      -v, --verbose        Display more information.
      -q, --quiet          Only display errors and warnings.
      --usage              Show usage message and options.
      -b, --create-branch  Create the target branch from this one
                           before switching to it.
      -h, --help           Show help message.

    Description:
      For lightweight checkouts, this changes the branch being
      referenced.  For heavyweight checkouts, this checks that there
      are no local commits versus the current bound branch, then it
      makes the local branch a mirror of the new location and binds to
      it.

# In informal terms, the above says "this workspace now refers to the
# new branch for VCS information."

      In both cases, the working tree is updated and uncommitted
      changes are merged. The user can commit or revert these as they
      desire.

# The update happens automatically and immediately upon "bzr switch".
# In the workflow described above, the "uncommitted changes" are the
# build products generated by "make bootstrap", "make", and "make
# test".  In this workflow, no commits should ever happen in this
# tree; it is purely for the convenience of testing since you will
# have a usable bootstrapped tree.  (Of course if the changes from
# branch "fix1" to branch "fix2" would have broken the build and need
# a new "make bootstrap" under CVS, you'll need that here, too.)
  
      Pending merges need to be committed or reverted before using
      switch.

# The workflow described above should have no pending merges in this
# tree.  The only VCS operation you do here after initialization is
# "bzr switch", which is sort of like "cvs update -r" for this workflow.

      The path to the branch to switch to can be specified relative to
      the parent directory of the current branch. For example, if you
      are currently in a checkout of /path/to/branch, specifying
      'newbranch' will find a branch at /path/to/newbranch.

# Don't you just love DWIM?

      Bound branches use the nickname of its master branch unless it
      is set locally, in which case switching will update the the
      local nickname to be that of the master.

# I don't know what the above means, exactly; I don't use nicknames.

 > Bazaar docs are not very clear on that, to say the least:
 > 
 >     Purpose: Create a new checkout of an existing branch.
 > 
 > But fix$i is already an existing branch, and one with local changes,
 > so this ``create'' seems not quite the right word here.

My bad, I did warn that my syntax might be wrong.

 > (Btw, note the tricky convention regarding slashes, not for the faint
 > of heart IMO.)

Heh.  Emacsen users should be used to such things, though.





  reply	other threads:[~2010-01-02 15:30 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
2010-01-02  9:10       ` Eli Zaretskii
2010-01-02 15:30         ` Stephen J. Turnbull [this message]
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

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

  git send-email \
    --in-reply-to=87oclcmsm3.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=eliz@gnu.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 external index

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

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.