From: Eli Zaretskii <eliz@gnu.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: yandros@MIT.EDU, emacs-devel@gnu.org
Subject: Re: attribute warn_unused_result
Date: Fri, 04 Feb 2011 10:18:09 +0200 [thread overview]
Message-ID: <83k4hgb4ce.fsf@gnu.org> (raw)
In-Reply-To: <4D4B2510.8060002@cs.ucla.edu>
> Date: Thu, 03 Feb 2011 13:58:40 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: Chad Brown <yandros@MIT.EDU>, emacs-devel@gnu.org
>
> Before, I was pretty cautious, and checked out everything
> separately, doing a complete build and "make dist" and so forth,
> before committing a change.
>
> However, I was told I was being overly conservative
> and inefficient, that this caution was getting in the way
> making it convenient to do the Windows port,
> and that it's better to just do a bzr merge
> without the final check. So I started doing that today;
> but I broke things because I forgot to do a "bzr add"
> before the merge.
>
> Perhaps I should go back to being cautious. :-)
Cautious, yes, but I don't think extreme measures such as "make dist"
are required (and how would that tell you that texinfo.tex is being
part of the merge commit, anyway?).
Here's what I normally do after I finish development (and testing) of
some change on a branch, and before I merge onto the trunk:
. Run "bzr status".
. Review every file marked "modified", "added", "removed",
"renamed", and "kind changed", and make sure all of them are meant
to be part of the changeset.
. Review every file marked "unknown", and make sure none of them
should be "bzr add"ed.
. Make sure that every directory that has any of the above files has
also a ChangeLog that is "modified" and is part of the changeset.
. Run "bzr diff -rsubmit:", and review the diffs to make sure the
changes I'm about to merge are what I expect.
. If several local commits to the branch were done since the last
merge, run "bzr log --line" to see their commit messages, and make
sure all of them are indeed parts of a single changeset.
. Merge, run "configure && make", test, and make sure everything
builds and works on the trunk as well.
This procedure takes only a few moments, and is very efficient in
catching mistakes before they are propagated to the remote
repository. In some rare cases, the remote repository gets commits
while I build and test the merged code, and I need a "bzr up" before
committing. But the changes are usually in unrelated places, so no
additional testing is required, and I can proceed with an immediate
commit of my own. (To eliminate almost all possible conflicts in
ChangeLog files, I use the changelog_merge plugin.)
IOW, it isn't about being over-cautious, it's about using efficiently
the tools we have at hand. Granted, I wasn't born with the above
knowledge; it took some time to learn and get used to these
facilities. I post it here in the hope this procedure will be useful
to others.
next prev parent reply other threads:[~2011-02-04 8:18 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-03 14:57 attribute warn_unused_result Eli Zaretskii
2011-02-03 18:53 ` Stefan Monnier
2011-02-03 19:33 ` Paul Eggert
2011-02-03 20:42 ` Chad Brown
2011-02-03 21:30 ` Eli Zaretskii
2011-02-03 21:58 ` Paul Eggert
2011-02-04 0:17 ` Lennart Borgman
2011-02-04 8:18 ` Eli Zaretskii [this message]
2011-02-05 16:30 ` Chong Yidong
2011-02-03 21:40 ` Paul Eggert
2011-02-04 8:41 ` Eli Zaretskii
2011-02-04 8:51 ` Paul Eggert
2011-02-04 21:05 ` Stefan Monnier
2011-02-05 8:50 ` Eli Zaretskii
2011-02-03 21:47 ` Lennart Borgman
2011-02-04 21:08 ` Stefan Monnier
2011-02-04 21:15 ` Lennart Borgman
2011-02-05 9:03 ` Eli Zaretskii
2011-02-05 8:59 ` Eli Zaretskii
2011-02-03 22:08 ` Andy Moreton
2011-02-03 23:00 ` Paul Eggert
2011-02-03 21:16 ` Eli Zaretskii
2011-02-03 21:14 ` Eli Zaretskii
2011-02-04 0:57 ` Paul Eggert
2011-02-04 8:29 ` Eli Zaretskii
2011-02-04 15:50 ` Tom Tromey
2011-02-04 16:38 ` Eli Zaretskii
2011-02-04 17:12 ` Tom Tromey
2011-02-05 0:11 ` Paul Eggert
2011-02-05 9:18 ` Eli Zaretskii
[not found] ` <yyxvd0yxwv1.fsf@fencepost.gnu.org>
2011-02-06 1:34 ` Paul Eggert
2011-02-06 4:07 ` Eli Zaretskii
2011-02-06 7:04 ` Paul Eggert
2011-02-06 10:21 ` Eli Zaretskii
2011-02-06 18:58 ` Paul Eggert
2011-02-06 19:27 ` Eli Zaretskii
2011-02-06 20:11 ` Paul Eggert
2011-02-06 21:26 ` Eli Zaretskii
2011-02-04 21:14 ` Stefan Monnier
2011-02-05 8:57 ` Eli Zaretskii
2011-02-05 16:01 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83k4hgb4ce.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=eggert@cs.ucla.edu \
--cc=emacs-devel@gnu.org \
--cc=yandros@MIT.EDU \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.