all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Alan Mackenzie <acm@muc.de>
Cc: Juanma Barranquero <lekktu@gmail.com>,
	Dmitry Gutov <dgutov@yandex.ru>,
	Andreas Schwab <schwab@linux-m68k.org>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: [Emacs-diffs] trunk r116644: ChangeLog entries should be usable without the VCS
Date: Tue, 04 Mar 2014 17:26:14 +0900	[thread overview]
Message-ID: <874n3es72x.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <20140303223535.GE3841@acm.acm>

Alan Mackenzie writes:
 > 'Evening, Andreas!

 > > Neither revision numbers nor hashes are readable.
 > 
 > On the contrary, r116644 is eminently readable and memorisable,

But here we're discussing use in log messages.  Besides Andreas' point
about lack of log information, unlike the hash, it's context-dependent
and unstable.  It means different things in different branches, and
even different things in different instances of (what users consider
to be) the *same* branch.  Consider:

Before merge:

trunk branch (== working copy of trunk, cloned at r10)

  |     |
 r10 = r10
  |     |
 r11   r11
        |
       r12 ... "fix bug introduced in r11"

Note two r11s, and the log message refers to the unstable one.  After
merging into trunk:

  |
 r10
  |\
  | \
  |  r10.1.1
 r11    |
  |  r10.1.2 ... "fix bug introduced in r11"
  | /
  |/
 r12

After pulling merge back into branch:

  |
 r10
  |\
  | \
  |  r10.1.1
 r11    |
  |  r10.1.2 ... "fix bug introduced in r11"
  | /
  |/
 r12

Oops.  This happens because bzr pull insists on duplicating the DAG,
which is nice for later development in some ways.  You could merge
from trunk instead of pulling, which would preserve the branch's
numbering.  But then the DAGs are different, and after merges to trunk
bzr log will show those merges as spurious isolated merge commits.

As far as I can see, there is no way to refer stably to a revision in
a non-trunk branch from a later revision in that branch, unless it is
never merged into another branch at all.  It's even unsafe in the same
branch if you may pull from upstream.

Often, perhaps most of the time, a fix in branch will use a revision
number reference because it happened "far away", probably in trunk (or
a branch already merged to trunk and obsoleted).  In the case of
revision numbers referring to trunk numbering, this will be OK.  I
prefer the much higher reliability (ie, SHA1 collision probability) of
hashes since both are unreadable in Andreas' sense, but YMMV.



  parent reply	other threads:[~2014-03-04  8:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1WKWHG-000385-BB@vcs.savannah.gnu.org>
2014-03-03 17:09 ` [Emacs-diffs] trunk r116644: ChangeLog entries should be usable without the VCS Juanma Barranquero
2014-03-03 17:31   ` David Kastrup
2014-03-03 18:06     ` Juanma Barranquero
2014-03-03 18:09   ` Alan Mackenzie
2014-03-03 18:19     ` Juanma Barranquero
2014-03-03 19:22       ` Dmitry Gutov
2014-03-03 21:23         ` Andreas Schwab
2014-03-03 22:00           ` Alan Mackenzie
2014-03-03 22:28             ` Andreas Schwab
2014-03-03 22:35               ` Alan Mackenzie
2014-03-03 22:53                 ` Andreas Schwab
2014-03-04  8:26                 ` Stephen J. Turnbull [this message]
2014-03-04 16:35                   ` Eli Zaretskii
2014-03-04  0:01           ` Dmitry Gutov
2014-03-04 17:28   ` Glenn Morris
2014-03-04 18:05     ` Juanma Barranquero
2014-03-04 18:13       ` David Kastrup
2014-03-04 18:19         ` Juanma Barranquero

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=874n3es72x.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=acm@muc.de \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.com \
    --cc=schwab@linux-m68k.org \
    /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.