Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Get the revision or latest version of OFBiz you will be starting from for this sample its r482800:
    Code Block
    svn export http://svn.ofbizapache.org/svnrepos/asf/ofbiz/trunk ./tmpdir/ofbiz-r482800
    
  • Import it as the ofbiz project in the repository
    Code Block
    svn import -m "Import OFBiz r482800" ./tmpdir/ofbiz-r482800 svn://localhost/ofbiz/current
    
    Tip: the .svnversion/conf file should be equal to the standard ofbiz file except for the svn:keywords properties that should be completely removed to avoid merging problems later on
  • Make a tag for ofbiz r482800
    Code Block
    svn copy -m "Tag r482800 vendor drop" svn://localhost/ofbiz/current svn://localhost/ofbiz/ofbiz-r482800
    
  • Create the "ofbizcustom" project (initially it's a copy of the OFBiz r482800 tag)
    Code Block
    svn mkdir -m "" svn://localhost/customofbiz
    svn copy -m "OfbizCustom is initially built over the ofbiz-r482800 tag" svn://localhost/ofbiz/ofbiz-r482800 svn://localhost/customofbiz/trunk
    

...

  • Every month we get a new OFBiz revision (in this example, we get revision r483333)
    Code Block
    svn export http://svn.ofbizapache.org/repos/svnasf/ofbiz/trunk ./tmpdir/ofbiz-r483333
    
  • Update the current version of "ofbiz" project in the local svn repository and automatically create a tag (r483333, see the -t argument)
    Code Block
    ./svn_load_dirs.pl -t ofbiz-r483333 svn://localhost/ofbiz current ./tmpdir/ofbiz-r483333
    
    question: are the svn properties that need to be applied to new files correctly retrieved from the .svnversion/conf file?
    answer: probably not; you have to setup a config file (as described at the bottom of this page) and pass it to the svn_load_dirs.pl script with the -p argument.
  • We have to synch customofbiz, that was based on the ofbiz-r482800 tag, with the new ofbiz tag ofbiz-r483333; we do this in a working copy, not directly in the repository (before doing this, make sure that your working directory is up to date "svn up" and has no local changes "svn st").
    Code Block
    svn merge svn://localhost/ofbiz/ofbiz-r482800 svn://localhost/ofbiz/ofbiz-r483333 ./tmpdir/customofbiz
    
  • Conflicts are possible and you will need to fix those in your local working folder, test and then commit the changes.
  • It is also a good idea to tag the new customofbiz revision.
    Code Block
    svn copy -m "OfbizCustom is initially built over the OFBiz r482800 tag" svn://localhost/customofbiz/trunk svn://localhost/customofbiz/customofbiz-r483333
    
  • Continuing with the example, let's say that one month later, you want to export a new OFBiz release (r486422) and import it with (svn_load_dir.pl) in the ofbiz/current and as a new tag ofbiz-r486422; Use the following command to perform the merge (thanks to Kenneth Porter for the tip):
    Code Block
    svn merge svn://localhost/ofbiz/ofbiz-r483333 svn://localhost/ofbiz/ofbiz-r486422 ./tmpdir/customofbiz
    

...

  • First time round do a clean checkout to a local folder "ofbiz_clean"
    Code Block
    svn co httpshttp://svn.ofbizapache.org/svnrepos/asf/ofbiz/trunk ofbiz_clean
    
  • Next export the local "ofbiz_clean" rather than the OFBiz SVN server
    Code Block
    svn export ofbiz_clean ./tmpdir/ofbiz-r482800
    
  • Then you follow on with the instructions above to import and merge until you come to your next update at which point you
    Code Block
    svn up ofbiz_clean
    
  • and then again export the local copy
    Code Block
    svn export ofbiz_clean ./tmpdir/ofbiz-r483333