Will re-basing support be added into Bazaar core ?

David Timothy Strauss david at fourkitchens.com
Mon Apr 20 10:08:17 BST 2009


----- "Russel Winder" <russel.winder at concertant.com> wrote:

> I am not sure I agree that the result is the same.  Won't "bzr
> missing" between mainline and feature branch give a useless set of
> information?

Works fine. Here's an example where I'd had the upstream and feature branches diverge, I merge from upstream into the feature branch, and then I check what the feature branch has that the upstream one doesn't. For good measure, I show use of "bzr diff --old=[mainline]", too.

Curium:Sandbox straussd$ mkdir missing
Curium:Sandbox straussd$ cd missing/
Curium:missing straussd$ ls
Curium:missing straussd$ bzr init upstream
Created a standalone tree (format: pack-0.92)                                  
Curium:missing straussd$ cd upstream/
Curium:upstream straussd$ touch work.cpp
Curium:upstream straussd$ bzr add
adding work.cpp
Curium:upstream straussd$ bzr commit -m "Initial upstream."
Committing to: /Users/straussd/Sandbox/missing/upstream/                       
added work.cpp
Committed revision 1.                                                          
Curium:upstream straussd$ cd ..
Curium:missing straussd$ bzr branch upstream feature
Branched 1 revision(s).                                                        
Curium:missing straussd$ cd upstream/
Curium:upstream straussd$ echo "Upstream change" > work.cpp 
Curium:upstream straussd$ bzr commit -m "Add change."
Committing to: /Users/straussd/Sandbox/missing/upstream/                       
modified work.cpp
Committed revision 2.                                                          
Curium:upstream straussd$ cd ..
Curium:missing straussd$ cd feature/
Curium:feature straussd$ echo "My feature" > feature.cpp
Curium:feature straussd$ bzr add
adding feature.cpp
Curium:feature straussd$ bzr commit -m "Add feature"
Committing to: /Users/straussd/Sandbox/missing/feature/                        
added feature.cpp
Committed revision 2.                                                          
Curium:feature straussd$ bzr merge ../upstream
 M  work.cpp                                                                   
All changes applied successfully.
Curium:feature straussd$ bzr commit -m "Merge in upstream."
Committing to: /Users/straussd/Sandbox/missing/feature/                        
modified work.cpp
Committed revision 3.                                                          
Curium:feature straussd$ bzr missing ../upstream/
You have 2 extra revision(s):
------------------------------------------------------------
revno: 3
committer: David Strauss <david at fourkitchens.com>
branch nick: feature
timestamp: Mon 2009-04-20 09:02:16 +0000
message:
  Merge in upstream.
------------------------------------------------------------
revno: 2
committer: David Strauss <david at fourkitchens.com>
branch nick: feature
timestamp: Mon 2009-04-20 09:01:59 +0000
message:
  Add feature
Curium:feature straussd$ bzr diff --old=../upstream/
=== added file 'feature.cpp'
--- feature.cpp	1970-01-01 00:00:00 +0000
+++ feature.cpp	2009-04-20 09:01:50 +0000
@@ -0,0 +1,1 @@
+My feature
Curium:upstream straussd$ 

> Also what is the technique of reintegration of feature branch to
> mainline -- if it involves going outside the DVCS then isn't that an
> admission of failure?

I explain this in another reply in this thread in more detail, but you simply use "bzr merge":

Curium:feature straussd$ cd ../upstream/
Curium:upstream straussd$ bzr merge ../feature/
+N  feature.cpp                                                                      
All changes applied successfully.
Curium:upstream straussd$ bzr commit -m "Merge in feature branch."
Committing to: /Users/straussd/Sandbox/missing/upstream/                             
added feature.cpp
Committed revision 3.
Curium:upstream straussd$ bzr log
------------------------------------------------------------
revno: 3
committer: David Strauss <david at fourkitchens.com>
branch nick: upstream
timestamp: Mon 2009-04-20 09:06:51 +0000
message:
  Merge in feature branch.
    ------------------------------------------------------------
    revno: 1.1.2
    committer: David Strauss <david at fourkitchens.com>
    branch nick: feature
    timestamp: Mon 2009-04-20 09:02:16 +0000
    message:
      Merge in upstream.
    ------------------------------------------------------------
    revno: 1.1.1
    committer: David Strauss <david at fourkitchens.com>
    branch nick: feature
    timestamp: Mon 2009-04-20 09:01:59 +0000
    message:
      Add feature
------------------------------------------------------------
revno: 2
committer: David Strauss <david at fourkitchens.com>
branch nick: upstream
timestamp: Mon 2009-04-20 09:01:34 +0000
message:
  Add change.
------------------------------------------------------------
revno: 1
committer: David Strauss <david at fourkitchens.com>
branch nick: upstream
timestamp: Mon 2009-04-20 09:00:58 +0000
message:
  Initial upstream.
Curium:upstream straussd$ 



More information about the bazaar mailing list