[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"No safeguard against rewriting upstream bzr history" (was: bzr is dying

From: Joshua Judson Rosen
Subject: "No safeguard against rewriting upstream bzr history" (was: bzr is dying; Emacs needs to move)
Date: Sun, 05 Jan 2014 11:13:48 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Thien-Thi Nguyen <address@hidden> writes:
> - Investigate "no safeguard against rewriting upstream bzr repo history":
>   <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00098.html>.
>   I'd like to determine if the "doesn't work" part lies in bzrlib or
>   in git-remote-bzr.  I suspect the latter, since there is no call
>   to ‘die’ in that code.  Hmmm, time to snapshot the (relatively)
>   svelte repo and see what damage a tweaked git-remote-bzr can do,
>   i suppose...

If it's true, one could also say that the upstream branches
are misconfigured: if you set "append_revisions_only = True"
in the branch's .bzr/branch/branch.conf, then the bzr
server will enforce that revisions are only ever added to
the left hand side (mainline edge) of the DAG and never
removed (either by uncommitting or by re-orienting the DAG).

In the case where "append_revisions_only = False", then
"bzr push" is allowed to reorient the DAG so that
a different edge becomes the left hand side (which happens
if someone merges trunk down _into their branch_ and then
pushes their branch up), "bzr uncommit" is allowed to
remove revisions, and "bzr push --overwrite" is allowed
to stomp all over things.

When creating new branches, there's an argument to "bzr init"
that sets this option; if you have write access to the upstream
emacs branches through SFTP, you should probably be able to set
options like append_revisions_only on the existing branch by
SFTP'ing up a new branch.conf file.

"'tis an ill wind that blows no minds."

reply via email to

[Prev in Thread] Current Thread [Next in Thread]