← Back to team overview

kicad-developers team mailing list archive

Re: bzr problem


On 4/14/2010 8:11 AM, Milan Horák wrote:
> Hallo,
> trying to 'bzr merge', but it writes
> bzr: ERROR: Working tree "/home/mhorak/bzr/kicad/" has uncommitted
> changes (See bzr status).
> 'bzr status' reports
> modified:
>   cvpcb/cvstruct.h
>   cvpcb/readschematicnetlist.cpp
>   pcbnew/tool_pcb.cpp
> pending merge tips: (use -v to see all merge revisions)
>   jean-pierre charras 2010-04-13 fixed 2 minor bugs
> Am I doing something wrong?

Yes.  You must commit the previous merge to your local branch before
performing another merge.  When you create a local repo using the Bazaar
branch command, you created a stand alone copy of the testing repo that
is not directly linked to the main repo like Subversion.  In other words
your local branch will have its own commit log separate from that of the
main branch.  This is how distributed version control works.  You branch
is a descendant of the main tree not a mirror of it.  You are free
modify your local branch repo without being connected to the parent.  If
you wish to work in a centralized manor like subversion, you would use
the checkout command to create your repo.  Now your development cycle
would be just like Subversion.  You would use update instead of merge to
pull the latest changes from launchpad and commit would push your
changes to the launchpad repo.  Confused yet?  Me too.  The beauty of
DVCS is you are free to develop any way you prefer.  The problem with
DVCS is you are free to develop any way you prefer.  The tutorials on
the Bazaar website are a good place to start.  This is how I am working:

bzr branch lp:kicad kicad.dev    ; Working copy where I make changes.
bzr checkout lp:kicad kicad.bzr  ; Linked to the main launchpad repo.
cd kicad.dev

Hack on the Kicad source.

bzr merge                        ; Merges changes in launchpad to my
                                 ; dev branch.

Fix any conflicts.

bzr commit                       ; Updates any changes in my dev branch.
                                 ; has no effect on launchpad repo
cd ../kicad.bzr
bzr update                       ; Pull latest changes from launchpad.
bzr merge ../kicad.dev           ; Merge my working branch changes.
bzr commit -m "commit msg"       ; Commit my changes to launchpad.

This is just one way to approach it.  It helps me to think about it this
way.  Using bzr branch gives me a repo that I can change as much as I
want without anyone else seeing my local changes.  I have my own change
history that doesn't pollute the main repo change history.  Using bzr
checkout keeps me directly linked to the launchpad repo.  Any commits I
make will be visible to everyone else.  I hope I didn't confuse you.


> Did 'bzr branch' on 2345 revision and it went good. But no more.
> Milan
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp