Joseph Method wrote:
A couple things.

    The problem lies mainly in my own master branch: I merge bsag/master
    into this, but I also do my own work in this and use this branch to
    actually use tracks.


I wouldn't do this. I would use three branches: 1)github master, 2) local cloned branch for development 3) second local clone for deployment/production that you update less often than the development branch. This makes sense especially if you have a "customer" (like my girlfriend) who uses Tracks on a day to day basis and doesn't want to beta-test every little change.

So you can git pull from bsag/master to your local development branch, merge and commit the changes, then push to the remote github master, then from the deployment instance you git pull from the github master (hope that makes sense).

I would also change your database.yml (which should *not* be in version control) to use a different sqlite3 file, and the sqlite3 file should never be in version control. If you're worried about adding it with git add *, you can add an ignore line in the .gitignore file in the root of the repository. If you're serving multiple users I would use mysql anyway (I don't think sqlite3 does concurrency very well, right?).

--
-J. Method
Good idea: working with a separate clone instead of another branch in the same clone:
-> I don't need to switch branches the whole time
-> I can run both applications at the same time on other ports
-> I avoid accidentally pushing personal stuff to github.

I'm the only consumer of the application, so sqlite is just fine for me :)
Here's an idea: in the development clone I can set the development database to an sqlite3 database (just a development database. nothing unusual here), but I can also make use of the "production" environment of the development clone to point to my real production database (or better: a copy of it). That way I can use (a copy of) my production data to easily reproduce bugs, and check if new features will work in (my) production (testing other scenarios is still a must of course, if applicable), avoiding the need for multiple commit-push-pull cycles. (or the need to manually populate the database with more data). config/database.yml is in .gitignore, so you can edit that without accidentally committing it. That, in combination with storing *.db files outside of the git clone will make a powerful setup I think (and no need to add more stuff to .gitignore)

Dieter


_______________________________________________
Tracks-discuss mailing list
[email protected]
http://lists.rousette.org.uk/mailman/listinfo/tracks-discuss

Reply via email to