From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: Confusing "bzr log" as result of merges
Date: Sun, 22 May 2011 20:28:04 +0300 [thread overview]
Message-ID: <83lixyejbv.fsf@gnu.org> (raw)
In-Reply-To: <jwv1uzqvnbf.fsf-monnier+emacs@gnu.org>
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: emacs-devel@gnu.org
> Date: Sun, 22 May 2011 11:14:40 -0300
>
> > With the current trunk, type this command:
> > bzr log -l1 --line --include-merges src/xdisp.c
> > You will see this as output:
> > 104201: Glenn Morris 2011-05-12 [merge] Merge from emacs-23; up to r100577.
> > However, neither "bzr status" nor "bzr diff" will show any changes for
> > xdisp.c in that revision. The reason, it seems, is this:
> [...]
> > What can we do to avoid this confusion as result of merges?
>
> Easy: if it hurts, don't do it.
??? You mean, don't use one of the most useful and efficient commands
in bzr?
> The log command you used does not tell you "the latest revision that
> changed src/xdisp.c"
It does, in all other circumstances. It just goes by the metadata,
not by source lines.
> so if you're looking for this latest revision, use something else,
> like bzr annotate.
"bzr annotate" is dog slow, especially on a long and veteran file such
as xdisp.c, even if you limit the range of revisions you ask it to
display. "bzr log", by contrast, is very fast (unless you go fancy
about how you select revisions, e.g. with "-r annotate:"). Guess what
I prefer first and foremost.
You consistently dismiss complaints in this area for reasons I cannot
understand. Just because you don't need these tools does not yet mean
they aren't important for others. I need them a lot while hacking the
display engine, because there's no one here who can help me understand
why a particular piece of code was written; by digging into the
history and finding out who committed it and when, I can most of the
time find the answers and DTRT. But these complications are a huge
time drain for me. Some of them are probably water under the bridge,
because of the way the CVS repository was converted to Bazaar (I guess
the limited testing done back then was not thorough enough), but
others can be avoided.
> The same kind of problems will show up with many other merges.
> The problem is not in the way those branches were handled or how the
> merge was done: the problem is that the request you use will not tell
> you quite what you're looking for (although it may occasionally do).
I don't agree. In general, all the possible ways of asking something
should give you the same answer, otherwise you cannot really trust the
tool. The discrepancy here happens because bzrmerge.el plays unholy
games with the metadata as opposed to the sources. If we need to do
this, let's do it on the branch, as others suggested, not on the
trunk. Alternatively, we could apply to the trunk changes from the
branch as simple diffs, with Patch. I don't see how any of these two
alternatives are worse or harder than what we currently have.
next prev parent reply other threads:[~2011-05-22 17:28 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-21 7:33 Confusing "bzr log" as result of merges Eli Zaretskii
2011-05-21 8:36 ` Andreas Schwab
2011-05-21 8:44 ` Eli Zaretskii
2011-05-21 8:48 ` Eli Zaretskii
2011-05-21 9:01 ` Sven Joachim
2011-05-21 9:16 ` Eli Zaretskii
2011-05-21 9:27 ` Sven Joachim
2011-05-21 9:30 ` Eli Zaretskii
2011-05-21 10:27 ` Sven Joachim
2011-05-21 9:02 ` Andreas Schwab
2011-05-21 9:20 ` Eli Zaretskii
2011-05-21 9:38 ` Andreas Schwab
2011-05-21 10:33 ` Eli Zaretskii
2011-05-21 10:54 ` Andreas Schwab
2011-05-21 10:38 ` Eli Zaretskii
2011-05-21 10:56 ` Andreas Schwab
2011-05-21 11:27 ` Eli Zaretskii
2011-05-21 12:23 ` Andreas Schwab
2011-05-21 12:28 ` Eli Zaretskii
2011-05-21 10:57 ` Sven Joachim
2011-05-21 13:04 ` Eli Zaretskii
2011-05-21 13:37 ` Andreas Schwab
2011-05-21 14:46 ` Eli Zaretskii
2011-05-21 15:18 ` Andreas Schwab
2011-05-21 15:51 ` Eli Zaretskii
2011-05-21 16:39 ` Andreas Schwab
2011-05-21 16:21 ` Óscar Fuentes
2011-05-21 16:42 ` Andreas Schwab
2011-05-21 17:00 ` Óscar Fuentes
2011-05-21 17:06 ` Andreas Schwab
2011-05-21 17:19 ` Óscar Fuentes
2011-05-21 17:52 ` Andreas Schwab
2011-05-22 11:33 ` Juanma Barranquero
2011-05-21 16:48 ` Eli Zaretskii
2011-05-21 17:09 ` Óscar Fuentes
2011-05-21 18:56 ` Eli Zaretskii
2011-05-21 17:27 ` Glenn Morris
2011-05-21 19:02 ` Eli Zaretskii
2011-05-22 1:46 ` Glenn Morris
2011-05-22 14:14 ` Stefan Monnier
2011-05-22 17:28 ` Eli Zaretskii [this message]
2011-05-22 19:15 ` Stefan Monnier
2011-05-23 3:01 ` Eli Zaretskii
2011-05-23 12:02 ` Stefan Monnier
2011-05-23 12:58 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83lixyejbv.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).