previous | next
 
home  |  sales  |  customers  |  jobs  |  contact  |  search  
 
 Home 
 Products 
 Customers 
 Comparisons 
 Sales 
 Test Drive 
 Company 
 Jobs 
 Support 
 Documentation 
      - Quick reference guide 
      - Reference manual 
      - Command Comparisons 
        . CVS to BK 
      - User guide 
      - FAQS 
        . General usage 
        . Making changes 
        . Viewing changes 
        . File operations 
        . Multiple file operations 
        . Merges 
        . Import 
        . Undoing work 
        . Tags 
        . Failure recovery 
        . Event triggers 
        . Configuration 
        . Error messages 
        . Windows/NT 
        . BK/Web 
        . Linux 
      - HOWTO's 
        . License Keys: Closed Source 
        . License Keys: Open Source 
        . Multiple code lines 
        . CVS to BitKeeper 
 Search 
 Site Map 
    

Failure recovery


  • What does BitKeeper do in the event of some failure? Will we have half-done work in BitKeeper?
    It depends on the failure. All of the common failures have been handled, but new users find new and wonderful ways to make BitKeeper fail. The most important thing to do if something goes wrong is to create a "tarball" of the repository before you try to figure out what went wrong. Suppose you had a cloned copy in your home directory named "my_work". If something goes wrong do this:

    cd
    tar czf BUG.tgz my_work

    That way, if you can't fix it, you have something that you can ask BitMover to unscramble. We've successfully unscrambled problems that were quite complicated and each time we do that, we put code into the system to make sure the problem doesn't come back. So please tell us about any problems you find.

    
    
    If the machine has a failure, do a bk -r check -a
    which will check the repository to make sure it's in a consistent
    state.
    If check reports errors, contact BitMover.
    
    
    
    
  • How do I complete a failed pull? I did a pull and had files checked out and the pull didn't complete. I noticed that a PENDING directory was created. Is there a way for me to complete the resolve without making another network connection?
    The contents in the PENDING directory need to be rerun. The pending directory will have one or more patch files that have names made up of the data plus a sequence number. Find the latest PENDING file and then run takepatch and resolve on it. For example:

    bk takepatch -vvf PENDING/2000-09-19.01
    bk resolve -a

    
    
    
  • What's the best way to recover from the following type of error?

    docs/img/services/acct/top_back_bar.gif: 2 deltas
    docs/img/services/acp/titles/scheduled.gif: 2 deltas
    ---------------------------------------------------------------------------
    takepatch: saved entire patch in PENDING/2001-03-26.02
    ---------------------------------------------------------------------------
    =================================== ERROR ====================================
    takepatch: SCCS/s.ChangeSet is locked w/o writable gfile?
    takepatch: patch left in PENDING/2001-03-26.02
    ==============================================================================
    496746 bytes uncompressed to 1127864, 2.27X expansion

    If you are doing a push, go to the parent tree; if you are doing a pull, go to the client tree, and from that directory type:

    cd RESYNC;
    bk unlock -p ChangeSet

    
    
    
  • Given the following situation, how do I continue the resolve?
    box ``A'' holds a clone of a repository
    box ``B'' is where I'm working
    I had a resolve going on box ``A'', in an rxvt on box going until box ``B'' crashed. Now when I try to run resolve I get:

    $ bk resolve
    Using boxB:0.0 as graphical display
    Verifying consistency of the RESYNC tree...
    =======================================================================
    check: arch/ppc/kernel/pmac_pci.c is locked but not checked out,
    which usually means that a file was locked (via a "bk edit")
    and then removed without being unlocked.
    =======================================================================
    {bk} {-r} {check} {-cR} failed. Resolve not even started.
    resolve: RESYNC directory left intact.
    =======================================================================

    Try this:

    cd to the RESYNC tree
    bk unlock -p arch/ppc/kernel/pmac_pci.c

    Alternatively, if you have not invested a lot of work in the resolve process, you can always do a bk abort and re-do the bk pull.

    
    
    
  • I'm trying to do a fairly large clone remotely and because the connection appears quiet, the line is dropped and the clone then fails. What can I do to work around this?
    To keep the line alive, and thus the clone, open a second window and ping the repository every ten seconds or so.
    
    
    
  • I accidentally deleted a SCCS/s.* file in my cloned repository. To continue working, I scp'ed it from the parent repository. Is this the correct fix? Is there a better way?
    That will always work as long as the parent is not ahead or behind where you were when you lost the file. If the parent is behind, you are out of luck. If the parent is ahead, then you can actually strip it backwards to make it match your environment.
    
    
    Remember that you can always run  bk -r check -a to
    make sure BitKeeper is happy with the state of the repository.
    
    
    
    
  • I have gotten myself into trouble by doing some part of the checkout, edit, commit operation as root. Now when I try to push, I get:

    bk push
    ----------------------- Sending the following csets -----------------------
    1.336
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    takepatch: saved entire patch in PENDING/2001-03-06.07
    ---------------------------------------------------------------------------

    =================================== ERROR ====================================
    takepatch: SCCS/s.ChangeSet is locked w/o writable gfile?
    takepatch: patch left in PENDING/2001-03-06.07
    ==============================================================================

    What can I do about this?
    Try:

    bk -R unlock -p ChangeSet


Home    Products    How to Buy    Customers    Downloads    Support    Privacy Policy    Site Map    Contact Us

© 1997-2013, BitMover, Inc.