[TYPO3-dev] Offline PHP Development with source control (Subversion, Git, etc.)

Dominique Feyer dominique.feyer at reelpeek.net
Tue Oct 12 16:59:37 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Personnaly i work on Mac OSX laptop with LAMP stack install over
macport, but you can found good LAMP stack for windows too ... ;-)

So every development version are install locally, with a domain like
www.domain.dev.

I use only GIT as version control, and capistrano to batch some
deployment task (git push, mirroring of files, copy some file that are
not in git, ...)

With this setup I can work offline without problem during many days ...
in holiday ;-)

Thomas "Thasmo" Deinhamer wrote:
> Hello folks!
> 
> Although I have some/little experience with handling subversion on a
> linux server, it's a bit unclear for me how I can set up a full working
> development environment for working on general projects (like websites
> for clients or private projects) and especially developing for TYPO3.

The problem with SVN is that you need local subversion server if you
wont to be able to commit during offline session. I prefer GIT, a local
clone for my dev, and i push only when the feature are done or when i
need a review.

> 
> It would be cool if you could guide me into the correct direction.
> Currently I'm working on Windows and I'm wondering how to set up a
> development environment using subversion/git in combination with a
> decent PHP IDE.

My fav' IDE is Komodo IDE. Version 6 just released last week. The
support for GIT is good ... but command line are so nice so i prefere
the console.

> 
> Basically the website projects are located on a remote linux server,
> accessible via temporary, development urls. One requirement is that I'd
> like to work on those projects from my work/agency and from home.

Why you development server are online ? Development server can contain
unsecure code ... so i prefere to have a LAMP stack localy installed.
And only a staging server online, to allow my client to validate the work.

> 
> Are there probably different "setups" how I could handle this
> preconditions and requirements or what would be the best way?

My setups:

1. Clone main repository
2. Use symlink to use this extension in my local TYPO3 instance
3. Coding - drinking coffee - commit (this loop can have some infinite
loop problem)
4. When the feature are done, pushing to the main GIT repos
5. On my staging server, fetching the last development version
6. Client validation
7. Bugfixes on my local setup, pushing the change to the main repos,
fetching on the staging server
8. If every thing is fine, fetching on the production server, and that's
done

All this task can be done automaticaly with tools like capistrano, i
havve two command

# cap deploy-staging (push my local change to the master repos + fetch
on the staging server, so my client can validate)
# cap deploy (like the first command, but for the production, with some
addition, like putting maintenance page if needed, locking backend, ...)

Capistrano offer great features like rollback to the last version in
second, ...

You need some time to have a clean setup, but finally you dont lost your
time ;-)

> 
> Until now I have always worked on projects directly via FTP/sFTP without
> any source control etc. and I'm feeling a bit uncomfortable when I think
> about implementing source control, working offline, committing those
> changes etc. - we also have some freelancers in our company/agency and
> I'm wondering if they also would be forced to use source control then or
> could still just work remotely?

Use soucre control, it's important, you can save a lots of time.

> 
> I really appreciate any feedback and tips regarding this!
> 
> Best regards,
> Thomas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJMtHfZAAoJEOb2VUSS7rJYnXEH/jCgCJ7fL5ewtMVrwJPq7rqT
/Xsy5VHGiM55NGxFd5QzASmtq3im14qO+76+5FbBixoTTce/cyrl7UGRuK6fv+qB
Gc43wnmZwsyHDH8Yef8UNfHl2VTkzWE8qvIXo3jwZ8SC/qze5sgCJZgoBpbLKAif
DxFUNoLhJnQ/G1akriRM13L5oW+v5B08jx3dZNijeH5Rdvq0Dvxq1Bezs7IMXCJu
a2t62EqZDsOzpwLdrNQ7toa9NFps/qvS6YShticba52CWrZRo3vpRd5047gf6MSi
gBNmIGpJ/jZrvNgKE6C6SMEtmn3i/TR6FijLUfz4TXJWDYpyT6X92NkbP7MDk7M=
=lsJs
-----END PGP SIGNATURE-----




More information about the TYPO3-dev mailing list