linux - Setup read-only vendor SVN repository as mirror/external within my own repository -


currently working on opencart site , integrate opencarts source own svn (https://github.com/opencart/opencart).

the goal able make own customizations core opencart files , then, when new version of open cart released, integrate there changes local version.

i thinking of source structure follows:

  • /trunk/opencart - custom version of open cart
  • /vendor/opencart - current opencart trunk.

the intended workflow pull latest open cart servers, perform local merge trunk. currently, have been struggling set correctly new svn , tortoisesvn.

my current setup, windows7 running tortoisesvn 1.8.0, build 24401 - 64 bit. on local server have ubuntu 13.04 64bit svn, version 1.7.5 (r1336830).

i managed setup repository can check , out of, , created external reference in vendor folder using externals. i’m struggling generate main trunk external data. when try branch vendor/opencart trunk/opencart, attempts generated branch on https://github.com/opencart/opencart rather local server. (this rightly fails repository read only).

if try perform merge in svn on empty trunk/opencart folder vendor/opencart problems there lack of ancestry in trunk folder. i've read multiple sources - use approach, should using svnsync.

what best/simplest approach? ideally, svn pull latest source, rather dumping source separate folder.

  1. re-read svn:externals in subversion
  2. get subversion url git repository (svn can't directly communicate git) - it's "subversion checkout url" in sidebar, open in repo-browser , select needed subtree - can branch or trunk, remember full url needed subtree (it can be, f.e., https://github.com/opencart/opencart/trunk/upload)
  3. define, in repository want mount external repo (let /vendor/opencart url)
  4. checkout parent of mount-point (or parent of parent our case, if parent still doesn't exist) new unrelated work, working copy
  5. create in wc root new folder (usual, ordinary, standard) vendor
  6. for folder vendor add new svn-propery svn:externals in tsvn's wizard
  7. commit changes
  8. check results

ps: can see (checkout, inspect) @ url https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk sample of simplest use-case externals (subdirectory lib in trunk svn:external repository subtree)

pps: @ staring point trunk can empty, merge /vendor/opencart in order initial vanilla state of code in trunk own changes on top of it

externals sample


Comments