Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • Home > Linux > Programming > Version Control

    checkoutmanager 1.13

    Download button

    No screenshots available
    Downloads: 383  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Reinout van Rees | More programs
    GPL / FREE
    July 23rd, 2012, 10:13 GMT [view history]
    ROOT / Programming / Version Control

     Read user reviews (0)  Refer to a friend  Subscribe

    checkoutmanager description

    Makes bzr/hg/git/svn checkouts in several places according to a config file

    checkoutmanager makes bzr/hg/git/svn checkouts in several places according to a config file.

    Developer comments

    The advantage: you've got one command with which you can update all your checkouts. And with which you can ask for a list of uncommitted changes. And you can rebuild your entire checkout structure on a new machine just by copying the config file (this was actually the purpose I build it for: I had to change laptops when I switched jobs...).

    Warning: I only tested it on OSX and Linux, so no guarantees for windows. If there are changes needed, they'll probably be minor. So I welcome bug reports and patches.

    Generic usage

    What I normally do every morning when I get to work is checkoutmanager up. This grabs the latest versions of all my checkouts from the server(s). So an svn up for my subversion checkouts, a hg pull -u for mercurial and so on.

    From time to time, I'll do a checkoutmanager st to show if I've got some uncommitted files lying around somewhere. Very handy if you've worked in several directories throughout the day: it prevents you from forgetting to check in that one bugfix for a whole week.

    A new project means I add a single line to my config file and run checkoutmanager co.

    Checkoutmanager allows you to spread your checkouts over multiple directories. It cannot mix version control systems per directory, however. As an example, I've got a ~/buildout/ directory with my big svn website projects checked out there. And a directory with my svn work python libraries. And a ~/hg/ dir with my mercurial projects. And I've made checkouts of several config directories in my home dir, such as ~/.emacs.d, ~/.subversion and so on. Works just fine.

    Commands

    Available commands:

    exists
     Print whether checkouts are present or missing
    up
     Grab latest version from the server.
    st
     Print status of files in the checkouts
    co
     Grab missing checkouts from the server
    missing
     Print directories that are missing from the config file

    Output directory naming

    If you don't specify an output directory name for your checkout url, it just takes the last part. One exception: subversion. It is intelligent there:

     * https://xxx/yyy/product/trunk becomes "product" instead of "trunk".
     * https://xxx/yyy/product/branches/experiment becomes "product_experiment" instead of "experiment"

    If you want something else, just specify a directory name (separated by a space) in the configuration file.

    Config file

    Sample configuration file:

    # Sample config file. Different sections per base location and version
    # control system. Splitting everything all over the place in multiple
    # directories is fine.

    [recipes]
    # Buildout recipes I work on.
    vcs = svn
    basedir = ~/svn/recipes
    checkouts =
     svn://svn/blablabla/trunk
     svn://svn/another/trunk differentname
     http://host/yetanother/trunk
     https://host/yetanother/branches/reinout-fix

    [dotfolders]
    # Folders that end up as dotted configfolders in the root.
    vcs = bzr
    basedir = ~
    checkouts =
     lp:emacsconfig/trunk .emacs.d
     sftp://somwhere/subversion/trunk .subversion



    Product's homepage

    Requirements:

    · Python

    What's New in This Release: [ read full changelog ]

    · Not using the sample config file as the test config file anymore. This means there's a much nicer and more useful sample config file now.

    · (Thanks Craig Blaszczyk for his pull request that was the basis for this!)

      


    TAGS:

    svn checkout | bzr checkout | hg checkout | bzr | svn | hg

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM