rebase did NOT include all the commits AFTER a merge
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:
=== 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:
paul@n61j:
All conflicts resolved.
paul@n61j:
Committing to: /build/
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
security vulnerability: | yes → no |
visibility: | private → public |
Changed in bzr-rewrite: | |
status: | New → Triaged |
importance: | Undecided → High |
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