unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GNU Emacs is on Bazaar now.
@ 2009-12-27 22:55 Karl Fogel
  2009-12-28  6:46 ` Kenichi Handa
  2009-12-28 19:19 ` Eli Zaretskii
  0 siblings, 2 replies; 80+ messages in thread
From: Karl Fogel @ 2009-12-27 22:55 UTC (permalink / raw)
  To: emacs-devel

In case you missed it: GNU Emacs is on Bazaar now.  Please see
http://www.emacswiki.org/emacs/BzrForEmacsDevs for how to (re)obtain
your development sources from Bazaar.

The CVS repository is still around for read-only access (so 'cvs diff'
can tell you of any uncommitted local changes, for example).

Thanks to many people for pitching in on this transition, but especially
to Andreas Schwab, Jason Earl, Sylvain Beucler, and Stephen Turnbull.

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-27 22:55 GNU Emacs is on Bazaar now Karl Fogel
@ 2009-12-28  6:46 ` Kenichi Handa
  2009-12-28  6:55   ` Karl Fogel
  2009-12-28  9:19   ` Andreas Schwab
  2009-12-28 19:19 ` Eli Zaretskii
  1 sibling, 2 replies; 80+ messages in thread
From: Kenichi Handa @ 2009-12-28  6:46 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

In article <87d4206n80.fsf@canonical.com>, Karl Fogel <karl.fogel@canonical.com> writes:

> In case you missed it: GNU Emacs is on Bazaar now.  Please see
> http://www.emacswiki.org/emacs/BzrForEmacsDevs for how to (re)obtain
> your development sources from Bazaar.

I followed that page and created "quickfixex" branch.  Then,
I editted src/ChangeLog to add entries I forgot last time,
saved the file, and typed C-x v v C-c C-c.  Then I noticed
that "C-x v v C-c C-c" is enough to commit in CVS, but
perhaps not in Bazaar.  The above wiki page doesn't describe
what to do from Emacs to finish committing.  Should I do
this manually?

% bzr commit -m 'Add entries in ChangeLog'

---
Kenichi Handa
handa@m17n.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  6:46 ` Kenichi Handa
@ 2009-12-28  6:55   ` Karl Fogel
  2009-12-28  8:07     ` Kenichi Handa
  2009-12-28  9:19   ` Andreas Schwab
  1 sibling, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-28  6:55 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: emacs-devel

Kenichi Handa <handa@m17n.org> writes:
>> In case you missed it: GNU Emacs is on Bazaar now.  Please see
>> http://www.emacswiki.org/emacs/BzrForEmacsDevs for how to (re)obtain
>> your development sources from Bazaar.
>
> I followed that page and created "quickfixex" branch.  Then,
> I editted src/ChangeLog to add entries I forgot last time,
> saved the file, and typed C-x v v C-c C-c.  Then I noticed
> that "C-x v v C-c C-c" is enough to commit in CVS, but
> perhaps not in Bazaar.  The above wiki page doesn't describe
> what to do from Emacs to finish committing.  Should I do
> this manually?
>
> % bzr commit -m 'Add entries in ChangeLog'

You should do whatever the wiki page says; it is written from a
command-line perspective.  (I don't know what directory you intend the
above to run in, so I can't answer your question as asked.  The idea is
that you should merge your change from quickfixes to trunk, then commit
trunk -- since trunk is bound to upstream, the commit there will push
the changes to the upstream master.)

Anyone should go ahead and document the VC commands if they know them,
by the way.  For various reasons (having to do with spending much of my
time running development versions of version control systems), I got out
of the habit of using VC years ago, so I couldn't document VC on that
wiki page.

Best,
-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  6:55   ` Karl Fogel
@ 2009-12-28  8:07     ` Kenichi Handa
  2009-12-28  8:52       ` Andreas Schwab
  0 siblings, 1 reply; 80+ messages in thread
From: Kenichi Handa @ 2009-12-28  8:07 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel

Thank you for the quick responce.

In article <87637r610w.fsf@red-bean.com>, Karl Fogel <kfogel@red-bean.com> writes:

> Kenichi Handa <handa@m17n.org> writes:
>>> In case you missed it: GNU Emacs is on Bazaar now.  Please see
>>> http://www.emacswiki.org/emacs/BzrForEmacsDevs for how to (re)obtain
>>> your development sources from Bazaar.
> >
> > I followed that page and created "quickfixex" branch.  Then,
> > I editted src/ChangeLog to add entries I forgot last time,
> > saved the file, and typed C-x v v C-c C-c.  Then I noticed
> > that "C-x v v C-c C-c" is enough to commit in CVS, but
> > perhaps not in Bazaar.  The above wiki page doesn't describe
> > what to do from Emacs to finish committing.  Should I do
> > this manually?
> >
> > % bzr commit -m 'Add entries in ChangeLog'

> You should do whatever the wiki page says; it is written from a
> command-line perspective.

It says "Now you start editing. When you are done:".  For my
finger, "when you are done" meant "C-x C-s C-x v v C-c C-c"
in CVS and VC, and it was done before I realize that I'm now
in Bazaar.  :-(

> (I don't know what directory you intend the
> above to run in, so I can't answer your question as asked.

I'm now in "emacs/quickfixes" directory.

> The idea is
> that you should merge your change from quickfixes to trunk, then commit
> trunk -- since trunk is bound to upstream, the commit there will push
> the changes to the upstream master.)

Hmmm, ok, by follwoing the wiki page, I did these:

% bzr commit -m 'Add new entries to ChangeLog'
% cd ../trunk
% bzr pull
% bzr merge ../quickfixes
% bzr commit -m 'Merge: add new entries to ChangeLog'

I hope that is the right way.

But I have two questiongs.

Why do I need to supply similar comments twice?  Is it the
convention to follow that the second comment starts with
"Merge: ..."?

In CVS age, we don't add comments for changes of ChangeLog
file.  But bzr claims as below:

bzr: ERROR: empty commit message specified

when I do something like "% bzr commit -m ''".  Isn't it avoidable?

> Anyone should go ahead and document the VC commands if they know them,
> by the way.

I appreciate such a work very much.  The above procedure is
toooo annoying compared with the C-x v v C-c C-c in CVS age.

---
Kenichi Handa
handa@m17n.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  8:07     ` Kenichi Handa
@ 2009-12-28  8:52       ` Andreas Schwab
  2009-12-28 11:41         ` Juanma Barranquero
  2009-12-28 11:45         ` Kenichi Handa
  0 siblings, 2 replies; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28  8:52 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: Karl Fogel, emacs-devel

Kenichi Handa <handa@m17n.org> writes:

> In CVS age, we don't add comments for changes of ChangeLog
> file.

You never commit Changelog separately.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  6:46 ` Kenichi Handa
  2009-12-28  6:55   ` Karl Fogel
@ 2009-12-28  9:19   ` Andreas Schwab
  2009-12-28 11:44     ` Juanma Barranquero
  2009-12-28 11:47     ` Kenichi Handa
  1 sibling, 2 replies; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28  9:19 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: Karl Fogel, emacs-devel

Kenichi Handa <handa@m17n.org> writes:

> I followed that page and created "quickfixex" branch.

It doesn't make sense to create a branch for every little commit.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  8:52       ` Andreas Schwab
@ 2009-12-28 11:41         ` Juanma Barranquero
  2009-12-28 11:45         ` Kenichi Handa
  1 sibling, 0 replies; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-28 11:41 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Karl Fogel, emacs-devel, Kenichi Handa

On Mon, Dec 28, 2009 at 09:52, Andreas Schwab <schwab@linux-m68k.org> wrote:

> You never commit Changelog separately.

Unless you're committing just changes to the ChangeLog (fixes, typos,
etc.). But in that case, there should be a commit message.

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  9:19   ` Andreas Schwab
@ 2009-12-28 11:44     ` Juanma Barranquero
  2009-12-28 11:47     ` Kenichi Handa
  1 sibling, 0 replies; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-28 11:44 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel, Karl Fogel, Kenichi Handa

On Mon, Dec 28, 2009 at 10:19, Andreas Schwab <schwab@linux-m68k.org> wrote:

> It doesn't make sense to create a branch for every little commit.

The current recommended practice (in the BazarForEmacsDevs document)
is to have a quickfixes/ branch for such kind of small changes, and
never use the trunk/ branch directly (except to merge ../quickfixes or
the task branch and then commit).

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  8:52       ` Andreas Schwab
  2009-12-28 11:41         ` Juanma Barranquero
@ 2009-12-28 11:45         ` Kenichi Handa
  2009-12-28 12:08           ` Juanma Barranquero
                             ` (2 more replies)
  1 sibling, 3 replies; 80+ messages in thread
From: Kenichi Handa @ 2009-12-28 11:45 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: kfogel, emacs-devel

In article <m23a2vtr9o.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:

> Kenichi Handa <handa@m17n.org> writes:
> > In CVS age, we don't add comments for changes of ChangeLog
> > file.

> You never commit Changelog separately.

Ah, hmmm.... ok.   Here's another question.

For instance, I recently committed these changes in CVS
(just before it becomes readonly)

