/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.436.1 by Jelmer Vernooij
Add framework for git-rebase plugin.
1
This plugin provides a 'bzr rebase' command, in the same fashion of the 
2
famous git-rebase.
0.436.2 by Jelmer Vernooij
Add stubs for testsuite, rebase-continue and rebase-abort commands.
3
0.436.8 by Jelmer Vernooij
Couple more minor fixes.
4
==========
5
How to use
6
==========
0.436.16 by Jelmer Vernooij
Some more work on maptree.
7
Simply run ``bzr rebase``, optionally specifying an upstream branch. If no 
8
branch is specified, it will use the current parent branch (which is usually 
9
what you want).
10
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
11
If the rebase fails halfway through, perhaps because of conflicts 
12
replaying a revision, it will abort. When it's aborted, you can either resolve
13
the conflicts (using "bzr resolve") and run ``bzr rebase-continue`` or 
14
abort the rebase and undo all changes it's done using ``bzr rebase-abort``. 
15
The current state of the rebase can be viewed with the ``bzr rebase-todo`` 
16
command.
17
0.436.16 by Jelmer Vernooij
Some more work on maptree.
18
In the future, I hope it can also support rebasing on top of an unrelated 
19
branch.
0.436.8 by Jelmer Vernooij
Couple more minor fixes.
20
21
============
0.436.2 by Jelmer Vernooij
Add stubs for testsuite, rebase-continue and rebase-abort commands.
22
How it works
23
============
24
The plugin will start off by writing a plan for the rebase, which it 
0.436.6 by Jelmer Vernooij
Add somewhat more complex plan generation function, rebase implementation.
25
will write to .bzr/checkout/rebase-state. If the rebase is interrupted 
26
(conflicts that have to be resolved by the user) and 
0.436.2 by Jelmer Vernooij
Add stubs for testsuite, rebase-continue and rebase-abort commands.
27
needs to be continued or aborted, it will read this file to see what needs 
28
(still) needs to be done.
29
30
The rebase-state file contains the following information:
31
 * last-revision-info when the rebase was started
32
 * map of revisions that need to be replaced. In simple situations, 
0.436.4 by Jelmer Vernooij
Add some tests.
33
   this would contain the revision on top of which the rebase is taking 
34
   place and the revisions that are only on the branch that is being 
35
   rebased.
36
37
   The map is from old revid to a tupole with new revid and new parents.
38
39
   For example, in the following scenario:
40
41
   A -> B -> C -> D main
42
        \ -> E -> F next
43
44
   Where next would be rebased on top of main, the replace map would look 
45
   something like this:
46
47
	E -> (E', [D])
48
	F -> (F', [E'])
49
50
   Corner cases would be situations like this:
51
52
    A -> B -> C -> D main
53
	     |\-> G -\
54
         \ -> E ---> F next
55
56
    Would G get rebased on top of D rather than B?