discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SVK bootstrap dump available (hosting?)


From: Andrew Ruder
Subject: SVK bootstrap dump available (hosting?)
Date: Sun, 4 Jun 2006 02:48:38 -0500
User-agent: Mutt/1.5.11

Hello all,

The subject of 'svk' was brought up many times as we were discussing
the transition to Subversion from CVS.  svk is basically a offline,
distributed version of SVN.  It also features many of the more advanced
features found in many distributed source management tools:
  
  * Copy-on-merge
    If I make a copy of a file or rename a file in a branch, when I
    merge this into the trunk, the copy actually occurs not just the
    addition of the branch's version of the file.

  * Merge-tracking
    The star-merge support in SVK makes branching and keeping up to date
    incredibly easy.  SVK keeps track of all the revisions that have
    been merged from a branch source and which revisions have been
    merged to the mirrored repository.  Not to mention, it can track
    merged changes from another branch or any other source.  (i.e.
    pull changes from one branch into another branch).

    When you've made several changes, you can push these changes back to
    the remote repository as a single commit or all the individual
    commits that you've made.
    
    BTW, you can also do something fairly similar to this with
    svnmerge.py and regular svn which is in the latest svn
    distributions.

  * Lightweight-checkouts
    svk checkouts don't use any sort of .svn/CVS/etc.. directories.  If
    you have lots of local branches and lots of checkouts, it will not
    take up so much disk space.
    
  * Lots of other nifty features.

Anyway, the best/easiest way to use svk is to mirror the remote
repository.  With a repository as large as GNUstep, this can take hours
or days to get a mirror created (once you get most of the revisions it
only takes a few seconds to stay up to date).  I've done the long/hard
work to give anyone wanting to mess around with using svk to do GNUstep
development a headstart on the sync process.

I will warn you now, the dumpfile may only be 70 megs zipped, but after
importing it you will find ~600 megs of disk space have disappeared from
your disk forever :)  If you have the disk space, it is a very worthy
investment as I'm sure you'll discover after using svk for a while.

Download: http://dump.aeruder.net/gs_bootstrap.dump.gz
(If there is interest by many people in using SVK, I would like to know
if someone else (gnustep.org?) would be willing to host this file)

Import into your svk repository: (For example, here I am adding it to my
local depot into path /mirror/gnustep).

# Create mirror directory to house svn mirrors
svk mkdir //mirror -m "Adding mirror directory"

# Create a place to import our repository into
svk mkdir //mirror/gnustep -m "Adding GNUstep mirror directory"

# Import the dumpfile into this location
# Go get some coffee on this step, it takes a while, but not NEAR as
# long as it takes to sync from a remote source ;)
gunzip < gs_bootstrap.dump.gz | svnadmin load --ignore-uuid --parent-dir 
/mirror/gnustep ~/.svk/local

# Add it into svk's mirror list
# Just add /mirror/gnustep into the list (one per line, if you have
# nothing in the property already, just add a single line with
# /mirror/gnustep
svk propedit svm:mirror //

# Bring it up to date
svk sync //mirror/gnustep

# If you are on the commit list, you may want to relocate the mirror to
# svn+ssh
svk mirror --relocate //mirror/gnustep svn+ssh://svn.gna.org/svn/gnustep

And then a typical work flow might be:

# Create a local branch
svk copy -m "Create local branch" //mirror/gnustep/libs/base/trunk //base

# Make changes
svk co //base

# Bring in additional changes to //mirror/gnustep
svk sync //mirror/gnustep

# Merge these into our local branch
svk smerge --to //base

# Bring those into our working copy
svk update

# Make changes, etc... then commit
svk commit

# Merge applicable changes back to the mirror
svk smerge --from //base

See svk.elixus.org for more information, and I would highly recommend
using svk 2.0 when it comes out (or you can compile/install the SVK svn
right now).

Happy stepping,
Andrew Ruder

P.S. If you haven't seen http://frappr.com/gnustep you should add
yourself to the map, it is pretty neat to see all the steppers out
there.

P.P.S. We have setup a #GNUstep-dev on irc.freenode.net for GNUstep
development discussion.  It would be great to see some more GNUstep devs
on there from time to time ( I find realtime discussion to be quite
a bit more effective than mailing lists on some topics ).

-- 
Andrew Ruder <andy@aeruder.net>
http://www.aeruder.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]