On 1/3/06, Seth removed_email_address@domain.invalid wrote:
I’m trying to jump into developing engines, but I’m getting stuck with
how to structure my code.
Lets say that I have 2 projects that both include an engine. I’m
assuming the preferred method of working is including my engine using
svn:externals.
Does this allow you to edit code inside the engine in Project 1, and
commit it (so I could sync to the updated code in Project 2)?
I’ve only written one small engine (Indexed Search Engine
http://langwell-ball.com/indexed-search/) so my experience is limited.
But here’s what I did.
I started by just writing an application and as I wrote the app I
realized that the search functionality could be extracted pretty
easily. So, I created a Subversion repository for the engine itself
and removed the engine code from my app.
The repository has 2 top level directories:
/indexed_search_engine (the engine)
/searchable_app (a sample application that I use to test and continue
development)
In the searchable_app, I have a symlink from
vendor/plugins/indexed_search_engine up to the top level directory.
This allows me to make changes in either the top level or within the
sample app itself without having duplication.
For my next application that uses the engine, I’ll just treat it like
any other external code by getting the version I want and installing
it.
Not sure if this really answers your question or fits your scenario…
Lance