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 
    

Undoing work


  • How do I undo or back out changes?
    There are several ways to get back to an earlier version:
    
    
    a) When debugging a problem, you may want to base a bug fix on an
    earlier release.
    First you'll want to find the correct version of the package (you
    can say bk revtool without a file name argument to
    browse the package, or say bk changes to see the
    changes from the command line).
    
    
    
    Once you have the version, say:
    

    bk clone -r<version> master bugfix

    Then make the changes in bugfix. Whether you merge them back into master or not is a policy decision; most companies create a bug fix tree (or series of them) and engineers clone from "Project-1.0" and push back into that.

    
    
    b) If a change came into your tree and more changes are also there
    on top of the earlier change, you cannot use undo to get rid of
    the change.
    You can "exclude" that change by running
    

    bk cset -x<version>

    which will create a change that removes the effects of the change specified by <vers> (and yes, you can later bk cset -x the change that excluded the first change and the first change will come back). This choice is by far the safest thing to do - no information is lost and you can change your mind later.

    
    
    c) If you pulled a change into your tree, and you are not ready
    that change yet, then you may be able to undo it.
    It has to be the most recent change or series of changes.
    To undo it, find the versions that you want to get rid of, make
    sure they are at the top of the graph, and run:
    

    bk undo -r<vers>,<vers>,<vers>

    
    
    
  • How do I manually do an anti-delta on a single file?
    Very easily. All the bk cset -x does is recursively do a bk get -e -x on each of the deltas in each of the files which were part of the specified changeset.
    
    
    If all you wanted to do was undo the effect of the bk cset
    -x (or -i) on a single file, and that file was
    last modified by the cset, then you can just X out the
    -x like so:
    

    bk edit -x+ file

    if you want to have some weird fun, you can keep repeating that. All you are doing is manipulating the set deltas which make up the file contents.

    
    
    
  • How do I remove changes from the last pull? Basically, I am looking for a 'bk undolast' kind of command'.

    bk unpull


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

© 1997-2013, BitMover, Inc.