Version 1 (modified by tqh, 10 years ago) ( diff )

Since svn-load has almost no docs, I wrote down some pointers.

THIS PAGE IS STILL EARLY WORK IN PROGRESS!! Just jotting down what's fresh in my head /TQH

Some notes on vendor branches under Haiku, because I always forget and svn-load or has almost no documentation.

Vendor branches in Haiku follows the description here:

All our vendor branches exist under

When updating a vendor branch with a newer version we want to achieve the following:

  • Update the vendor branch 'current' tree with the new version.
  • Tag the 'current' tree as a release tag.
  • Merge 'current' into our ordinary code.

To do so we use svn-load or Afaik they use the same syntax and neither has any proper documentation. You should note that it will also commit and tag the code when run, so make sure you do it right.

These are the steps:

  • Download the new version to a dir. In this example we use someApp-1.1.
  • Use svn-load to update, commit and tag.
    $ svn-load --help
    Usage: svn-load [options] svn_url svn_import_dir dir_v1 [dir_v2 [..]]
      -h, --help            show this help message and exit
      -t tag_dir            create a tag copy in tag_dir, relative to svn_url
      --no-prompt           non-interactive mode - don't ask any questions
      --wc=working_copy     use the already checked-out working copy at path
                            instead of checking out a fresh working copy
      -m FILE, --move-map=FILE
                            Load a mapping of regular expression patterns to
                            lambda functions of match objects from FILE
  • Since we want to have a tag for the release we need to specify it. We do that with -t 1.1 for a 1.1 release.
  • We want the svn_url to point to one of the different vendors in . You should use a svn+ssh url though so you can commit. For someApp it could look like this:

(Replace DEVNAME with your dev username.)

  • The svn_import_dir is always current.
  • Finally we need to specify the local dir where we have the new version. ~/somwhere/someApp-1.1
  • If we put all this together we get the command like this:
    svn-load -t 1.1 svn+ssh:// current ../someApp-1.1/

This will commit the new version of someApp to current adding, removing and modifying files as necessary. it will also tag it as a 1.1 release.

All we need to do now is merge it into the real code.

To Be Done!

Note: See TracWiki for help on using the wiki.