rebase did NOT include all the commits AFTER a merge

Bug #632894 reported by edice
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bzr-rewrite
Triaged
High
Unassigned

Bug Description

This has seriously screwed me up.

Prior to the rebase, the working branch looked like this:

$ bzr missing /repo/

You have 8 extra revision(s):
revno: 2367
timestamp: Wed 2010-09-08 12:00:29 +0800
revno: 2366
timestamp: Wed 2010-09-08 12:00:07 +0800
revno: 2365
timestamp: Wed 2010-09-08 11:59:34 +0800
revno: 2364
timestamp: Wed 2010-09-08 10:29:00 +0800
revno: 2363
timestamp: Tue 2010-09-07 22:46:36 +0800
revno: 2362
timestamp: Tue 2010-09-07 22:28:04 +0800
revno: 2361
timestamp: Fri 2010-09-03 15:05:08 +0800
revno: 2360 [merge]
timestamp: Fri 2010-09-03 11:28:51 +0800
message:
  - Merge from trunk, bug fixes

You are missing 1 revision(s):

------------------------------------------------------------
revno: 2360
timestamp: Tue 2010-08-31 21:04:59 +0800
message:
  - Compile fixes

Next, I did this rebase: (LOOK AT THE 3rd Commit - looks weird to me)
$ bzr rebase /repo/
All changes applied successfully.
Committed revision 2361.
All changes applied successfully.
Committed revision 2362.
All changes applied successfully.
Committed revision 2361.
All changes applied successfully.
Committed revision 2362.
All changes applied successfully.
Committed revision 2363.
All changes applied successfully.
Committed revision 2364.
All changes applied successfully.
Committed revision 2365.
All changes applied successfully.
Committed revision 2366.
All changes applied successfully.
Committed revision 2363.
All changes applied successfully.
Committed revision 2364.
All changes applied successfully.
Committed revision 2365.
Text conflict in utils/version.cpp
1 conflicts encountered.
bzr: ERROR: A conflict occurred replaying a commit. Resolve the conflict and run 'bzr rebase-continue' or run 'bzr rebase-abort'.
paul@n61j:/build/4.0_clustering$ bzr diff
=== modified file 'utils/version.cpp'
--- utils/version.cpp 2010-08-31 02:23:24 +0000
+++ utils/version.cpp 2010-09-08 04:02:25 +0000
etc etc

paul@n61j:/build/4.0_clustering$ vi utils/version.cpp
paul@n61j:/build/4.0_clustering$ bzr resolve
All conflicts resolved.
paul@n61j:/build/4.0_clustering$ bzr rebase-continue
Committing to: /build/4.0_clustering/
modified utils/version.cpp
Committed revision 2366.
All changes applied successfully.
Committed revision 2367.
All changes applied successfully.
Committed revision 2368.
All changes applied successfully.
Committed revision 2367.
All changes applied successfully.
Committed revision 2369.

Now, for the horrific end of this story, now look at my log (cut down to just rev nos and timestamps)

Look at the dates - all of those revisions are from the MERGE, and all of the commits from the last 5 days are missing.

I'm about to faint.

$ bzr log
revno: 2369
timestamp: Fri 2010-09-03 11:17:00 +0800
revno: 2368
timestamp: Fri 2010-09-03 11:16:18 +0800
revno: 2367
timestamp: Fri 2010-09-03 11:15:19 +0800
revno: 2366
timestamp: Fri 2010-09-03 09:51:39 +0800
revno: 2365
timestamp: Thu 2010-09-02 17:55:09 +0800
revno: 2364
timestamp: Thu 2010-09-02 17:54:56 +0800
revno: 2363
timestamp: Wed 2010-09-01 17:07:25 +0800
revno: 2362
timestamp: Wed 2010-09-01 17:06:46 +0800
revno: 2361
timestamp: Wed 2010-09-01 15:17:14 +0800
revno: 2360
timestamp: Tue 2010-08-31 21:04:59 +0800
revno: 2359 [merge]
timestamp: Tue 2010-08-31 20:59:43 +0800

edice (harris-pc)
security vulnerability: yes → no
visibility: private → public
Revision history for this message
edice (harris-pc) wrote :

I used bzr heads --dead-only to locate the checkin that I had lost... yay. But the mystery deepens.

I found TWO dead heads,
one looks like what I was working on,
and the other looks like what rebase should've generated.
What is very weird is that the rebase-generated one has got a merge on a commit where it wasn't before.

This is the one that I think looks like what I was working on:
---
revno: 2367
timestamp: Wed 2010-09-08 12:00:29 +0800
---
revno: 2366
timestamp: Wed 2010-09-08 12:00:07 +0800
---
revno: 2365
timestamp: Wed 2010-09-08 11:59:34 +0800
---
revno: 2364
timestamp: Wed 2010-09-08 10:29:00 +0800
---
revno: 2363
timestamp: Tue 2010-09-07 22:46:36 +0800
---
revno: 2362
timestamp: Tue 2010-09-07 22:28:04 +0800
---
revno: 2361
timestamp: Fri 2010-09-03 15:05:08 +0800
message:
  - Compile fix
---
revno: 2360 [merge]
timestamp: Fri 2010-09-03 11:28:51 +0800
message:
  - Merge from trunk, bug fixes
---
revno: 2359 [merge]
timestamp: Tue 2010-08-31 20:59:43 +0800
message:
  - Merge from trunk

The possible rebase one:
revno: 2367
timestamp: Wed 2010-09-08 12:00:29 +0800
---
revno: 2366
timestamp: Wed 2010-09-08 12:00:07 +0800
---
revno: 2365
timestamp: Wed 2010-09-08 11:59:34 +0800
---
revno: 2364
timestamp: Wed 2010-09-08 10:29:00 +0800
---
revno: 2363
timestamp: Tue 2010-09-07 22:46:36 +0800
---
revno: 2362
timestamp: Tue 2010-09-07 22:28:04 +0800
---
revno: 2361 [merge] **** WAS NOT A MERGE BEFORE
timestamp: Fri 2010-09-03 15:05:08 +0800
message:
  - Compile fix
---
revno: 2360
committer: Paul Harris <email address hidden>
branch nick: 4.0_clustering
timestamp: Tue 2010-08-31 21:04:59 +0800
message:
  - Compile fixes
---
revno: 2359 [merge]
timestamp: Tue 2010-08-31 20:59:43 +0800
message:
  - Merge from trunk

Jelmer Vernooij (jelmer)
Changed in bzr-rewrite:
status: New → Triaged
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.