2009-12-25  Kenichi Handa  <handa@m17n.org>

	* composite.h (composition_adjust_point): Update prototype.

	* composite.c (composition_reseat_it): Don't make a composition
	spanning over point.
	(CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as
	composable characters.
	(composition_adjust_point): New arg NEW_PT.  Callers changed.

	* keyboard.c (command_loop_1): Force redisplay if the last point
	was within a composition.
	(adjust_point_for_property): Don't adjust point for automatic
	composition when called after buffer modification.

At that time, each changed file got it's own CVS log because
I committed each file with C-x v v while supplying its own
log by using C-c C-a.

Now with bazaar, according to the wiki page, it seems that I
must commit all files at once with a single log, and thus
all changed files are given the same log.  Is that true?  Is
that the right thing?

If so, is there any convention about the format of the log?
Can I use a relevant part of ChangeLog file as is?

---
Kenichi Handa
handa@m17n.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28  9:19   ` Andreas Schwab
  2009-12-28 11:44     ` Juanma Barranquero
@ 2009-12-28 11:47     ` Kenichi Handa
  2009-12-28 12:06       ` Andreas Schwab
  1 sibling, 1 reply; 80+ messages in thread
From: Kenichi Handa @ 2009-12-28 11:47 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: karl.fogel, emacs-devel

In article <m2r5qfsbg5.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:

> Kenichi Handa <handa@m17n.org> writes:
> > I followed that page and created "quickfixex" branch.

> It doesn't make sense to create a branch for every little commit.

No, I'm not going to do that.  I'll use that branch for
"One-Off Change" repeatedly.  Isn't that recommended by the
wiki page?

---
Kenichi Handa
handa@m17n.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 11:47     ` Kenichi Handa
@ 2009-12-28 12:06       ` Andreas Schwab
  2009-12-28 13:08         ` Kenichi Handa
  0 siblings, 1 reply; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28 12:06 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: karl.fogel, emacs-devel

Kenichi Handa <handa@m17n.org> writes:

> In article <m2r5qfsbg5.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:
>
>> Kenichi Handa <handa@m17n.org> writes:
>> > I followed that page and created "quickfixex" branch.
>
>> It doesn't make sense to create a branch for every little commit.
>
> No, I'm not going to do that.  I'll use that branch for
> "One-Off Change" repeatedly.

That's just the same.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 11:45         ` Kenichi Handa
@ 2009-12-28 12:08           ` Juanma Barranquero
  2009-12-28 13:10             ` Kenichi Handa
  2009-12-28 12:09           ` Andreas Schwab
  2009-12-28 13:51           ` Stephen J. Turnbull
  2 siblings, 1 reply; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-28 12:08 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: kfogel, Andreas Schwab, emacs-devel

On Mon, Dec 28, 2009 at 12:45, Kenichi Handa <handa@m17n.org> wrote:

> Now with bazaar, according to the wiki page, it seems that I
> must commit all files at once with a single log, and thus
> all changed files are given the same log.  Is that true?  Is
> that the right thing?

Yes.

> If so, is there any convention about the format of the log?
> Can I use a relevant part of ChangeLog file as is?

Yes, but it is useful to start the commit log with a one-line
description of the changes, because there are commands to show the
commits with their comments in "single line mode". For example, I
committed a change for vc-git, and the ChangeLog entry was this:

2009-12-28  Juanma Barranquero  <lekktu@gmail.com>

	Supersede color.diff settings in git log (bug#5211).

	* vc-git.el (vc-git-print-log): Pass "--no-color" to log to avoid
	escape chars in its output when the user has color.diff set to `always'.
	This fix works on git 1.4.2 and newer (released on 2006-08-13).

For the commit message I uses just the first line, but for more
extensive changes I would've used the whole ChangeLog entry.

Now, using "bzr log -l10 --line", you get:

99201: Juanma Barranquero 2009-12-28 [merge] Supersede color.diff
settings in git log (bug#5211).
99200: Juanma Barranquero 2009-12-28 [merge] Update .bzrignore.
99199: Juanma Barranquero 2009-12-28 Update autoload checksum.
99198: Karl Fogel 2009-12-27 [merge] Merge: update nt/INSTALL for
CVS->Bazaar switchover too.
99197: Karl Fogel 2009-12-27 [merge] Merge: document that we are on Bazaar now.
99196: Andreas Schwab 2009-12-27 Add .bzrignore
99195: Chong Yidong 2009-12-27 * minibuf.c (Fall_completions): Minor
optimization.
99194: Kevin Ryde 2009-12-26 * man.el
99193: Kevin Ryde 2009-12-26 (Man-bgproc-sentinel): When "-k foo"
produces no output show error
99192: Kevin Ryde 2009-12-26 Tweak a comment: it's man-db on gnu/linux
which agrees with posix that


    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 11:45         ` Kenichi Handa
  2009-12-28 12:08           ` Juanma Barranquero
@ 2009-12-28 12:09           ` Andreas Schwab
  2009-12-28 13:22             ` Xavier Maillard
  2009-12-28 13:51           ` Stephen J. Turnbull
  2 siblings, 1 reply; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28 12:09 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: kfogel, emacs-devel

Kenichi Handa <handa@m17n.org> writes:

> Now with bazaar, according to the wiki page, it seems that I
> must commit all files at once with a single log, and thus
> all changed files are given the same log.  Is that true?  Is
> that the right thing?

Each commit should contain a single, logically complete change, with the
commit message describing it.  That is independent of the underlying
VCS.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 12:06       ` Andreas Schwab
@ 2009-12-28 13:08         ` Kenichi Handa
  2009-12-28 19:59           ` Andreas Schwab
  0 siblings, 1 reply; 80+ messages in thread
From: Kenichi Handa @ 2009-12-28 13:08 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: karl.fogel, emacs-devel

In article <m2k4w7s3py.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:

> Kenichi Handa <handa@m17n.org> writes:
> > In article <m2r5qfsbg5.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:
> >
>>> Kenichi Handa <handa@m17n.org> writes:
>>> > I followed that page and created "quickfixex" branch.
> >
>>> It doesn't make sense to create a branch for every little commit.
> >
> > No, I'm not going to do that.  I'll use that branch for
> > "One-Off Change" repeatedly.

> That's just the same.

??? What is the same with what?

---
Kenichi Handa
handa@m17n.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 12:08           ` Juanma Barranquero
@ 2009-12-28 13:10             ` Kenichi Handa
  0 siblings, 0 replies; 80+ messages in thread
From: Kenichi Handa @ 2009-12-28 13:10 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: kfogel, schwab, emacs-devel

In article <f7ccd24b0912280408v58fe4d70j145ad8edefa7f32c@mail.gmail.com>, Juanma Barranquero <lekktu@gmail.com> writes:

> Yes, but it is useful to start the commit log with a one-line
> description of the changes, because there are commands to show the
> commits with their comments in "single line mode". For example, I
> committed a change for vc-git, and the ChangeLog entry was this:

> 2009-12-28  Juanma Barranquero  <lekktu@gmail.com>

> 	Supersede color.diff settings in git log (bug#5211).

> 	* vc-git.el (vc-git-print-log): Pass "--no-color" to log to avoid
> 	escape chars in its output when the user has color.diff set to `always'.
> 	This fix works on git 1.4.2 and newer (released on 2006-08-13).

> For the commit message I uses just the first line, but for more
> extensive changes I would've used the whole ChangeLog entry.

> Now, using "bzr log -l10 --line", you get:

> 99201: Juanma Barranquero 2009-12-28 [merge] Supersede color.diff
> settings in git log (bug#5211).
> 99200: Juanma Barranquero 2009-12-28 [merge] Update .bzrignore.
> 99199: Juanma Barranquero 2009-12-28 Update autoload checksum.
> 99198: Karl Fogel 2009-12-27 [merge] Merge: update nt/INSTALL for
> CVS->Bazaar switchover too.
> 99197: Karl Fogel 2009-12-27 [merge] Merge: document that we are on Bazaar now.
> 99196: Andreas Schwab 2009-12-27 Add .bzrignore
> 99195: Chong Yidong 2009-12-27 * minibuf.c (Fall_completions): Minor
> optimization.
> 99194: Kevin Ryde 2009-12-26 * man.el
> 99193: Kevin Ryde 2009-12-26 (Man-bgproc-sentinel): When "-k foo"
> produces no output show error
> 99192: Kevin Ryde 2009-12-26 Tweak a comment: it's man-db on gnu/linux
> which agrees with posix that

Ah, I see.  Thank you for the detailed explanation.

---
Kenichi Handa
handa@m17n.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 12:09           ` Andreas Schwab
@ 2009-12-28 13:22             ` Xavier Maillard
  0 siblings, 0 replies; 80+ messages in thread
From: Xavier Maillard @ 2009-12-28 13:22 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: kfogel, emacs-devel, handa


   Kenichi Handa <handa@m17n.org> writes:

   > Now with bazaar, according to the wiki page, it seems that I
   > must commit all files at once with a single log, and thus
   > all changed files are given the same log.  Is that true?  Is
   > that the right thing?

   Each commit should contain a single, logically complete change, with the
   commit message describing it.  That is independent of the underlying
   VCS.

In the RDBMS world, it is mroe or less an ACID transaction.

	Xavier
-- 
http://www.gnu.org
http://www.april.org
http://www.lolica.org




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 11:45         ` Kenichi Handa
  2009-12-28 12:08           ` Juanma Barranquero
  2009-12-28 12:09           ` Andreas Schwab
@ 2009-12-28 13:51           ` Stephen J. Turnbull
  2009-12-28 14:42             ` Juanma Barranquero
  2 siblings, 1 reply; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-28 13:51 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: kfogel, Andreas Schwab, emacs-devel

Kenichi Handa writes:

 > For instance, I recently committed these changes in CVS
 > (just before it becomes readonly)
 > 
 > 2009-12-25  Kenichi Handa  <handa@m17n.org>
 > 
 > 	* composite.h (composition_adjust_point): Update prototype.
 > 
 > 	* composite.c (composition_reseat_it): Don't make a composition
 > 	spanning over point.
 > 	(CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as
 > 	composable characters.
 > 	(composition_adjust_point): New arg NEW_PT.  Callers changed.
 > 
 > 	* keyboard.c (command_loop_1): Force redisplay if the last point
 > 	was within a composition.
 > 	(adjust_point_for_property): Don't adjust point for automatic
 > 	composition when called after buffer modification.
 > 
 > At that time, each changed file got it's own CVS log because
 > I committed each file with C-x v v while supplying its own
 > log by using C-c C-a.
 > 
 > Now with bazaar, according to the wiki page, it seems that I
 > must commit all files at once with a single log, and thus
 > all changed files are given the same log.  Is that true?

It's true that all files committed at one time get the same VCS log.

 > Is that the right thing?

Yes.

There are alternatives that are closer to your CVS workflow.  However,
some involve per-file commits.  Those will probably be opposed by many
developers because they will make the VCS logs harder to read and
understand.  There are also tools that allow you to manage changes on
a piece by piece basis.  Then you finish by grouping them into a
single commit.  The disadvantage to those tools is that they will
require additional effort on your part to install and learn them.

If adjusting to this style is really uncomfortable for you, we can
discuss the options.

 > If so, is there any convention about the format of the log?
 > Can I use a relevant part of ChangeLog file as is?

Reusing the ChangeLog entry is very common in other projects that use
ChangeLogs.  A good Emacs ChangeLog entry will generally correspond to
a single commit in Bazaar, so it can be reused for the VCS log for
that commit.  As Juanma says, it's very useful to the readers to
provide a one-line summary at the top of each entry.

Eg, the ChangeLog entry quoted above looks like it describes a set of
changes that should constitute a single commit[1], and that log would be
in good style if you add a summary, such as "Improve redisplay and
point handling in character composition".


Footnotes: 
[1]  The change to CHAR_COMPOSABLE_P might better be split out into a
separate commit, unless that change is needed because of the other
changes.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 13:51           ` Stephen J. Turnbull
@ 2009-12-28 14:42             ` Juanma Barranquero
  0 siblings, 0 replies; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-28 14:42 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: kfogel, emacs-devel, Andreas Schwab, Kenichi Handa

On Mon, Dec 28, 2009 at 14:51, Stephen J. Turnbull <stephen@xemacs.org> wrote:

> Footnotes:
> [1]  The change to CHAR_COMPOSABLE_P might better be split out into a
> separate commit, unless that change is needed because of the other
> changes.

That's an important point. Currently it's common to see commits that
introduce unrelated changes, or changes that, though related, are in
fact independently useful. Some projects (git, for example) have a
policy of dividing large changes into meaningful chunks, and the
result is quite readable, and much more easy to debug (via bisect) or
revert.

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-27 22:55 GNU Emacs is on Bazaar now Karl Fogel
  2009-12-28  6:46 ` Kenichi Handa
@ 2009-12-28 19:19 ` Eli Zaretskii
  2009-12-28 20:00   ` Andreas Schwab
  2009-12-29 18:00   ` James Cloos
  1 sibling, 2 replies; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-28 19:19 UTC (permalink / raw)
  To: emacs-devel

> From: Karl Fogel <karl.fogel@canonical.com>
> Date: Sun, 27 Dec 2009 17:55:43 -0500
> 
> In case you missed it: GNU Emacs is on Bazaar now.  Please see
> http://www.emacswiki.org/emacs/BzrForEmacsDevs for how to (re)obtain
> your development sources from Bazaar.

So what's the plan regarding Emacs 24?  Will there be soon such a
branch (or a branch for Emacs 23, leaving the trunk for Emacs 24), or
not just yet?  Should I maintain the bidi code as my local branch for
the time being?




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 13:08         ` Kenichi Handa
@ 2009-12-28 19:59           ` Andreas Schwab
  2009-12-28 21:27             ` Karl Fogel
  0 siblings, 1 reply; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28 19:59 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: karl.fogel, emacs-devel

Kenichi Handa <handa@m17n.org> writes:

> In article <m2k4w7s3py.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:
>
>> Kenichi Handa <handa@m17n.org> writes:
>> > In article <m2r5qfsbg5.fsf@whitebox.home>, Andreas Schwab <schwab@linux-m68k.org> writes:
>> >
>>>> Kenichi Handa <handa@m17n.org> writes:
>>>> > I followed that page and created "quickfixex" branch.
>> >
>>>> It doesn't make sense to create a branch for every little commit.
>> >
>> > No, I'm not going to do that.  I'll use that branch for
>> > "One-Off Change" repeatedly.
>
>> That's just the same.
>
> ??? What is the same with what?

Making a branch for every little commit.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 19:19 ` Eli Zaretskii
@ 2009-12-28 20:00   ` Andreas Schwab
  2009-12-28 20:17     ` Eli Zaretskii
  2009-12-29 18:00   ` James Cloos
  1 sibling, 1 reply; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28 20:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Should I maintain the bidi code as my local branch for the time being?

There is no reason to keep development branches private.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 20:00   ` Andreas Schwab
@ 2009-12-28 20:17     ` Eli Zaretskii
  0 siblings, 0 replies; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-28 20:17 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-devel

> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: emacs-devel@gnu.org
> Date: Mon, 28 Dec 2009 21:00:11 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Should I maintain the bidi code as my local branch for the time being?
> 
> There is no reason to keep development branches private.

I would like a formal go-ahead from Stefan and Yidong, before I make a
public branch.  They had something in mind last time we talked about
this.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 19:59           ` Andreas Schwab
@ 2009-12-28 21:27             ` Karl Fogel
  2009-12-28 22:16               ` Andreas Schwab
  0 siblings, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-28 21:27 UTC (permalink / raw)
  To: emacs-devel; +Cc: Andreas Schwab, Kenichi Handa

Andreas Schwab <schwab@linux-m68k.org> writes:
> Kenichi Handa <handa@m17n.org> writes:
>>>>> > I followed that page and created "quickfixex" branch.
>>>>> It doesn't make sense to create a branch for every little commit.
>>> > No, I'm not going to do that.  I'll use that branch for
>>> > "One-Off Change" repeatedly.
>>> That's just the same.
>> ??? What is the same with what?
> Making a branch for every little commit.

What we have here is a failure to communicate :-).

Currently, BzrForEmacsDevs recommends keeping a 'trunk' branch (used for
merging from other branches and for committing to upstream, but never
used for development) and a 'quickfixes' branch (for quick little fixes,
where you don't want to have to create a whole new branch each time).

The document recommends that 'quickfixes' be treated like any other
non-trunk local branch: you keep it up-to-date, you commit changes
there, and when ready, you merge it into trunk and then commit in trunk.
The only thing special about it is that it persists basically forever --
unlike feature branches, which you usually remove when done.

So by using 'quickfixes', Kenichi is following the recommended
procedure.

A separate question is, is this a *good* procedure for quick fixes?

Kenichi has a point: for a simple typo fix, it's annoying to have to
commit it in quickfixes, and then go merge it into trunk and commit it
again (with its own log message beginning with "Merge: ").  It would be
easier to just make the change in trunk and commit from there.  However,
I wasn't sure what complications might arise from doing that ('trunk' is
a bound branch), so we recommended a very conservative, very safe
procedure.

We can certainly tweak the instructions, if they don't work well for
certain situations!  I just want to make sure we don't recommend any
methods that make it too easy to mess up history or shoot oneself in the
foot, that's all.  Does anyone know a better workflow for quick fixes?

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 21:27             ` Karl Fogel
@ 2009-12-28 22:16               ` Andreas Schwab
  2009-12-28 22:24                 ` Karl Fogel
  2009-12-28 22:30                 ` Óscar Fuentes
  0 siblings, 2 replies; 80+ messages in thread
From: Andreas Schwab @ 2009-12-28 22:16 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Kenichi Handa, emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> A separate question is, is this a *good* procedure for quick fixes?

Just commit and push them.  There is no point in using a special branch.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 22:16               ` Andreas Schwab
@ 2009-12-28 22:24                 ` Karl Fogel
  2009-12-29  1:26                   ` Giorgos Keramidas
  2009-12-28 22:30                 ` Óscar Fuentes
  1 sibling, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-28 22:24 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Kenichi Handa, emacs-devel

Andreas Schwab <schwab@linux-m68k.org> writes:
> Karl Fogel <kfogel@red-bean.com> writes:
>> A separate question is, is this a *good* procedure for quick fixes?
>
> Just commit and push them.  There is no point in using a special branch.

Andreas, have you read BzrForEmacsDevs?

In the scenario there, 'trunk' is a bound branch.  So this would be only
a 'commit', no need for a separate command to push.  (But I'd feel more
comfortable if you checked over the entire procedure documented there,
to make sure there are no other problems lurking in the wings if one
uses the 'trunk' branch, as currently set up, for direct development of
quick fixes.)

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 22:16               ` Andreas Schwab
  2009-12-28 22:24                 ` Karl Fogel
@ 2009-12-28 22:30                 ` Óscar Fuentes
  2009-12-28 22:41                   ` Karl Fogel
  2009-12-29  1:47                   ` Stephen J. Turnbull
  1 sibling, 2 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-28 22:30 UTC (permalink / raw)
  To: emacs-devel

Andreas Schwab <schwab@linux-m68k.org> writes:

>> A separate question is, is this a *good* procedure for quick fixes?
>
> Just commit and push them.  There is no point in using a special branch.

It depends on how quick your quickfix is.

If you start editing the trunk mirror expecting to finish on a few
minutes, but you slowly realize that the issue is not so simple, or some
other urgent task arises ("you broke the build, fix it asap!" etc) you
will have to deal with a polluted gateway to upstream, which is a
inconvenience (move away your "quick" changes, revert modified files,
and later recover the changes. `bzr shelve' can be handy here, but I
don't recommend it to beginners.)

Given the slow commit rate on the Emacs project, I see no problem using
the quickfixes branch on a CVS-like way: bind it to upstream and

bzr update
<hack, hack, hack>
bzr update
<maybe solve conflicts>
bzr commit -m "fixed bug #2434"

It is very likely that this works fine with VC.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 22:30                 ` Óscar Fuentes
@ 2009-12-28 22:41                   ` Karl Fogel
  2009-12-28 23:14                     ` Óscar Fuentes
  2009-12-29  1:47                   ` Stephen J. Turnbull
  1 sibling, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-28 22:41 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:
> Andreas Schwab <schwab@linux-m68k.org> writes:
>>> A separate question is, is this a *good* procedure for quick fixes?
>>
>> Just commit and push them.  There is no point in using a special branch.
>
> It depends on how quick your quickfix is.
>
> If you start editing the trunk mirror expecting to finish on a few
> minutes, but you slowly realize that the issue is not so simple, or some
> other urgent task arises ("you broke the build, fix it asap!" etc) you
> will have to deal with a polluted gateway to upstream, which is a
> inconvenience (move away your "quick" changes, revert modified files,
> and later recover the changes. `bzr shelve' can be handy here, but I
> don't recommend it to beginners.)

This is one reason we recommended the separate 'quickfix' branch --
because you never know when a one-commit quick fix will turn into an
N-commit quick fix.

> Given the slow commit rate on the Emacs project, I see no problem using
> the quickfixes branch on a CVS-like way: bind it to upstream and
>
> bzr update
> <hack, hack, hack>
> bzr update
> <maybe solve conflicts>
> bzr commit -m "fixed bug #2434"
>
> It is very likely that this works fine with VC.

Did you see the part in http://www.emacswiki.org/emacs/BzrForEmacsDevs
that says this?:

  > It might occur to you to save some effort by just doing bzr push
  > directly to the upstream master from inside the quickfixes branch:
  > 
  >   cd $DEVHOME/emacs/quickfixes
  >   bzr push sftp://<membername>@bzr.savannah.gnu.org/srv/bzr/emacs/trunk/
  > 
  > *Do not do this* -- it can cause history to be displayed in a strange
  > way in the upstream master, any mirrors or branches of it, and your own
  > branch later. Search for the word "hidden" in this mail for more
  > details.

Is that relevant to what you are proposing above?

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 22:41                   ` Karl Fogel
@ 2009-12-28 23:14                     ` Óscar Fuentes
  2009-12-29  1:17                       ` Karl Fogel
  2009-12-29  1:57                       ` Stephen J. Turnbull
  0 siblings, 2 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-28 23:14 UTC (permalink / raw)
  To: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>> Andreas Schwab <schwab@linux-m68k.org> writes:
>>>> A separate question is, is this a *good* procedure for quick fixes?
>>>
>>> Just commit and push them.  There is no point in using a special branch.
>>
>> It depends on how quick your quickfix is.
>>
>> If you start editing the trunk mirror expecting to finish on a few
>> minutes, but you slowly realize that the issue is not so simple, or some
>> other urgent task arises ("you broke the build, fix it asap!" etc) you
>> will have to deal with a polluted gateway to upstream, which is a
>> inconvenience (move away your "quick" changes, revert modified files,
>> and later recover the changes. `bzr shelve' can be handy here, but I
>> don't recommend it to beginners.)
>
> This is one reason we recommended the separate 'quickfix' branch --
> because you never know when a one-commit quick fix will turn into an
> N-commit quick fix.

I think that Andread was proposing to use the local trunk mirror as the
place for editing the quickfixes. You and me agree that that is
undesirable.

>> Given the slow commit rate on the Emacs project, I see no problem using
>> the quickfixes branch on a CVS-like way: bind it to upstream and
>>
>> bzr update
>> <hack, hack, hack>
>> bzr update
>> <maybe solve conflicts>
>> bzr commit -m "fixed bug #2434"
>>
>> It is very likely that this works fine with VC.
>
> Did you see the part in http://www.emacswiki.org/emacs/BzrForEmacsDevs
> that says this?:
>
>   > It might occur to you to save some effort by just doing bzr push
>   > directly to the upstream master from inside the quickfixes branch:
>   > 
>   >   cd $DEVHOME/emacs/quickfixes
>   >   bzr push sftp://<membername>@bzr.savannah.gnu.org/srv/bzr/emacs/trunk/
>   > 
>   > *Do not do this* -- it can cause history to be displayed in a strange
>   > way in the upstream master, any mirrors or branches of it, and your own
>   > branch later. Search for the word "hidden" in this mail for more
>   > details.
>
> Is that relevant to what you are proposing above?

No, because you are committing to upstream, not pushing, i.e. every
commit just adds one history item to upstream on top of the previous,
without attached or "hidden" revisions, which is perfectly fine for
simple changes. Actually, it is the opposite scenario of the one
mentioned on the warning you quoted, as it keeps a synchronized linear
history between the involved branches.

See this hypothetical log entries on upstream trunk:

with commit on a bound quickfixes branch:

34823 fixed bug #2423

with commit on an unbound quickfixes branch + merge&commit on a bound
local mirror:

34823 fixed bug #2423  (that's the commit to upstream from the local mirror)
33823.33822 fixed bug #2423 (that's the merged local quickfixes commit)

The last example has one redundant (although hidden by default) log
entry, requires more commands and suffers from the "double commit"
nuisance that Kenichi Handa mentioned at the beginning of this thread.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 23:14                     ` Óscar Fuentes
@ 2009-12-29  1:17                       ` Karl Fogel
  2009-12-29  2:12                         ` Óscar Fuentes
  2009-12-29  1:57                       ` Stephen J. Turnbull
  1 sibling, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-29  1:17 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:
> See this hypothetical log entries on upstream trunk:
>
> with commit on a bound quickfixes branch:
>
> 34823 fixed bug #2423

Can you describe precisely whaht "bound quickfixes branch" means, in
terms of the exact configuration one would do?

-K

> with commit on an unbound quickfixes branch + merge&commit on a bound
> local mirror:
>
> 34823 fixed bug #2423  (that's the commit to upstream from the local mirror)
> 33823.33822 fixed bug #2423 (that's the merged local quickfixes commit)
>
> The last example has one redundant (although hidden by default) log
> entry, requires more commands and suffers from the "double commit"
> nuisance that Kenichi Handa mentioned at the beginning of this thread.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 22:24                 ` Karl Fogel
@ 2009-12-29  1:26                   ` Giorgos Keramidas
  2009-12-29  2:08                     ` Juanma Barranquero
  0 siblings, 1 reply; 80+ messages in thread
From: Giorgos Keramidas @ 2009-12-29  1:26 UTC (permalink / raw)
  To: Karl Fogel; +Cc: emacs-devel, Andreas Schwab, Kenichi Handa

On Mon, 28 Dec 2009 17:24:29 -0500, Karl Fogel <kfogel@red-bean.com> wrote:
>Andreas Schwab <schwab@linux-m68k.org> writes:
>>Karl Fogel <kfogel@red-bean.com> writes:
>>> A separate question is, is this a *good* procedure for quick fixes?
>>
>> Just commit and push them.  There is no point in using a special branch.
>
> Andreas, have you read BzrForEmacsDevs?
>
> In the scenario there, 'trunk' is a bound branch.  So this would be
> only a 'commit', no need for a separate command to push.  (But I'd
> feel more comfortable if you checked over the entire procedure
> documented there, to make sure there are no other problems lurking in
> the wings if one uses the 'trunk' branch, as currently set up, for
> direct development of quick fixes.)

One of the things that seem annoying when people make small changes
using a DVCS is the merge step that is required if the remote trunk has
already moved on.  It seems silly to have merge commits for tiny and
simple commits that modify a few lines in one place.  The inevitable
"merge pollution" of the branch history can be avoided most of the time
by 'rebasing' the changes inside the quickfixes branch before pulling
them into the trunk.

The 'rebase' plugin of bazaar[1] may help a lot with this sort of
workflow.  Using this plugin one can keep making small changes in the
quick fixes, testing them outside of the bound 'trunk' copy and then
pulling into the local & bound trunk when they are done, FSVO "done".

[1] http://wiki.bazaar.canonical.com/Rebase

Installing and using the rebase plugin is easy on UNIX.  One can start
by making a ~/.bazaar/plugins directory and copying the rebase plugin
itself inside it:

    $ mkdir ~/.bazaar/plugins
    $ cd ~/.bazaar/plugins
    $ bzr branch http://people.samba.org/bzr/jelmer/bzr-rebase/trunk rebase

This will install and make visible a few new commands:

    $ bzr help commands | grep '^rebase'
    rebase                  Re-base a branch. [rebase]
    rebase-abort            Abort an interrupted rebase. [rebase]
    rebase-continue         Continue an interrupted rebase after resolving
    rebase-foreign          Rebase revisions based on a branch created with a
    rebase-todo             Print list of revisions that still need to be replayed
    $

Now small changes can be committed to the quickfixes branch as described
in BzrForEmacsDevs.  When the small change is committed to 'quickfixes',
we can now:

  * Pull any trunk changes from savannah

        $ cd ../trunk
        $ bzr pull

  * Go back into the 'quickfixes' branch and rebase the small change on
    top of the latest local trunk (which should be up-to-date with the
    savannah copy of the same branch now):

        $ cd ../quickfixes
        $ bzr rebase

If all goes well the local change of 'quickfixes' will be rebased on top
of the trunk, eliminating the need of "bzr merge" for such a small
commit.  In this case bazaar will report something like:

    Committing to: ~/bzr/emacs/quickfixes/
    modified lisp/foo.el
    Committed revision 105601.

If there are conflicts, rebase will temporarily stop and leave conflict
markers in the files that require manual intervention.  After editing
the files and resolving the conflicts, one can run:

    $ bzr resolve lisp/foo.el
    $ bzr rebase-continue

I personally find this sort of workflow a bit useful when dealing with
tiny changesets.  The final branch history of trunk is going to be much
"cleaner" if we don't have thousands of tiny changesets followed by a
merge commit after each small one.  But this is just a personal choice
and it is heavily influenced by my experience with changeset rebasing in
other DVCS's.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 22:30                 ` Óscar Fuentes
  2009-12-28 22:41                   ` Karl Fogel
@ 2009-12-29  1:47                   ` Stephen J. Turnbull
  2009-12-29  2:38                     ` Óscar Fuentes
  1 sibling, 1 reply; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-29  1:47 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > Given the slow commit rate on the Emacs project, I see no problem using
 > the quickfixes branch on a CVS-like way: bind it to upstream

This encourages antisocial practices like per-file commits, and
committing ChangeLog separate from the changes.  Cf. the OP's
description of his workflow.  It gets in the way of use of Bazaar
features like "bzr log -n#" for other developers.  That is a problem,
if Emacs chooses to see it that way.

If Emacs has no intention of improving its common workflow, then it's
not a problem.  But if that's going to happen, there should be
discussion of whether folks like the OP (who is in good company with
the likes of rms and eliz) should be asked to invest the effort in a
forward-compatible workflow now, or if Emacs should wait to make such
improvements until the old-style workers are good and ready to accept
such changes (presumably due to retirement<wink>, since it will be
just as hard later as it is now, so they'll resist it then, too).




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 23:14                     ` Óscar Fuentes
  2009-12-29  1:17                       ` Karl Fogel
@ 2009-12-29  1:57                       ` Stephen J. Turnbull
  2009-12-29  2:00                         ` Karl Fogel
  2009-12-29  2:16                         ` Óscar Fuentes
  1 sibling, 2 replies; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-29  1:57 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > No, because you are committing to upstream, not pushing, i.e. every
 > commit just adds one history item to upstream on top of the previous,
 > without attached or "hidden" revisions, which is perfectly fine for
 > simple changes.

Except in the case of a conflict.  Can you confirm that works smoothly
with the proposed "bzr update" workflow?

 > The last example has one redundant (although hidden by default) log
 > entry, requires more commands and suffers from the "double commit"
 > nuisance that Kenichi Handa mentioned at the beginning of this thread.

This can be easily automated, though.

And what happens if he actually uses a feature branch?  Ken'ichi works
on very invasive stuff (Mule, which has its fingers in all the
lowlevel buffer stuff and redisplay), and is likely to appreciate the
isolation that feature branches provide, once he's used them.  I think
there's a lot of room for icky things[tm] to happen if the bzr-update-
and-work-on-trunk discipline is mixed with the push-through-a-dedicated-
trunk-mirror-branch discipline.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  1:57                       ` Stephen J. Turnbull
@ 2009-12-29  2:00                         ` Karl Fogel
  2009-12-29  2:16                         ` Óscar Fuentes
  1 sibling, 0 replies; 80+ messages in thread
From: Karl Fogel @ 2009-12-29  2:00 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Óscar Fuentes, emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:
> isolation that feature branches provide, once he's used them.  I think
> there's a lot of room for icky things[tm] to happen if the bzr-update-
> and-work-on-trunk discipline is mixed with the push-through-a-dedicated-
> trunk-mirror-branch discipline.

Right -- cognitive load is a factor here.

The nice thing about the 'quickfixes' branch (as currently documented)
is that you use it the same way you'd use any other feature or bugfix
branch.  This allows the developer to form safe habits.  Mixing methods
increases the risk of something icky happening.

(I'm not saying we can't document other workflows; I'm just trying to
point out all the reasoning behind the workflow currently documented, so
we don't travel the same road many times.)

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  1:26                   ` Giorgos Keramidas
@ 2009-12-29  2:08                     ` Juanma Barranquero
  2009-12-29  2:26                       ` Giorgos Keramidas
  0 siblings, 1 reply; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-29  2:08 UTC (permalink / raw)
  To: Giorgos Keramidas; +Cc: Karl Fogel, Kenichi Handa, Andreas Schwab, emacs-devel

On Tue, Dec 29, 2009 at 02:26, Giorgos Keramidas
<keramida@ceid.upatras.gr> wrote:

> Installing and using the rebase plugin is easy on UNIX.

On the standalone installation for Windows, rebase is already included...

> This will install and make visible a few new commands:
>
>    $ bzr help commands | grep '^rebase'
>    rebase                  Re-base a branch. [rebase]
>    rebase-abort            Abort an interrupted rebase. [rebase]
>    rebase-continue         Continue an interrupted rebase after resolving
>    rebase-foreign          Rebase revisions based on a branch created with a
>    rebase-todo             Print list of revisions that still need to be replayed
>    $

though it seems to lack rebase-foreign:

C:\> bzr help commands | grep ^rebase
rebase                  Re-base a branch. [rebase]
rebase-abort            Abort an interrupted rebase. [rebase]
rebase-continue         Continue an interrupted rebase after resolving
conflicts. [rebase]
rebase-todo             Print list of revisions that still need to be
replayed as part of the  [rebase]

> I personally find this sort of workflow a bit useful when dealing with
> tiny changesets.  The final branch history of trunk is going to be much
> "cleaner" if we don't have thousands of tiny changesets followed by a
> merge commit after each small one.

A way to do the equivalent of "git rebase -i" would be nice, too.

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  1:17                       ` Karl Fogel
@ 2009-12-29  2:12                         ` Óscar Fuentes
  0 siblings, 0 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29  2:12 UTC (permalink / raw)
  To: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> Óscar Fuentes <ofv@wanadoo.es> writes:
>> See this hypothetical log entries on upstream trunk:
>>
>> with commit on a bound quickfixes branch:
>>
>> 34823 fixed bug #2423
>
> Can you describe precisely whaht "bound quickfixes branch" means, in
> terms of the exact configuration one would do?

The quickfixes branch will be bound to upstrem's trunk, in a similar way
the local mirror is.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  1:57                       ` Stephen J. Turnbull
  2009-12-29  2:00                         ` Karl Fogel
@ 2009-12-29  2:16                         ` Óscar Fuentes
  2009-12-29  4:32                           ` Stephen J. Turnbull
  1 sibling, 1 reply; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29  2:16 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Óscar Fuentes writes:
>
>  > No, because you are committing to upstream, not pushing, i.e. every
>  > commit just adds one history item to upstream on top of the previous,
>  > without attached or "hidden" revisions, which is perfectly fine for
>  > simple changes.
>
> Except in the case of a conflict.  Can you confirm that works smoothly
> with the proposed "bzr update" workflow?

That is not different from CVS or Subversion: you update before commit,
you get conflicts, you resolve them, you commit.

>  > The last example has one redundant (although hidden by default) log
>  > entry, requires more commands and suffers from the "double commit"
>  > nuisance that Kenichi Handa mentioned at the beginning of this thread.
>
> This can be easily automated, though.
>
> And what happens if he actually uses a feature branch?

Then he should use the adequate workflow for a feature branch.

[snip]
> I think there's a lot of room for icky things[tm] to happen if the
> bzr-update- and-work-on-trunk discipline is mixed with the
> push-through-a-dedicated- trunk-mirror-branch discipline.

Can you describe some of those icky things?

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  2:08                     ` Juanma Barranquero
@ 2009-12-29  2:26                       ` Giorgos Keramidas
  0 siblings, 0 replies; 80+ messages in thread
From: Giorgos Keramidas @ 2009-12-29  2:26 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Karl Fogel, Kenichi Handa, Andreas Schwab, emacs-devel

On Tue, 29 Dec 2009 03:08:07 +0100, Juanma Barranquero <lekktu@gmail.com> wrote:
> On Tue, Dec 29, 2009 at 02:26, Giorgos Keramidas <keramida@ceid.upatras.gr> wrote:
>> I personally find this sort of workflow a bit useful when dealing with
>> tiny changesets.  The final branch history of trunk is going to be much
>> "cleaner" if we don't have thousands of tiny changesets followed by a
>> merge commit after each small one.
>
> A way to do the equivalent of "git rebase -i" would be nice, too.

I've only been using "bzr rebase" for a few hours.  I don't see anything
that resembles "git rebase -i" in the documentation of the current bzr
plugin, so it's possible that there is no equivalent.

It's conceivable that a careful combination of "bzr shelve" and the
existing "bzr rebase" functionality may be one way to achieve similar
results with "git rebase -i".  If this turns out to be too complex, we
should probably focus on an easy workflow for small changes first and
leave more complex history manipulation tricks for later.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  1:47                   ` Stephen J. Turnbull
@ 2009-12-29  2:38                     ` Óscar Fuentes
  2009-12-29  4:38                       ` Stephen J. Turnbull
  2009-12-29  6:14                       ` Karl Fogel
  0 siblings, 2 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29  2:38 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Óscar Fuentes writes:
>
>  > Given the slow commit rate on the Emacs project, I see no problem using
>  > the quickfixes branch on a CVS-like way: bind it to upstream
>
> This encourages antisocial practices like per-file commits, and
> committing ChangeLog separate from the changes.

It doesn't encourage certain antisocial practices, just makes them
possible. This is easily solvable by monitoring the commits ml and
sending polite mails to those committers that do not follow good
practices, listing them. I volunteer to do that. The Emacs VC history
already contains thousands of revisions consisting on separate commits
for the same change. A few more is no problem.

>  Cf. the OP's
> description of his workflow.  It gets in the way of use of Bazaar
> features like "bzr log -n#" for other developers.

Uh? What's the benefit of log -n# for one-revision merges?

> That is a problem, if Emacs chooses to see it that way.
>
> If Emacs has no intention of improving its common workflow, then it's
> not a problem.  But if that's going to happen, there should be
> discussion of whether folks like the OP (who is in good company with
> the likes of rms and eliz) should be asked to invest the effort in a
> forward-compatible workflow now, or if Emacs should wait to make such
> improvements until the old-style workers are good and ready to accept
> such changes (presumably due to retirement<wink>, since it will be
> just as hard later as it is now, so they'll resist it then, too).

Well, there is no reason to settle on one Golden Workflow. It is clear
that we want to introduce new good practices on how the VC history is
developed (one changeset per purpose, etc) but that practices are not
incompatible with multiple workflows. The feature branches workflow is
great for substantial changes, but a PITA for one-liners. The
centralized workflow is perfectly okay (unless you abuse it, or course,
but you can abuse the distributed one: what stops you from mixing
unrelated changes on the same merge?)

Since long time ago I think that the main problem most people here have
with the transition to bazaar is that they lack an insight on what a
DVCS is (and some even have no previous experience with changeset-based
VCSs!) People can understand the centralized usage of bzr without too
much effort, but pushing some hackers here to blindly use the
distributed workflow is asking for problems. A gradual introduction with
a simpler workflow helps in several ways. That's a personal decission,
no other is affected by it.

Please lets not forget that this is not about making Emacs a model of
orthodoxy in DVCS usage. It's about giving hackers a tool that helps
them to contribute to Emacs.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  2:16                         ` Óscar Fuentes
@ 2009-12-29  4:32                           ` Stephen J. Turnbull
  2009-12-29  4:46                             ` Óscar Fuentes
  0 siblings, 1 reply; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-29  4:32 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > > And what happens if he actually uses a feature branch?
 > 
 > Then he should use the adequate workflow for a feature branch.

People DO NOT DO WHAT THEY SHOULD DO.  If they did, we wouldn't be
having this discussion.  Instead, they look for shortcuts, for
convenience, for the familiar.

 > [snip]
 > > I think there's a lot of room for icky things[tm] to happen if
 > > the bzr-update-and-work-on-trunk discipline is mixed with the
 > > push-through-a-dedicated-trunk-mirror-branch discipline.
 > 
 > Can you describe some of those icky things?

No.  If I could describe them, I wouldn't be so adamant about a
SINGLE, fairly simple, flexible, socially adapted workflow that works
for almost everybody.  I'd figure out a workflow that is more adapted
to existing Emacs usage, with a straightforward upgrade path to "full
tilt boogie" exploitation of advanced DVCS features.  Wouldn't you?

Why do I expect them?  Feel free to review the "how do I get myself
out of here" threads on any of the DVCS user lists if you must have
examples.  There are plenty on bazaar@canonical.com.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  2:38                     ` Óscar Fuentes
@ 2009-12-29  4:38                       ` Stephen J. Turnbull
  2009-12-29  4:58                         ` Óscar Fuentes
  2009-12-29  6:14                       ` Karl Fogel
  1 sibling, 1 reply; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-29  4:38 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > >  Cf. the OP's
 > > description of his workflow.  It gets in the way of use of Bazaar
 > > features like "bzr log -n#" for other developers.
 > 
 > Uh? What's the benefit of log -n# for one-revision merges?

You didn't read the OP's description of how that ChangeLog got
committed, obviously.  Please do that.

 > Well, there is no reason to settle on one Golden Workflow. It is clear
 > that we want to introduce new good practices on how the VC history is
 > developed (one changeset per purpose, etc) but that practices are not
 > incompatible with multiple workflows.

That's not at all my point.  The point is that there is a single
public repository that everybody is aiming at, and that personal
workflows that use centralization features *necessarily* impose that
personal workflow's history on the rest of the project.

 > distributed workflow is asking for problems. A gradual introduction with
 > a simpler workflow helps in several ways. That's a personal decission,
 > no other is affected by it.

You are wrong, at least in Bazaar which supports lightweight checkouts
and bound branches.  As soon as you bind a branch, you are at risk of
polluting the public history with personal mistakes.  Your convenience
may conflict with what is considered good practice by other developers.






^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  4:32                           ` Stephen J. Turnbull
@ 2009-12-29  4:46                             ` Óscar Fuentes
  2009-12-29  7:25                               ` Kevin Rodgers
  2009-12-29 10:27                               ` Juanma Barranquero
  0 siblings, 2 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29  4:46 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Óscar Fuentes writes:
>
>  > > And what happens if he actually uses a feature branch?
>  > 
>  > Then he should use the adequate workflow for a feature branch.
>
> People DO NOT DO WHAT THEY SHOULD DO.  If they did, we wouldn't be
> having this discussion.  Instead, they look for shortcuts, for
> convenience, for the familiar.

I think that some people is looking for shortcuts because they find the
distributed workflow unnecessarily complex. Either they fail to
appreciate the benefits of the added complexity or they think that those
benefits are of no value for them.

>  > > I think there's a lot of room for icky things[tm] to happen if
>  > > the bzr-update-and-work-on-trunk discipline is mixed with the
>  > > push-through-a-dedicated-trunk-mirror-branch discipline.
>  > 
>  > Can you describe some of those icky things?
>
> No.  If I could describe them, I wouldn't be so adamant about a
> SINGLE, fairly simple, flexible, socially adapted workflow that works
> for almost everybody.  I'd figure out a workflow that is more adapted
> to existing Emacs usage, with a straightforward upgrade path to "full
> tilt boogie" exploitation of advanced DVCS features.  Wouldn't you?
>
> Why do I expect them?  Feel free to review the "how do I get myself
> out of here" threads on any of the DVCS user lists if you must have
> examples.  There are plenty on bazaar@canonical.com.

In short, there are "icky things" that you can't describe but are
extensively discussed on the mailing lists. Oh well.

As said on the past, my description of the centralized way is targeted
to *reduce* the problems *some* emacs hackers can experience on the
transition to bzr, and allow them to keep doing the really important
thing: keep contributing. You insist on that having the simpler workflow
documented actually creates problems, but so far failed to mention a
single serious issue with it.

Personally, if I were a hacker doing quick contributions to emacs (the
sort of thing that ends on one single commit), I would use the
centralized workflow.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  4:38                       ` Stephen J. Turnbull
@ 2009-12-29  4:58                         ` Óscar Fuentes
  2009-12-31  5:54                           ` Stephen J. Turnbull
  0 siblings, 1 reply; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29  4:58 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Óscar Fuentes writes:
>
>  > >  Cf. the OP's
>  > > description of his workflow.  It gets in the way of use of Bazaar
>  > > features like "bzr log -n#" for other developers.
>  > 
>  > Uh? What's the benefit of log -n# for one-revision merges?
>
> You didn't read the OP's description of how that ChangeLog got
> committed, obviously.  Please do that.

The OP is trying to follow your recommended workflow, getting very
confused and creating the problem. If he were using the centralized
workflow, the only advice he would need is "include all modified files
on the same commit" and `-log -n#' would be as informative (but less
verbose) as with the distributed workflow.

>  > Well, there is no reason to settle on one Golden Workflow. It is clear
>  > that we want to introduce new good practices on how the VC history is
>  > developed (one changeset per purpose, etc) but that practices are not
>  > incompatible with multiple workflows.
>
> That's not at all my point.  The point is that there is a single
> public repository that everybody is aiming at, and that personal
> workflows that use centralization features *necessarily* impose that
> personal workflow's history on the rest of the project.

No. No for one-commit changes. Nobody is recommending to use `push' here.

>  > distributed workflow is asking for problems. A gradual introduction with
>  > a simpler workflow helps in several ways. That's a personal decission,
>  > no other is affected by it.
>
> You are wrong, at least in Bazaar which supports lightweight checkouts
> and bound branches.  As soon as you bind a branch, you are at risk of
> polluting the public history with personal mistakes.  Your convenience
> may conflict with what is considered good practice by other developers.

Which are those personal mistakes? Committing something you didn't
intend to? People here are accustomed to check the changes before
committing. They were using CVS for 16 years, you know.

And how is that different from merging changes you didn't intend to send
upstream, like debug or untested code?

It would help a lot to the discussion if instead of saying "this is
problematic" the actual problems were described.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  2:38                     ` Óscar Fuentes
  2009-12-29  4:38                       ` Stephen J. Turnbull
@ 2009-12-29  6:14                       ` Karl Fogel
  2009-12-29  7:23                         ` Óscar Fuentes
  1 sibling, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-29  6:14 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:
>Well, there is no reason to settle on one Golden Workflow. It is clear
>that we want to introduce new good practices on how the VC history is
>developed (one changeset per purpose, etc) but that practices are not
>incompatible with multiple workflows. The feature branches workflow is
>great for substantial changes, but a PITA for one-liners. The
>centralized workflow is perfectly okay (unless you abuse it, or course,
>but you can abuse the distributed one: what stops you from mixing
>unrelated changes on the same merge?)
>
>Since long time ago I think that the main problem most people here have
>with the transition to bazaar is that they lack an insight on what a
>DVCS is (and some even have no previous experience with changeset-based
>VCSs!) People can understand the centralized usage of bzr without too
>much effort, but pushing some hackers here to blindly use the
>distributed workflow is asking for problems. A gradual introduction with
>a simpler workflow helps in several ways. That's a personal decission,
>no other is affected by it.
>
>Please lets not forget that this is not about making Emacs a model of
>orthodoxy in DVCS usage. It's about giving hackers a tool that helps
>them to contribute to Emacs.

Sure, I think everyone agrees on that.

So if people made their one-line changes this way:

  $ cd ${EMACS_DEV_AREA}/trunk
  $ bzr pull
  $ <<< make one-line obvious typo fix, edit ChangeLog file too >>>
  $ bzr commit -m "* README: Fix silly typo."
  <<< change automatically sent from local bound trunk to upstream trunk >>>
  $ 

would there be any negative consequences?  It violates the "keep local
trunk as pristine as possible" rule, and people will run into
complexities if upstream diverges from local trunk before their commit
is ready (they'd have to revert, re-pull, and redo, or something like
that).  Those are the reasons we didn't recommend it in the doc.  But
aside from those problems, could there be any negative consequences to
the versioned history?  I think not, but would like more knowledgeable
people to comment.

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  6:14                       ` Karl Fogel
@ 2009-12-29  7:23                         ` Óscar Fuentes
  0 siblings, 0 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29  7:23 UTC (permalink / raw)
  To: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

> So if people made their one-line changes this way:
>
>   $ cd ${EMACS_DEV_AREA}/trunk
>   $ bzr pull
>   $ <<< make one-line obvious typo fix, edit ChangeLog file too >>>
>   $ bzr commit -m "* README: Fix silly typo."
>   <<< change automatically sent from local bound trunk to upstream trunk >>>
>   $ 
>
> would there be any negative consequences?  It violates the "keep local
> trunk as pristine as possible" rule, and people will run into
> complexities if upstream diverges from local trunk before their commit
> is ready (they'd have to revert, re-pull, and redo, or something like
> that).

Please note that I'm not recommending to use the local mirror as a
quickfix area. I prefer to have a separate quickfix branch bound to
upstream. With that setup, the hack-commit cycle is almost identical to
CVS or Subversion, with the only difference being that an `update' is
often required before the `commit'.

(As you know, on a bound branch you do not `pull', you `update'. No need
to revert if upstream diverged, because `update' merges upstream's
changes into your edited files, as CVS does. That `pull' works on a
bound branch was discussed some days ago on the bzr ml after a question
by Juanma and IIRC the conclusion was that it is accidental.)

> Those are the reasons we didn't recommend it in the doc.  But aside
> from those problems, could there be any negative consequences to the
> versioned history?  I think not, but would like more knowledgeable
> people to comment.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  4:46                             ` Óscar Fuentes
@ 2009-12-29  7:25                               ` Kevin Rodgers
  2009-12-29 10:27                               ` Juanma Barranquero
  1 sibling, 0 replies; 80+ messages in thread
From: Kevin Rodgers @ 2009-12-29  7:25 UTC (permalink / raw)
  To: emacs-devel

Óscar Fuentes wrote:
> I think that some people is looking for shortcuts because they find the
> distributed workflow unnecessarily complex. Either they fail to
> appreciate the benefits of the added complexity or they think that those
> benefits are of no value for them.

Exactly.

-- 
Kevin Rodgers
Denver, Colorado, USA





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  4:46                             ` Óscar Fuentes
  2009-12-29  7:25                               ` Kevin Rodgers
@ 2009-12-29 10:27                               ` Juanma Barranquero
  2009-12-29 15:54                                 ` Karl Fogel
  1 sibling, 1 reply; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-29 10:27 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

On Tue, Dec 29, 2009 at 05:46, Óscar Fuentes <ofv@wanadoo.es> wrote:

> Personally, if I were a hacker doing quick contributions to emacs (the
> sort of thing that ends on one single commit), I would use the
> centralized workflow.

And you would likely get some heat the nth time that you accidentally
committed half-done changes, incomplete changelog entries, partial
commits, etc. All the things that you can do in your local, non-bound
branch and then fix at your own pace before sending it upstream. At
least, I would (receive the heat, I mean, because I would likely do
these mistakes).

I know that I'm not saying anything that you don't know; also that
you've insisted that we're developing Emacs, not creating the
best-looking commit log ever. But it seems best to start recommending
safer, cleaner practices. People who knows better, knows enough to
bypass the recommendations.

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 10:27                               ` Juanma Barranquero
@ 2009-12-29 15:54                                 ` Karl Fogel
  2009-12-29 16:01                                   ` Juanma Barranquero
                                                     ` (2 more replies)
  0 siblings, 3 replies; 80+ messages in thread
From: Karl Fogel @ 2009-12-29 15:54 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Óscar Fuentes, emacs-devel

Juanma Barranquero <lekktu@gmail.com> writes:
>On Tue, Dec 29, 2009 at 05:46, Óscar Fuentes <ofv@wanadoo.es> wrote:
>> Personally, if I were a hacker doing quick contributions to emacs (the
>> sort of thing that ends on one single commit), I would use the
>> centralized workflow.
>
>And you would likely get some heat the nth time that you accidentally
>committed half-done changes, incomplete changelog entries, partial
>commits, etc. All the things that you can do in your local, non-bound
>branch and then fix at your own pace before sending it upstream. At
>least, I would (receive the heat, I mean, because I would likely do
>these mistakes).
>
>I know that I'm not saying anything that you don't know; also that
>you've insisted that we're developing Emacs, not creating the
>best-looking commit log ever. But it seems best to start recommending
>safer, cleaner practices. People who knows better, knows enough to
>bypass the recommendations.

Remember, during the transition, the point of
http://www.emacswiki.org/emacs-en/BzrForEmacsDevs was to offer a
reliable, safe, and simple method for continuing to work.  That way, no
one would shoot themselves (or the project) in the foot while learning
how to use Bazaar.  This naturally involved compromises.

Soon, though, developers (like Kenichi Handa) will be more familiar and
comfortable with Bazaar.  Once that happens, they *will* start looking
for ways to get around annoyances -- such as the need to do two commits
with two log messages (!) even for simple typo changes.

This is inevitable; if we deny this reality, we simply make the doc less
useful.  We always expected there would be adjustments to the doc once
we actually started using Bazaar; now we're hitting the first of those.

So at some point, I think it might be good to add Oscar's proposed
bound-branch-for-really-truly-one-commit-fixes method to the
documentation, as an option.  The recipe needed to be simple for the
transition, but it can get a *little* more complicated after that.  We
could recommend that the branch be called "oneoffs" or something.

Óscar, does your proposed workflow look like this?:

  ### Prepare the branch:
  $ cd $DEVHOME/emacs
  $ bzr branch trunk oneoffs
  $ cd oneoffs
  $ echo "public_branch = sftp://<membername>@bzr.savannah.gnu.org/srv/bzr/emacs/trunk" >> .bzr/branch/branch.conf
  $ bzr bind sftp://<membername>@bzr.savannah.gnu.org/srv/bzr/emacs/trunk

  ### To make a truly one-off typo fix, do this:
  $ cd $DEVHOME/emacs/oneoffs
  $ bzr update
  $ <<< edit to make the change, & edit the appropriate ChangeLog >>>
  $ bzr update
  $ <<< resolve any conflicts >>>
  $ bzr commit -m "* README: Fix typo."

(I want to be absolutely clear on what we're talking about, before we
figure out whether and how to document it.)

-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 15:54                                 ` Karl Fogel
@ 2009-12-29 16:01                                   ` Juanma Barranquero
  2009-12-29 16:15                                   ` Óscar Fuentes
  2009-12-29 18:08                                   ` Eli Zaretskii
  2 siblings, 0 replies; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-29 16:01 UTC (permalink / raw)
  To: Karl Fogel; +Cc: Óscar Fuentes, emacs-devel

On Tue, Dec 29, 2009 at 16:54, Karl Fogel <kfogel@red-bean.com> wrote:

> Remember, during the transition, the point of
> http://www.emacswiki.org/emacs-en/BzrForEmacsDevs was to offer a
> reliable, safe, and simple method for continuing to work.  That way, no
> one would shoot themselves (or the project) in the foot while learning
> how to use Bazaar.  This naturally involved compromises.
>
> Soon, though, developers (like Kenichi Handa) will be more familiar and
> comfortable with Bazaar.  Once that happens, they *will* start looking
> for ways to get around annoyances -- such as the need to do two commits
> with two log messages (!) even for simple typo changes.

No problem. But I think many people is still struggling with
BzrForEmacsDevs. Adding more complexity at this moment is IMO a bit
premature.

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 15:54                                 ` Karl Fogel
  2009-12-29 16:01                                   ` Juanma Barranquero
@ 2009-12-29 16:15                                   ` Óscar Fuentes
  2009-12-29 18:08                                   ` Eli Zaretskii
  2 siblings, 0 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29 16:15 UTC (permalink / raw)
  To: emacs-devel

Karl Fogel <kfogel@red-bean.com> writes:

[snip]

> Óscar, does your proposed workflow look like this?:

My proposed workflow is, in essence, the same as described on

http://www.emacswiki.org/emacs/BzrQuickStartForEmacsDevs

You already link to it from your document, so I see no need to change
anything. The workflow you describe is a variation of mine: you branch
from the local mirror and use `bind' instead of a checkout, but the day
to day work is the same.

[snip]

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-28 19:19 ` Eli Zaretskii
  2009-12-28 20:00   ` Andreas Schwab
@ 2009-12-29 18:00   ` James Cloos
  2009-12-29 19:40     ` Óscar Fuentes
  1 sibling, 1 reply; 80+ messages in thread
From: James Cloos @ 2009-12-29 18:00 UTC (permalink / raw)
  To: emacs-devel

On a 64-bit box (Linux kernel, GNU userland) the initial branch caused
the python process to boloon to over two gigs of vm, most kept resident.

One'll need a big box to work with the new repo.

I can imagine that it'll be a significant load on the server, too.

Too bad bzr is written in python.

How painful is it to grab an additional branch from the main repo over
sftp, comared to the grab of trunk?  Ie, did the initial branch grab
just the history of trunk, or di it grab the hsitory of all of the
branches?

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 15:54                                 ` Karl Fogel
  2009-12-29 16:01                                   ` Juanma Barranquero
  2009-12-29 16:15                                   ` Óscar Fuentes
@ 2009-12-29 18:08                                   ` Eli Zaretskii
  2009-12-29 18:09                                     ` Juanma Barranquero
  2009-12-29 18:13                                     ` Chong Yidong
  2 siblings, 2 replies; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-29 18:08 UTC (permalink / raw)
  To: Karl Fogel; +Cc: ofv, lekktu, emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Tue, 29 Dec 2009 10:54:14 -0500
> Cc: Óscar Fuentes <ofv@wanadoo.es>, emacs-devel@gnu.org
> 
> Remember, during the transition, the point of
> http://www.emacswiki.org/emacs-en/BzrForEmacsDevs was to offer a
> reliable, safe, and simple method for continuing to work.  That way, no
> one would shoot themselves (or the project) in the foot while learning
> how to use Bazaar.  This naturally involved compromises.
> 
> Soon, though, developers (like Kenichi Handa) will be more familiar and
> comfortable with Bazaar.  Once that happens, they *will* start looking
> for ways to get around annoyances -- such as the need to do two commits
> with two log messages (!) even for simple typo changes.
> 
> This is inevitable; if we deny this reality, we simply make the doc less
> useful.

As I wrote several weeks ago (and was pounced upon), I don't see why
we need to spoon-feed experienced developers such as Handa-san.  I see
no need to wait until developers ``start looking for ways to get
around'', and tell them how to do that only then.  Describe the
options (not all of them, just a few useful ones) together with their
merits and demerits, and let each one make their own choices, like the
grown-ups they are.  The current ``need to know basis'' attitude of
keeping information off the docs lest developers will be confused is
almost unethical, pardon my French.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:08                                   ` Eli Zaretskii
@ 2009-12-29 18:09                                     ` Juanma Barranquero
  2009-12-29 18:47                                       ` Eli Zaretskii
  2009-12-29 18:13                                     ` Chong Yidong
  1 sibling, 1 reply; 80+ messages in thread
From: Juanma Barranquero @ 2009-12-29 18:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, ofv, emacs-devel

On Tue, Dec 29, 2009 at 19:08, Eli Zaretskii <eliz@gnu.org> wrote:

> The current ``need to know basis'' attitude of
> keeping information off the docs lest developers will be confused is
> almost unethical, pardon my French.

There's no hidden information: no one is prevented from reading the
Bazaar docs. It seems a bit silly to add to the introductory document
so much information that you're just rewriting the standard
documentation.

    Juanma




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:08                                   ` Eli Zaretskii
  2009-12-29 18:09                                     ` Juanma Barranquero
@ 2009-12-29 18:13                                     ` Chong Yidong
  2009-12-29 18:36                                       ` Eli Zaretskii
  2009-12-31  5:57                                       ` Stephen J. Turnbull
  1 sibling, 2 replies; 80+ messages in thread
From: Chong Yidong @ 2009-12-29 18:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Karl Fogel, ofv, emacs-devel, lekktu

Eli Zaretskii <eliz@gnu.org> writes:

> As I wrote several weeks ago (and was pounced upon), I don't see why
> we need to spoon-feed experienced developers such as Handa-san.  I see
> no need to wait until developers ``start looking for ways to get
> around'', and tell them how to do that only then.  Describe the
> options (not all of them, just a few useful ones) together with their
> merits and demerits, and let each one make their own choices, like the
> grown-ups they are.  The current ``need to know basis'' attitude of
> keeping information off the docs lest developers will be confused is
> almost unethical, pardon my French.

In my opinion, if someone (such as Handa or myself) is happy with VC and
the old CVS-style workflow, we should recommand the CVS-like solution
documented at

  http://www.emacswiki.org/emacs/BzrQuickStartForEmacsDevs

This is not a fancy as a true DVCS-style workflow, but as far as I can
tell it has the massive advantage that VC Just Works (tm).




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:13                                     ` Chong Yidong
@ 2009-12-29 18:36                                       ` Eli Zaretskii
  2009-12-29 18:54                                         ` Karl Fogel
  2009-12-31  5:57                                       ` Stephen J. Turnbull
  1 sibling, 1 reply; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-29 18:36 UTC (permalink / raw)
  To: Chong Yidong; +Cc: kfogel, ofv, emacs-devel, lekktu

> From: Chong Yidong <cyd@stupidchicken.com>
> Cc: Karl Fogel <kfogel@red-bean.com>, ofv@wanadoo.es, lekktu@gmail.com,
>         emacs-devel@gnu.org
> Date: Tue, 29 Dec 2009 13:13:31 -0500
> 
> In my opinion, if someone (such as Handa or myself) is happy with VC and
> the old CVS-style workflow, we should recommand the CVS-like solution
> documented at
> 
>   http://www.emacswiki.org/emacs/BzrQuickStartForEmacsDevs

That's fine with me.  But I _do_ want to use the distributed workflow
and have a local repository.  And I don't understand why I need to
wait until I bump into annoyances before I get to be told what are the
ways around them.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:09                                     ` Juanma Barranquero
@ 2009-12-29 18:47                                       ` Eli Zaretskii
  0 siblings, 0 replies; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-29 18:47 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: kfogel, ofv, emacs-devel

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Tue, 29 Dec 2009 19:09:55 +0100
> Cc: Karl Fogel <kfogel@red-bean.com>, ofv@wanadoo.es, emacs-devel@gnu.org
> 
> On Tue, Dec 29, 2009 at 19:08, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > The current ``need to know basis'' attitude of
> > keeping information off the docs lest developers will be confused is
> > almost unethical, pardon my French.
> 
> There's no hidden information: no one is prevented from reading the
> Bazaar docs. It seems a bit silly to add to the introductory document
> so much information that you're just rewriting the standard
> documentation.

Maybe I missed something, reading and re-reading both the User Guide
and the User Reference, but I didn't find that information there.
There's a short description of 3 workflows here:

  http://doc.bazaar.canonical.com/bzr.2.0/en/user-guide/bazaar_workflows.html

and in a few other pages in the User Guide, but there's no information
whatsoever about advantages and disadvantages of each possible setup.
For example, the issue that triggered this thread -- the need to
commit twice -- is never mentioned explicitly as an ``annoyance''.

And, of course, the upstream docs, being general and generic, can
never be focused enough for the Emacs project.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:36                                       ` Eli Zaretskii
@ 2009-12-29 18:54                                         ` Karl Fogel
  2009-12-29 20:06                                           ` Eli Zaretskii
  0 siblings, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-29 18:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: ofv, lekktu, Chong Yidong, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>> In my opinion, if someone (such as Handa or myself) is happy with VC and
>> the old CVS-style workflow, we should recommand the CVS-like solution
>> documented at
>> 
>>   http://www.emacswiki.org/emacs/BzrQuickStartForEmacsDevs
>
>That's fine with me.  But I _do_ want to use the distributed workflow
>and have a local repository.  And I don't understand why I need to
>wait until I bump into annoyances before I get to be told what are the
>ways around them.

That's not what's happening.

What's happening is that some us are thinking hard about how to write an
introductory doc in the most useful way -- by definition, that means
choosing what to leave out.  Naturally, we'll sometimes leave something
out that maybe we should have included.  We don't know in advance what
annoyances people will bump into; nor is it easy to gauge the cost (in
cognitive load on the reader) of putting too much stuff in.

If you want us to predict every developer's experience, or rewrite all
the Bazaar docs, well, that's above my pay grade.  We've gone to a great
deal of trouble to make the right compromises in a document that will
inevitably not be perfect for everyone; we've linked to another document
that explains the method you _do_ want; we are trying to be responsive
and responsible about adjusting the documentation based on feedback from
this list; above all, Bazaar is a free software project with its own
easily accessible documentation.  And your comment that you don't like
being used as a guinea pig?  Then go read the native Bazaar docs.  No
one's stopping you.

Very.  Slightly.  Ticked.  Off.  (but only slightly),
-Karl




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:00   ` James Cloos
@ 2009-12-29 19:40     ` Óscar Fuentes
  2009-12-29 20:02       ` Eli Zaretskii
  2009-12-29 20:55       ` James Cloos
  0 siblings, 2 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29 19:40 UTC (permalink / raw)
  To: emacs-devel

James Cloos <cloos@jhcloos.com> writes:

> On a 64-bit box (Linux kernel, GNU userland) the initial branch caused
> the python process to boloon to over two gigs of vm, most kept resident.

What version are you using? For me, it required approx 1 GB on a 64 bit
GNU/Linux machine. (bzr 2.0.1, python 2.6.4, http)

> One'll need a big box to work with the new repo.

You need lots of memory for the initial branch. For the rest of
operations, I think you need much less memory. Branching from the local
trunk mirror required ~180 MB for me, using a shared repository.

> I can imagine that it'll be a significant load on the server, too.

With http/sftp, bazaar transfers a lot of data but as it is CPU-bound
too, it does not hit the server too hard. The bzr protocol (or bzr+ssh)
causes a noticeable cpu load on the server.

> Too bad bzr is written in python.
>
> How painful is it to grab an additional branch from the main repo over
> sftp, comared to the grab of trunk?  Ie, did the initial branch grab
> just the history of trunk, or di it grab the hsitory of all of the
> branches?

Grabbing and additional branch requires a fraction of the cost of the
initial branch. Bzr will transfer only the missing revisions. IIRC it
required 22 minutes for the initial branch (trunk) and 4 minutes for
multi-tty.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 19:40     ` Óscar Fuentes
@ 2009-12-29 20:02       ` Eli Zaretskii
  2009-12-29 20:55       ` James Cloos
  1 sibling, 0 replies; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-29 20:02 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

> From: Óscar_Fuentes <ofv@wanadoo.es>
> Date: Tue, 29 Dec 2009 20:40:47 +0100
> 
> James Cloos <cloos@jhcloos.com> writes:
> 
> > On a 64-bit box (Linux kernel, GNU userland) the initial branch caused
> > the python process to boloon to over two gigs of vm, most kept resident.
> 
> What version are you using? For me, it required approx 1 GB on a 64 bit
> GNU/Linux machine. (bzr 2.0.1, python 2.6.4, http)

I didn't measure, but didn't see any problems that would hint the box
was thrashing.

> > How painful is it to grab an additional branch from the main repo over
> > sftp, comared to the grab of trunk?  Ie, did the initial branch grab
> > just the history of trunk, or di it grab the hsitory of all of the
> > branches?
> 
> Grabbing and additional branch requires a fraction of the cost of the
> initial branch. Bzr will transfer only the missing revisions. IIRC it
> required 22 minutes for the initial branch (trunk) and 4 minutes for
> multi-tty.

It was 15 minutes and less than 1, respectively, for me.





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:54                                         ` Karl Fogel
@ 2009-12-29 20:06                                           ` Eli Zaretskii
  2009-12-29 20:14                                             ` Karl Fogel
  0 siblings, 1 reply; 80+ messages in thread
From: Eli Zaretskii @ 2009-12-29 20:06 UTC (permalink / raw)
  To: Karl Fogel; +Cc: ofv, lekktu, cyd, emacs-devel

> From: Karl Fogel <kfogel@red-bean.com>
> Date: Tue, 29 Dec 2009 13:54:25 -0500
> Cc: ofv@wanadoo.es, lekktu@gmail.com, Chong Yidong <cyd@stupidchicken.com>,
> 	emacs-devel@gnu.org
> 
> We don't know in advance what annoyances people will bump into

In my reading of some of the stuff in this thread, the annoyances were
known, but solutions for them were not revealed on purpose, to avoid
some potential confusion.  Apologies if I misunderstood.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 20:06                                           ` Eli Zaretskii
@ 2009-12-29 20:14                                             ` Karl Fogel
  2009-12-31  8:18                                               ` Stephen J. Turnbull
  0 siblings, 1 reply; 80+ messages in thread
From: Karl Fogel @ 2009-12-29 20:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: ofv, lekktu, cyd, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>In my reading of some of the stuff in this thread, the annoyances were
>known, but solutions for them were not revealed on purpose, to avoid
>some potential confusion.  Apologies if I misunderstood.

I think you did misunderstand.

AFAIK, no one has withheld solutions to avoid confusing people.  Some of
us have sometimes declined to put certain solutions *into the
Emacs-specific intro doc we're maintaining*, on the grounds that we
didn't know (at that point) how widely useful the solution would be,
because the doc has to stay small enough to be digestible.  But that's
the same tradeoff any document must make.  It's not the same as
witholding solutions for the purpose you describe.  Where I can, I've
posted solutions on the list that I didn't (yet) put into the doc;
others have done so as well.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 19:40     ` Óscar Fuentes
  2009-12-29 20:02       ` Eli Zaretskii
@ 2009-12-29 20:55       ` James Cloos
  2009-12-29 21:30         ` Óscar Fuentes
  1 sibling, 1 reply; 80+ messages in thread
From: James Cloos @ 2009-12-29 20:55 UTC (permalink / raw)
  To: emacs-devel; +Cc: Óscar Fuentes

>>>>> "Óscar" == Óscar Fuentes <ofv@wanadoo.es> writes:

JimC> On a 64-bit box (Linux kernel, GNU userland) the initial branch caused
JimC> the python process to boloon to over two gigs of vm, most kept resident.

Óscar> What version are you using? For me, it required approx 1 GB on a 64 bit
Óscar> GNU/Linux machine. (bzr 2.0.1, python 2.6.4, http)

That one still has an old install of bzr: 2.0rc1.  Python just tells my 2.6.

I'll have to update that one, but I will not try downloading a new
branch; neither side needs to waste the required bandwidth.

Óscar> Branching from the local trunk mirror required ~180 MB for me,
Óscar> using a shared repository.

Agreed; creating a quickfix branch as per the wiki required much less vm.

>> I can imagine that it'll be a significant load on the server, too.

Óscar> With http/sftp, bazaar transfers a lot of data but as it is CPU-bound
Óscar> too, it does not hit the server too hard. The bzr protocol (or bzr+ssh)
Óscar> causes a noticeable cpu load on the server.

I was thinking of vm load, but that was dumb, since bzr obviously does
not run on the server in sftp/http mode.... [SIGH]

Is the VM load an issue in ssh mode, along with the cpu load?

>> How painful is it to grab an additional branch from the main repo over
>> sftp, comared to the grab of trunk?

Óscar> Grabbing and additional branch requires a fraction of the cost of the
Óscar> initial branch. Bzr will transfer only the missing revisions. IIRC it
Óscar> required 22 minutes for the initial branch (trunk) and 4 minutes for
Óscar> multi-tty.

Good.  That is what I hoped for.

I do see that it transfers much more data than it ends up storing on
disk.  A du(1) of .bzr trunk/.bzr is on the order of 200 Megs, but
it (claims to) transfer(s) something like twice that over teh sftp link.

And my first pull since the initial branch only changed 27 files (25 M,
1 +N and 1 -D), created a new pack of 1417748 octets, but needed 5 Megs
of xfer to grab those changes.

I expect that the native protocol is more efficient.


Also, given the note about locking, does creating a branch over sftp
create the kind of lock that was described earlier?  Or does that only
occur when /pushing/ changes to the sv repo?  I used sftp instead of
http even though I am read-only because my last attempt over http
couldn't even max out a DS0 straw, much less a fat pipe.  But I'd hate
to block commiters by doing so.

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 20:55       ` James Cloos
@ 2009-12-29 21:30         ` Óscar Fuentes
  0 siblings, 0 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-29 21:30 UTC (permalink / raw)
  To: emacs-devel

James Cloos <cloos@jhcloos.com> writes:

[snip]

>>> I can imagine that it'll be a significant load on the server, too.
>
> Óscar> With http/sftp, bazaar transfers a lot of data but as it is CPU-bound
> Óscar> too, it does not hit the server too hard. The bzr protocol (or bzr+ssh)
> Óscar> causes a noticeable cpu load on the server.
>
> I was thinking of vm load, but that was dumb, since bzr obviously does
> not run on the server in sftp/http mode.... [SIGH]
>
> Is the VM load an issue in ssh mode, along with the cpu load?

The cpu load on the server is only an issue for the bzr[+ssh]
protocol. I don't know how much VM load the bzr smart server causes
while serving a remote branch operation, but it is worth testing.

>>> How painful is it to grab an additional branch from the main repo over
>>> sftp, comared to the grab of trunk?
>
> Óscar> Grabbing and additional branch requires a fraction of the cost of the
> Óscar> initial branch. Bzr will transfer only the missing revisions. IIRC it
> Óscar> required 22 minutes for the initial branch (trunk) and 4 minutes for
> Óscar> multi-tty.
>
> Good.  That is what I hoped for.
>
> I do see that it transfers much more data than it ends up storing on
> disk.  A du(1) of .bzr trunk/.bzr is on the order of 200 Megs, but
> it (claims to) transfer(s) something like twice that over teh sftp link.
>
> And my first pull since the initial branch only changed 27 files (25 M,
> 1 +N and 1 -D), created a new pack of 1417748 octets, but needed 5 Megs
> of xfer to grab those changes.

Over the sftp/http protocols, bzr acts very dumb. It needs to read
lots of data for knowing which revisions to grab, etc.

> I expect that the native protocol is more efficient.

The bzr protocol does lots of work that otherwise the client must do if
it were using the dumb protocols, so it is significantly more efficient.

> Also, given the note about locking, does creating a branch over sftp
> create the kind of lock that was described earlier?  Or does that only
> occur when /pushing/ changes to the sv repo?  I used sftp instead of
> http even though I am read-only because my last attempt over http
> couldn't even max out a DS0 straw, much less a fat pipe.  But I'd hate
> to block commiters by doing so.

IIRC someone here said that bazaar supports concurrent r/w access over
http/sftp, which is quite surprising to me as adding info to the history
can touch a big area of the metadata, AFAIK. The report about the lock
issue seems to confirm that bazaar locks the branch (or repository?)
sometimes. I don't know for which operations bazaar locks and if it
locks only writes or reads too.


-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29  4:58                         ` Óscar Fuentes
@ 2009-12-31  5:54                           ` Stephen J. Turnbull
  2009-12-31  5:58                             ` Miles Bader
                                               ` (2 more replies)
  0 siblings, 3 replies; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-31  5:54 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > > You didn't read the OP's description of how that ChangeLog got
 > > committed, obviously.  Please do that.
 > 
 > The OP is trying to follow your recommended workflow, getting very
 > confused and creating the problem.

I do not think that is the case.  You still haven't seen the issue.
Mr. Handa said that he made about five commits (one for each
individual file including the ChangeLog) where best practice is to
have one commit for that kind of change.  Andreas at least finds that
undesirable.

 > If he were using the centralized workflow, the only advice he would
 > need is "include all modified files on the same commit"

Wrong.  He would have run into the same problem because vc.el (his
preferred VCS manager) is still file-oriented.  That is where his
confusion is coming from: the tools he wants to use (vc and bzr) are
mismatched.  Getting vc to do the right thing is going to require more
than just advice.

 > No. No for one-commit changes. Nobody is recommending to use `push' here.

Sure, but the people who are having problems with the workflow
recommended in BzrForEmacsDevs also clearly have "multiple commit"
workflows.  *They are going to have problems adjusting to the
one-commit style.*  That is not a problem with BzrForEmacsDevs, that
is a difference between current Emacs practice and what is generally
considered "best practice" (ie, pretty useful to a lot of people, not
an actual "optimum").

 > > You are wrong, at least in Bazaar which supports lightweight checkouts
 > > and bound branches.  As soon as you bind a branch, you are at risk of
 > > polluting the public history with personal mistakes.  Your convenience
 > > may conflict with what is considered good practice by other developers.
 > 
 > Which are those personal mistakes? Committing something you didn't
 > intend to?

Yes.  Rather unlikely, but you insist that there's *zero* problem, and
that's simply wrong.  Also, working with a tool you're not familiar
with, you're likely to make mistakes.

But more important than that is the second point.  With a good tool
*other* developers will want to use features like filtering change
records with "bzr log" that just weren't very usable with CVS.  So
practices like multiple commits per change are going to start to
become an annoyance to others where they were not in the CVS world
(because people grepped the ChangeLog file).

 > It would help a lot to the discussion if instead of saying "this is
 > problematic" the actual problems were described.

There are no big problems.  So you'll say to each one "that's not
really a problem" just as you did above.  There are enough little ones
that it is my judgment that we should discourage variant workflows,
*especially* combining them in one person's personal workflow, until
most of the core developers have the basics down.

Even you insist on a two-branch flow, not working in the trunk
mirror.  That is one of the most important inconveniences from
Mr. Handa's point of view, one which he really wants to go away.  He
wants each local commit to the the end of it.  The variants you
propose don't really address his issue as far as I can see.

Also, if he wants to continue using the multiple commit workflow, with
the BzrForEmacsDevs workflow, he can!  That is, he uses multiple
commits in his local (quickfixes) workspace, then a single merge to
the mirror, commit there, and it will appear as a single commit to
people using the default "bzr log".  This is a reasonable compromise
for most people, I think.






^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 18:13                                     ` Chong Yidong
  2009-12-29 18:36                                       ` Eli Zaretskii
@ 2009-12-31  5:57                                       ` Stephen J. Turnbull
  2009-12-31  6:36                                         ` Óscar Fuentes
  2009-12-31 11:33                                         ` Chong Yidong
  1 sibling, 2 replies; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-31  5:57 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Karl Fogel, ofv, Eli Zaretskii, lekktu, emacs-devel

Chong Yidong writes:

 >   http://www.emacswiki.org/emacs/BzrQuickStartForEmacsDevs
 > 
 > This is not a fancy as a true DVCS-style workflow, but as far as I can
 > tell it has the massive advantage that VC Just Works (tm).

No, it does not.  It Just Works for the developer who uses it, but it
encourages a personal workflow that some other developers would rather
not see in the output of bzr log.

Cf. Andreas's posts.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  5:54                           ` Stephen J. Turnbull
@ 2009-12-31  5:58                             ` Miles Bader
  2009-12-31  6:02                             ` Dan Nicolaescu
  2009-12-31  6:33                             ` Óscar Fuentes
  2 siblings, 0 replies; 80+ messages in thread
From: Miles Bader @ 2009-12-31  5:58 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Óscar Fuentes, emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:
> Wrong.  He would have run into the same problem because vc.el (his
> preferred VCS manager) is still file-oriented.  That is where his
> confusion is coming from: the tools he wants to use (vc and bzr) are
> mismatched.  Getting vc to do the right thing is going to require more
> than just advice.

It kinda does the right thing already (well for some backends, dunno
about bzr), if you use vc-dir to do your operations.

-Miles

-- 
Twice, adv. Once too often.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  5:54                           ` Stephen J. Turnbull
  2009-12-31  5:58                             ` Miles Bader
@ 2009-12-31  6:02                             ` Dan Nicolaescu
  2010-01-01 11:22                               ` Stephen J. Turnbull
  2009-12-31  6:33                             ` Óscar Fuentes
  2 siblings, 1 reply; 80+ messages in thread
From: Dan Nicolaescu @ 2009-12-31  6:02 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Óscar Fuentes, emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

  > Óscar Fuentes writes:
  > 
  >  > > You didn't read the OP's description of how that ChangeLog got
  >  > > committed, obviously.  Please do that.
  >  > 
  >  > The OP is trying to follow your recommended workflow, getting very
  >  > confused and creating the problem.
  > 
  > I do not think that is the case.  You still haven't seen the issue.
  > Mr. Handa said that he made about five commits (one for each
  > individual file including the ChangeLog) where best practice is to
  > have one commit for that kind of change.  Andreas at least finds that
  > undesirable.
  > 
  >  > If he were using the centralized workflow, the only advice he would
  >  > need is "include all modified files on the same commit"
  > 
  > Wrong.  He would have run into the same problem because vc.el (his
  > preferred VCS manager) is still file-oriented.  

Have you actually checked what the current vc.el in Emacs can do?
Please do before making such statements.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  5:54                           ` Stephen J. Turnbull
  2009-12-31  5:58                             ` Miles Bader
  2009-12-31  6:02                             ` Dan Nicolaescu
@ 2009-12-31  6:33                             ` Óscar Fuentes
  2009-12-31  6:51                               ` Miles Bader
  2010-01-01 10:01                               ` Stephen J. Turnbull
  2 siblings, 2 replies; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-31  6:33 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

>  > The OP is trying to follow your recommended workflow, getting very
>  > confused and creating the problem.
>
> I do not think that is the case.  You still haven't seen the issue.
> Mr. Handa said that he made about five commits (one for each
> individual file including the ChangeLog) where best practice is to
> have one commit for that kind of change.  Andreas at least finds that
> undesirable.

Me too, and it is something that the OP should avoid. But his other
complain (having to write the commit message twice: one for the commit
and the other for the merge) is a different matter.

>  > If he were using the centralized workflow, the only advice he would
>  > need is "include all modified files on the same commit"
>
> Wrong.  He would have run into the same problem because vc.el (his
> preferred VCS manager) is still file-oriented.  That is where his
> confusion is coming from: the tools he wants to use (vc and bzr) are
> mismatched.  Getting vc to do the right thing is going to require more
> than just advice.

You can mark several files on a vc-dir buffer and bzr will commit them
all together. Its what I do all the time. No issues. You can do that
even from a regular `dir' buffer, AFAIK.

Maybe you are not aware that VC went through a complete rewrite to
support this on the last year or two.

>  > No. No for one-commit changes. Nobody is recommending to use `push' here.
>
> Sure, but the people who are having problems with the workflow
> recommended in BzrForEmacsDevs also clearly have "multiple commit"
> workflows.  *They are going to have problems adjusting to the
> one-commit style.*  That is not a problem with BzrForEmacsDevs, that
> is a difference between current Emacs practice and what is generally
> considered "best practice" (ie, pretty useful to a lot of people, not
> an actual "optimum").

Maybe this point should be emphasized on BzrForEmacsDevs. Maybe it
already is.

>  > > You are wrong, at least in Bazaar which supports lightweight checkouts
>  > > and bound branches.  As soon as you bind a branch, you are at risk of
>  > > polluting the public history with personal mistakes.  Your convenience
>  > > may conflict with what is considered good practice by other developers.
>  > 
>  > Which are those personal mistakes? Committing something you didn't
>  > intend to?
>
> Yes.  Rather unlikely, but you insist that there's *zero* problem, and
> that's simply wrong.

Read again. I'm not saying that there's zero problem. I'm saying that
people will need time to adapt, and the damage that they will do until
them will be irrelevant when put on top of 16 years of CVS history.

I already said that mistakes will be made whatever the workflow you
use. People is accustomed to double check their changes before
committing. So far, Emacs is not having serious problems because too
much people committed wrong things to the CVS repo. I don't think that
switching to bzr will make people irresponsible overnight.

> Also, working with a tool you're not familiar with, you're likely to
> make mistakes.

Yes. Working with a workflow that you do not understand makes mistakes
more probable, too.

[snip]

>  > It would help a lot to the discussion if instead of saying "this is
>  > problematic" the actual problems were described.
>
> There are no big problems.  So you'll say to each one "that's not
> really a problem" just as you did above.

Please do not misrepresent my position. One thing is saying that a few
more cases of multiple commits is not a problem after years of doing it,
other thing is saying that it is fine to keep doing it.

> There are enough little ones that it is my judgment that we should
> discourage variant workflows, *especially* combining them in one
> person's personal workflow, until most of the core developers have the
> basics down.
>
> Even you insist on a two-branch flow, not working in the trunk
> mirror.  That is one of the most important inconveniences from
> Mr. Handa's point of view, one which he really wants to go away.

And he can. Just setup another branch bounded with upstream and work
from it.

> He wants each local commit to the the end of it.  The variants you
> propose don't really address his issue as far as I can see.

My variant saves him to repeat part of the nasty work of merging and
reproducing the commit message.

> Also, if he wants to continue using the multiple commit workflow, with
> the BzrForEmacsDevs workflow, he can!  That is, he uses multiple
> commits in his local (quickfixes) workspace, then a single merge to
> the mirror, commit there, and it will appear as a single commit to
> people using the default "bzr log".  This is a reasonable compromise
> for most people, I think.

I don't think so. It does not save unnecessary work, which is the
problem the OP has.

What should be made clear is:

1. Commit all involved files together.

2. Put on the commit message exactly the same text you put on the
ChangeLog. I think there is something in VC for doing that
automatically, and if not it can be easily done.

This is much faster than committing each file separately. If they are
not scared away from directly committing upstream small changes instead
of having to go through the burden of merging and committing through the
local mirror, with the added side effect of being able to do everything
from within Emacs, they will be even happier.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  5:57                                       ` Stephen J. Turnbull
@ 2009-12-31  6:36                                         ` Óscar Fuentes
  2010-01-01  9:21                                           ` Stephen J. Turnbull
  2009-12-31 11:33                                         ` Chong Yidong
  1 sibling, 1 reply; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-31  6:36 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Chong Yidong writes:
>
>  >   http://www.emacswiki.org/emacs/BzrQuickStartForEmacsDevs
>  > 
>  > This is not a fancy as a true DVCS-style workflow, but as far as I can
>  > tell it has the massive advantage that VC Just Works (tm).
>
> No, it does not.  It Just Works for the developer who uses it, but it
> encourages a personal workflow that some other developers would rather
> not see in the output of bzr log.
>
> Cf. Andreas's posts.

Oh my God. Really, really, really, why so much insistence on having

87344 Fixed bug #4223
87344.1 Fixed bug #4223

instead of just

87344 Fixed bug #4223

????

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  6:33                             ` Óscar Fuentes
@ 2009-12-31  6:51                               ` Miles Bader
  2010-01-01 10:01                               ` Stephen J. Turnbull
  1 sibling, 0 replies; 80+ messages in thread
From: Miles Bader @ 2009-12-31  6:51 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:
> 2. Put on the commit message exactly the same text you put on the
> ChangeLog.

That's not really necessary I think, tho it may be convenient.

-Miles

-- 
Sabbath, n. A weekly festival having its origin in the fact that God made the
world in six days and was arrested on the seventh.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-29 20:14                                             ` Karl Fogel
@ 2009-12-31  8:18                                               ` Stephen J. Turnbull
  2009-12-31  8:29                                                 ` Óscar Fuentes
  2009-12-31  8:44                                                 ` Miles Bader
  0 siblings, 2 replies; 80+ messages in thread
From: Stephen J. Turnbull @ 2009-12-31  8:18 UTC (permalink / raw)
  To: Karl Fogel; +Cc: ofv, lekktu, Eli Zaretskii, cyd, emacs-devel

Karl Fogel writes:
 > Eli Zaretskii <eliz@gnu.org> writes:
 > >In my reading of some of the stuff in this thread, the annoyances were
 > >known, but solutions for them were not revealed on purpose, to avoid
 > >some potential confusion.  Apologies if I misunderstood.
 > 
 > I think you did misunderstand.
 > 
 > AFAIK, no one has withheld solutions to avoid confusing people.

I agree with that.  I have opposed putting those (proposed and
*untested*) solutions into the document I have helped write to avoid
confusing *me*!

I think there's another point of misunderstanding here as well.  The
centralized features of bzr are designed to support a *project-wide*
centralized workflow (eg, with mandatory reviews and full testing of
*all* patches before pushing to the public mainline), *not* to help
people used to a CVS-imposed centralized workflow integrate gracefully
into a basically decentralized workflow.  I don't think anybody here
has experience with these halfway, make-it-easy-for-the-busy-developer
workflows.  Anyway, I don't, and so I cannot recommend them, and will
distance myself from any document that does.

Nor is the workflow Óscar describes as simple as it seems.  First, it
can't be used with vc yet because he implicitly assumes a commit-all-
related-changes-at-once workflow.  AFAIK at this point means using the
command line, not vc (compare to the workflow Handa-san described of
just C-x v v C-x b ... until all files are done).[1]

Second, he says he doesn't recommend it for larger changes; instead,
the feature branch workflow is what he recommends.  So Handa-san is
going to have to learn a workflow at least as complex as the one in
BzrForEmacsDevs in the fairly near future anyway (at least I hope he's
going to keep contributing major improvements to Mule at the current
pace!)

Finally, Karl says he's a little upset about these criticisms.  I'll
go beyond that.  Remember that Bazaar was chosen for purely political
reasons.  "We have no extremely experienced bzr users who can help
others" was *not* a consideration.  "The Bazaar docs are not much help
for Emacs devs" was *not* a consideration.  These things have come
back and caused y'all some inconvenebit you on the assince?  Don't blame me.


Footnotes: 
[1]  I know that multi-file features for vc are in progress, but it
won't be as easy as "C-x v v C-x b ... until done", and the UI is
likely to be more or less clumsy and unstable for several months at
least.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  8:18                                               ` Stephen J. Turnbull
@ 2009-12-31  8:29                                                 ` Óscar Fuentes
  2009-12-31  9:26                                                   ` Miles Bader
  2009-12-31  8:44                                                 ` Miles Bader
  1 sibling, 1 reply; 80+ messages in thread
From: Óscar Fuentes @ 2009-12-31  8:29 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <turnbull@sk.tsukuba.ac.jp> writes:

[snip]

> Nor is the workflow Óscar describes as simple as it seems.  First, it
> can't be used with vc yet because he implicitly assumes a commit-all-
> related-changes-at-once workflow.  AFAIK at this point means using the
> command line, not vc (compare to the workflow Handa-san described of
> just C-x v v C-x b ... until all files are done).[1]

[snip]

> Footnotes: 
> [1]  I know that multi-file features for vc are in progress, but it
> won't be as easy as "C-x v v C-x b ... until done", and the UI is
> likely to be more or less clumsy and unstable for several months at
> least.

I don't know how the old VC worked as I always was a fan of PCL-CVS and
later of psvn. Maybe it was a great convenience to use C-x v v C-x b
instead of VC-dir to see all edited files and apply the same operation
to all files or to a subset of them. But right now VC-dir works very
well with Bazaar on the centralized workflow and Dan is being very quick
fixing the few bugs that arise and adding features.

Maybe I'm missing some piece of VC wizardly that is a pet feature of
Emacs hackers and that still clashes with changeset-oriented VCS ?

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  8:18                                               ` Stephen J. Turnbull
  2009-12-31  8:29                                                 ` Óscar Fuentes
@ 2009-12-31  8:44                                                 ` Miles Bader
  2010-01-01  8:41                                                   ` Stephen J. Turnbull
  1 sibling, 1 reply; 80+ messages in thread
From: Miles Bader @ 2009-12-31  8:44 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: ofv, lekktu, cyd, emacs-devel, Karl Fogel, Eli Zaretskii

"Stephen J. Turnbull" <turnbull@sk.tsukuba.ac.jp> writes:
> [1]  I know that multi-file features for vc are in progress, but it
> won't be as easy as "C-x v v C-x b ... until done", and the UI is
> likely to be more or less clumsy and unstable for several months at
> least.

Eh?  It might have bugs (dunno) but it's worked pretty well for typical
usage for quite a while, and it's essentially the same interface people
have used for a long time with pcvs...

Anyway, it's absolutely a usable and reasonable thing to recommend
people use.

[Not that alternative interfaces wouldn't be nice too -- e.g. a "add
this buffer to the set to be committed with the next commit" command
(ESR had some sort of objection to such interfaces, but never gave any
substantive reason, and now that he's out of the picture, I don't see
why not).]

-Miles

-- 
Fast, small, soon; pick any 2.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  8:29                                                 ` Óscar Fuentes
@ 2009-12-31  9:26                                                   ` Miles Bader
  0 siblings, 0 replies; 80+ messages in thread
From: Miles Bader @ 2009-12-31  9:26 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes <ofv@wanadoo.es> writes:
> Maybe I'm missing some piece of VC wizardly that is a pet feature of
> Emacs hackers and that still clashes with changeset-oriented VCS ?

I don't think so; it's just a matter of familiarity I think.

-miles

-- 
Neighbor, n. One whom we are commanded to love as ourselves, and who does all
he knows how to make us disobedient.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  5:57                                       ` Stephen J. Turnbull
  2009-12-31  6:36                                         ` Óscar Fuentes
@ 2009-12-31 11:33                                         ` Chong Yidong
  1 sibling, 0 replies; 80+ messages in thread
From: Chong Yidong @ 2009-12-31 11:33 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Karl Fogel, ofv, Eli Zaretskii, lekktu, emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> No, it does not.  It Just Works for the developer who uses it, but it
> encourages a personal workflow that some other developers would rather
> not see in the output of bzr log.
>
> Cf. Andreas's posts.

VC can now handle changesets, and has been able to for some time now.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  8:44                                                 ` Miles Bader
@ 2010-01-01  8:41                                                   ` Stephen J. Turnbull
  0 siblings, 0 replies; 80+ messages in thread
From: Stephen J. Turnbull @ 2010-01-01  8:41 UTC (permalink / raw)
  To: Miles Bader; +Cc: emacs-devel

Miles Bader writes:

 > "Stephen J. Turnbull" <stephen@xemacs.org> writes:
 > > [1]  I know that multi-file features for vc are in progress, but it
 > > won't be as easy as "C-x v v C-x b ... until done", and the UI is
 > > likely to be more or less clumsy and unstable for several months at
 > > least.
 > 
 > Eh?  It might have bugs (dunno) but it's worked pretty well for typical
 > usage for quite a while, and it's essentially the same interface people
 > have used for a long time with pcvs...

OK, if so, then I retract my statement and recommend to Ken'ichi that
he try the other interface.

(I don't use it and I see a lot of traffic regarding UI issues with
vc-dir.  The "half-full" way to look at that is "people like it and
are recommending even better ways to use it", I guess. :-)




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  6:36                                         ` Óscar Fuentes
@ 2010-01-01  9:21                                           ` Stephen J. Turnbull
  2010-01-01  9:48                                             ` Óscar Fuentes
  0 siblings, 1 reply; 80+ messages in thread
From: Stephen J. Turnbull @ 2010-01-01  9:21 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > Oh my God. Really, really, really, why so much insistence on having
 > 
 > 87344 Fixed bug #4223
 > 87344.1 Fixed bug #4223
 > 
 > instead of just
 > 
 > 87344 Fixed bug #4223

First, because there is absolutely nobody insisting on that.  Take
your strawman elsewhere.

Second, because without changes in Handa-san's workflow, it will
actually look like this anyway:

87345 ChangeLog for 87344
87344 Fixed bug #4223

What Handa-san has done until now, according to his post, would
actually result in (for that case) something like

87344 ChangeLog: Fixed bug #4223
87343 Updated callers in quux.c
87342 Updated callers in baz.c
87341 Updated callers in bar.c
87340 Updated prototype in foo.h
87339 Added argument to snafoo in foo.c

The problem I'm pointing out is that *for Handa-san, exactly the same
personal workflow as in CVS* works fine with bzr, too.  He will not
notice any problems because in a CVS-alike workflow he probably
doesn't use "bzr log", he looks at the ChangeLog.  The ChangeLog will
look as it does in CVS.  But "bzr log -n1" will show the commits as
above, which is not very nice for *other* people who find that bzr's
advanced features improve *their* workflows.  Unfortunately, that's
the most likely outcome if he followed your original advice.

It was only later that you said "oh, of course he should change his
workflow so that he commits coherent changsets".  I'm sure he's
willing to do so if so advised, but that's not what you said in your
first post.  And rms, at least, has been opposed to asking anybody to
change their workflows until they're ready to do so.  Ditto, Eli Z.

It's not clear to me that there is a huge advantage to him if he has
to alter workflows anyway.  Some people might prefer to keep the "C-x
v v"-based workflow, and then "merge to mirror + commit to the remote
repo" as a separate step that they could do once a day, or once a week
for that matter.

In that case, we would see

87344 Merge: Fixed bug #4223
87343.6 ChangeLog: Fixed bug #4223
87343.5 Updated callers in quux.c
87343.4 Updated callers in baz.c
87343.3 Updated callers in bar.c
87343.2 Updated prototype in foo.h
87343.1 Added argument to snafoo in foo.c

which would by default (ie, just "bzr log") appear as

87344 Fixed bug #4223

of course.  This requires maintaining two branches, one for the actual
commits, one for merge and commit + push (unbound) or commit (bound).
But it does work fairly well for users of vc who use the "C-x v v C-x
b ... (repeat)" workflow, and with feature branches.  The only thing
it's really horrible for is the one-line, one-file fix -- and until
Emacs abandons ChangeLogs, those are really rare because the fix will
be accompanied by a log, unless the fix is in the ChangeLog itself.

Some folks wouldn't like that much, I imagine (ie, those who insist on
coherent changeset commits).

Finally, note that none of the above mentions the fact that if
Handa-san decides to do some extended work on a branch, he'll need to
learn the work branch + trunk mirror workflow anyway.




^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2010-01-01  9:21                                           ` Stephen J. Turnbull
@ 2010-01-01  9:48                                             ` Óscar Fuentes
  0 siblings, 0 replies; 80+ messages in thread
From: Óscar Fuentes @ 2010-01-01  9:48 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> First, because there is absolutely nobody insisting on that.  Take
> your strawman elsewhere.

You snip the relevant content, accuse me of making a strawman and then
proceed to comment things ignoring all what I said on previous messages.

I'm not going to rehash the same arguments forever, so consider this
discussion over.

[snip]

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  6:33                             ` Óscar Fuentes
  2009-12-31  6:51                               ` Miles Bader
@ 2010-01-01 10:01                               ` Stephen J. Turnbull
  2010-01-01 10:19                                 ` Óscar Fuentes
  1 sibling, 1 reply; 80+ messages in thread
From: Stephen J. Turnbull @ 2010-01-01 10:01 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: emacs-devel

Óscar Fuentes writes:

 > Maybe you are not aware that VC went through a complete rewrite to
 > support this on the last year or two.

What I am or am not aware of is irrelevant.  What matters is that it
would be a change for Handa-san.  A change that nobody has yet advised
him to make!

 > Read again. I'm not saying that there's zero problem.

OK.  You made a comment about "perfectly OK", which I read as
including "perfectly safe."  Sorry.

 > Please do not misrepresent my position. One thing is saying that a few
 > more cases of multiple commits is not a problem after years of doing it,
 > other thing is saying that it is fine to keep doing it.

You're missing the point that until now people didn't use "cvs log" in
preference to "grep ChangeLog", etc, though.  Now they are going to
want to.






^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2010-01-01 10:01                               ` Stephen J. Turnbull
@ 2010-01-01 10:19                                 ` Óscar Fuentes
  0 siblings, 0 replies; 80+ messages in thread
From: Óscar Fuentes @ 2010-01-01 10:19 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> Óscar Fuentes writes:
>
>  > Maybe you are not aware that VC went through a complete rewrite to
>  > support this on the last year or two.
>
> What I am or am not aware of is irrelevant.  What matters is that it
> would be a change for Handa-san.  A change that nobody has yet advised
> him to make!

It is advertised on BzrQuickStartForEmacsDevs

>  > Read again. I'm not saying that there's zero problem.
>
> OK.  You made a comment about "perfectly OK", which I read as
> including "perfectly safe."  Sorry.

You are taking that expression out of context.

>  > Please do not misrepresent my position. One thing is saying that a few
>  > more cases of multiple commits is not a problem after years of doing it,
>  > other thing is saying that it is fine to keep doing it.
>
> You're missing the point that until now people didn't use "cvs log" in
> preference to "grep ChangeLog", etc, though.  Now they are going to
> want to.

I hope so.

-- 
Óscar





^ permalink raw reply	[flat|nested] 80+ messages in thread

* Re: GNU Emacs is on Bazaar now.
  2009-12-31  6:02                             ` Dan Nicolaescu
@ 2010-01-01 11:22                               ` Stephen J. Turnbull
  0 siblings, 0 replies; 80+ messages in thread
From: Stephen J. Turnbull @ 2010-01-01 11:22 UTC (permalink / raw)
  To: Dan Nicolaescu; +Cc: Óscar Fuentes, emacs-devel

Dan Nicolaescu writes:

 > Have you actually checked what the current vc.el in Emacs can do?

No.  I can't look at Emacs code until XEmacs converts its license, and
using Emacs drives me nuts because of muscle memory.

 > Please do before making such statements.

I think that would be a bad idea.  For that reasons above I'm not in a
position to do checking effectively, but it's better that I embarrass
myself by being wrong (which is happy for Handa-san, who now should
know about all the tools needed for a reasonable "upgrade" for his
current CVS workflow to bzr) than to leave it entirely unmentioned.

Thank you for the work on vc.




^ permalink raw reply	[flat|nested] 80+ messages in thread

end of thread, other threads:[~2010-01-01 11:22 UTC | newest]

Thread overview: 80+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-27 22:55 GNU Emacs is on Bazaar now Karl Fogel
2009-12-28  6:46 ` Kenichi Handa
2009-12-28  6:55   ` Karl Fogel
2009-12-28  8:07     ` Kenichi Handa
2009-12-28  8:52       ` Andreas Schwab
2009-12-28 11:41         ` Juanma Barranquero
2009-12-28 11:45         ` Kenichi Handa
2009-12-28 12:08           ` Juanma Barranquero
2009-12-28 13:10             ` Kenichi Handa
2009-12-28 12:09           ` Andreas Schwab
2009-12-28 13:22             ` Xavier Maillard
2009-12-28 13:51           ` Stephen J. Turnbull
2009-12-28 14:42             ` Juanma Barranquero
2009-12-28  9:19   ` Andreas Schwab
2009-12-28 11:44     ` Juanma Barranquero
2009-12-28 11:47     ` Kenichi Handa
2009-12-28 12:06       ` Andreas Schwab
2009-12-28 13:08         ` Kenichi Handa
2009-12-28 19:59           ` Andreas Schwab
2009-12-28 21:27             ` Karl Fogel
2009-12-28 22:16               ` Andreas Schwab
2009-12-28 22:24                 ` Karl Fogel
2009-12-29  1:26                   ` Giorgos Keramidas
2009-12-29  2:08                     ` Juanma Barranquero
2009-12-29  2:26                       ` Giorgos Keramidas
2009-12-28 22:30                 ` Óscar Fuentes
2009-12-28 22:41                   ` Karl Fogel
2009-12-28 23:14                     ` Óscar Fuentes
2009-12-29  1:17                       ` Karl Fogel
2009-12-29  2:12                         ` Óscar Fuentes
2009-12-29  1:57                       ` Stephen J. Turnbull
2009-12-29  2:00                         ` Karl Fogel
2009-12-29  2:16                         ` Óscar Fuentes
2009-12-29  4:32                           ` Stephen J. Turnbull
2009-12-29  4:46                             ` Óscar Fuentes
2009-12-29  7:25                               ` Kevin Rodgers
2009-12-29 10:27                               ` Juanma Barranquero
2009-12-29 15:54                                 ` Karl Fogel
2009-12-29 16:01                                   ` Juanma Barranquero
2009-12-29 16:15                                   ` Óscar Fuentes
2009-12-29 18:08                                   ` Eli Zaretskii
2009-12-29 18:09                                     ` Juanma Barranquero
2009-12-29 18:47                                       ` Eli Zaretskii
2009-12-29 18:13                                     ` Chong Yidong
2009-12-29 18:36                                       ` Eli Zaretskii
2009-12-29 18:54                                         ` Karl Fogel
2009-12-29 20:06                                           ` Eli Zaretskii
2009-12-29 20:14                                             ` Karl Fogel
2009-12-31  8:18                                               ` Stephen J. Turnbull
2009-12-31  8:29                                                 ` Óscar Fuentes
2009-12-31  9:26                                                   ` Miles Bader
2009-12-31  8:44                                                 ` Miles Bader
2010-01-01  8:41                                                   ` Stephen J. Turnbull
2009-12-31  5:57                                       ` Stephen J. Turnbull
2009-12-31  6:36                                         ` Óscar Fuentes
2010-01-01  9:21                                           ` Stephen J. Turnbull
2010-01-01  9:48                                             ` Óscar Fuentes
2009-12-31 11:33                                         ` Chong Yidong
2009-12-29  1:47                   ` Stephen J. Turnbull
2009-12-29  2:38                     ` Óscar Fuentes
2009-12-29  4:38                       ` Stephen J. Turnbull
2009-12-29  4:58                         ` Óscar Fuentes
2009-12-31  5:54                           ` Stephen J. Turnbull
2009-12-31  5:58                             ` Miles Bader
2009-12-31  6:02                             ` Dan Nicolaescu
2010-01-01 11:22                               ` Stephen J. Turnbull
2009-12-31  6:33                             ` Óscar Fuentes
2009-12-31  6:51                               ` Miles Bader
2010-01-01 10:01                               ` Stephen J. Turnbull
2010-01-01 10:19                                 ` Óscar Fuentes
2009-12-29  6:14                       ` Karl Fogel
2009-12-29  7:23                         ` Óscar Fuentes
2009-12-28 19:19 ` Eli Zaretskii
2009-12-28 20:00   ` Andreas Schwab
2009-12-28 20:17     ` Eli Zaretskii
2009-12-29 18:00   ` James Cloos
2009-12-29 19:40     ` Óscar Fuentes
2009-12-29 20:02       ` Eli Zaretskii
2009-12-29 20:55       ` James Cloos
2009-12-29 21:30         ` Óscar Fuentes

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