[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "No safeguard against rewriting upstream bzr history"
From: |
Thien-Thi Nguyen |
Subject: |
Re: "No safeguard against rewriting upstream bzr history" |
Date: |
Mon, 06 Jan 2014 10:00:19 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
() Wolfgang Jenkner <address@hidden>
() Sun, 05 Jan 2014 19:38:18 +0100
So part of the bzrlib safeguard against rewriting history is actually
in one of the callees of generate_revision_history, while
git-remote-bzr seems to assume that it is all in push_branch.
Given that the Emacs repo does indeed have that configuration variable
set, sounds like the situation is not actually critical. Cool.
Nobody has confirmed the sanity check, but w/ this safeguard in place, i
suppose that won't be necessary. Full speed ahead...
BTW, here is a small patch that makes git-remote-bzr better-behaved:
diff -u /etc/alternatives/ /tmp/git-remote-bzr
--- /etc/alternatives/git-remote-bzr 2013-12-07 00:20:48.000000000 +0100
+++ /tmp/git-remote-bzr 2014-01-06 09:18:59.000000000 +0100
@@ -679,7 +679,21 @@
if ref.startswith('refs/heads/'):
name = ref[len('refs/heads/'):]
branch = get_remote_branch(name)
- branch.generate_revision_history(revid, marks.get_tip(name))
+
+ # This alone is not sufficient:
+ #- branch.generate_revision_history(revid, marks.get_tip(name))
+ #
+ # Instead, we need to also handle the situation
+ # where the remote branch is configured with:
+ # append_revisions_only = True
+ #
+ # TODO: Refactor the "error message and continue".
+
+ try:
+ branch.generate_revision_history(revid, marks.get_tip(name))
+ except bzrlib.errors.AppendRevisionsOnlyViolation:
+ print "error %s non-fast forward" % ref
+ continue
if name in peers:
peer = bzrlib.branch.Branch.open(peers[name],
I haven't tested it (yet), but anyway hope it, or its essence, can be
incorporated into the next git-remote-bzr release.
--
Thien-Thi Nguyen
GPG key: 4C807502
(if you're human and you know it)
read my lisp: (responsep (questions 'technical)
(not (via 'mailing-list)))
=> nil
pgpwuM4qk_klV.pgp
Description: PGP signature
- Re: bzr is dying; Emacs needs to move, (continued)
- Re: bzr is dying; Emacs needs to move, James Cloos, 2014/01/02
- Re: bzr is dying; Emacs needs to move, Andreas Schwab, 2014/01/03
- Re: bzr is dying; Emacs needs to move, joakim, 2014/01/03
- Re: bzr is dying; Emacs needs to move, RĂ¼diger Sonderfeld, 2014/01/03
- Re: bzr is dying; Emacs needs to move, joakim, 2014/01/03
Re: bzr is dying; Emacs needs to move, Samuel Bronson, 2014/01/03
Re: bzr is dying; Emacs needs to move, Bozhidar Batsov, 2014/01/02
Re: bzr is dying; Emacs needs to move, Richard Stallman, 2014/01/02
- PROPOSAL: Move to git, now that bzr is no longer a req., Karl Fogel, 2014/01/02
- Re: PROPOSAL: Move to git, now that bzr is no longer a req., Jose E. Marchesi, 2014/01/02
- Re: PROPOSAL: Move to git, now that bzr is no longer a req., Ulrich Mueller, 2014/01/02
- Re: PROPOSAL: Move to git, now that bzr is no longer a req., Mitchel Humpherys, 2014/01/02