[[PageOutline]] = ARB-SVN-Repository = You can browse the source in trac: * [source:trunk trunk (development)] or * [source:branches/stable_5.0 stable branch], directly in SVN: * [http://coder:gimmeARBsource@svn.mikro.biologie.tu-muenchen.de/svn/trunk/ trunk (development)] or * [http://coder:gimmeARBsource@svn.mikro.biologie.tu-muenchen.de/svn/branches/stable_5.0/ stable branch] or you [http://download.arb-home.de/src download a source-tarball][[BR]] (Note: source-tarballs are included in all [http://download.arb-home.de/build builds]. Pick {{{arbsrc.tgz}}})[[BR]] But the recommended way to access ARB source is to checkout a local copy using SVN: == SVN stats == [[Image(http://dev.mikro.biologie.tu-muenchen.de/statsvn/loc_small.png, link=http://dev.mikro.biologie.tu-muenchen.de/statsvn/)]] == External read access == Checkout the development trunk using {{{ svn co --username coder --password gimmeARBsource http://svn.mikro.biologie.tu-muenchen.de/svn/trunk ARB }}} or the latest stable release using {{{ svn co --username coder --password gimmeARBsource http://svn.mikro.biologie.tu-muenchen.de/svn/branches/stable_5.0 ARB }}} If you have made patches to ARB and like to share them with the public, use {{{ svn diff >my.patch }}} to create a patchfile and send it together with a short description to devel@arb-home.de. == Internal access == {{{ svn co svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/trunk dest-dir }}} or w/o ssh {{{ svn co file:///menuett1/repository/ARB/trunk dest-dir }}} ---- == Conventions == * When commiting changed code to the repository please separate between * '''real''' changes and * '''cosmetic''' changes (where you only change indentation, TABs, etc.) and commit both separately. Otherwise it is extremly difficult to track real changes. * Try to '''keep changesets compact''' (do not change 10 different things and checkin them all together) * On commit '''provide comments''' describing what changed why. ---- == Restoring deleted files == To restore a deleted file together with it's history use {{{ cd $ARBHOME/PATHTODELETEDFILE svn cp svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/trunk/PATHTODELETEDFILE/DELETEDFILE@FROMREVISION . }}} ---- == Branching and Merging == === Branching === * create YOURBRANCH from lastest trunk revision {{{ svn cp svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/trunk svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/branches/YOURBRANCH }}} * create YOURBRANCH from specific trunk revision {{{ svn cp svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/trunk@REVISION svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/branches/YOURBRANCH }}} === Merging === * merging from YOURBRANCH to trunk * cd into a checkout of trunk {{{ svn merge -c CHANGESET svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/branches/YOURBRANCH }}} * merging from trunk to YOURBRANCH * cd into a checkout of YOURBRANCH {{{ svn merge -c CHANGESET svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/trunk }}} Then * check conflicts + test * check in changes (please add CHANGESET to log message) CHANGESET can be * REV (one changeset) * REV1,REV2,REV3 (specific changesets) * REV1:REVn (range of changesets) === Deleting branches === {{{ svn delete svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB/branches/OBSOLETEBRANCH }}} See [http://svnbook.red-bean.com/en/1.1/ch04.html Branching and Merging] for details ---- == hax == * Post-edit commit comments: * [Done once: Create hook ''pre-revprop-change'' in REPOSITORY/hooks] * Example: {{{ svn propset --revprop -r ### svn:log "new logtext" svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB }}} or to edit in vi {{{ svn propedit --revprop -r ### --editor-cmd vi svn:log svn+ssh://LOGINNAME@menuett.mikro.biologie.tu-muenchen.de/menuett1/repository/ARB }}} * trac has to be resynced afterwards using {{{root@waltz> trac-admin /var/www/trac/arb resync ###}}} * [Note: replace ### with revision number and LOGINNAME with your accountname]