[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/~dang
From:       Clarence Dang <dang () kde ! org>
Date:       2006-12-25 0:27:37
Message-ID: 1167006457.023911.1240.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 616293 by dang:

Add 3 useful scripts I've had sitting around the place:


1. kbus (starts DBUS server safely)
~~~~~~~

Running a KDE 3 app starts the DCOP server.  However, running a KDE 4 app
does not start DBUS.  This script ensures that DBUS is started exactly once
for the current user, no matter how many times it is run.
        
    Usage: ". kbus" or "source kbus".

Run this on every console and it will start DBUS the first time and setup
the environment variables every time.  In other words, you run it every
time you need DBUS and it will take care of the details.

Maybe kdesdk/ already has a script that does this, not sure.


2. svnupfast (an "svn up" that takes half the bandwidth)
~~~~~~~~~~~~

When I was on a modem, "svn up" was far too slow so I experimented with an
alternative: "svn up" in each subdirectory (and "svn up -N" in the root).

Benchmark: A checkout of https://svn.kde.org/home/kde/trunk/KDE/kdebase/konqueror
           was updated from r514723 to r532882.

            Update Method | Wall Clock Time | Bytes In  | Bytes Out
           ---------------+-----------------+-----------+-----------
            svn up        |    3m32.312s    | 1,022,071 |    82,589
            svnupfast     |    5m36.562s    |   585,901 |    92,979

Conclusion: "svnupfast" is actually slower than "svn up" (probably due to
             handshake latency) but takes half the bandwidth (I've always
             suspected that SVN takes more bandwidth than needed).

             "svnupfast" is therefore only faster on a shared connection
             where bandwidth is of the essence.


3. svn-import-changes (distributed revision control system)
~~~~~~~~~~~~~~~~~~~~~

Helps manually merge changes from one repository into another.  Great for
modem users.

The idea is that you take a checkout of the main repository and create a
local repository using this checkout.  You then work exclusively using the
local repository.

When you have access to the main repository again, do a clean checkout and
run this script inside this checkout, after modifying the script to point
to your local repository.

It then merges your local repository into the main repository, revision by
revision, pausing at each step.  The pausing lets you CTRL+C to resolve
conflicts and then you can restart the script again, after modifying it
to point to the next revision.

The poor person's distributed revision control system.  I'm sure SVK works
much better but this is simpler and has fewer dependencies.



 A             scripts (directory)  
 AM            scripts/kbus  
 AM            scripts/svn-import-changes  
 AM            scripts/svnupfast  


** branches/work/~dang/scripts/kbus #property svn:executable
   + *
** branches/work/~dang/scripts/svn-import-changes #property svn:executable
   + *
** branches/work/~dang/scripts/svnupfast #property svn:executable
   + *
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic