Re: [PHP] Re: How to use SVN + PHP



Another tidbit...

I am fairly new to SVN or any Version Control System. Whether its
CVS, SVN, or GIT a VCS is essential even for solo projects.

My setup is as follows, [and it seems to work pretty well]:

1. svn repo lives on dev server.
2. everything is in the trunk. I haven't touched branches and / or tags yet.
3. users connect to repo via http using htaccess users & passwords
4. post-commit script runs svn update after anyone commits to the
repo. This runs svn update on the dev server.
5. after the boss approves the dev server work, the production server
runs svn update too. The production has a "checked out" working copy
of the source repo. I chose this method because our clients also FTP
some files to the server, and using svn export would be too
complicated. The production server connects to the repo via an ssh
user using an ssh key and restricted to this command "svnserve -t -r
/var/svnrepo". The svn up on the production server is a manual
process. I login via ssh, cd to the webroot, and type svn up.

Our dev team is using eclipse-pdt and subclipse plugin which
integrates eclipse and subversion.

Subversion or any VCS is essential. After 15 years of using
FTP/SFTP/SCP, SVN has replaced it for all my web projects.



On Tue, Jan 20, 2009 at 3:31 AM, Ross McKay <rosko@xxxxxxxxxxx> wrote:
On Mon, 19 Jan 2009 22:32:49 +0100, Edmund Hertle wrote:

I'm thinking about implementing Subversion to an existing php project for
obvious reasons.

Yay! What Nathan said, plus a couple of comments from me...

[...]
My ideas about using SVN are these:
- Repository is managing trunk, branch and tag
- Live-server works as client of the rep, getting the latest tag
- Develop-server uses mainly latest trunk and of course branches as needed

Personally, I'd just work in the trunk. Even with multiple developers,
stick to working in the trunk. On release, copy the trunk to a tag to
preserve its state.

Branches are great for long-running diversions from the trunk, e.g. when
creating a whole new release with new features and potentially different
architecture, copy the trunk to a branch so that maintenance work can
continue on the branch, and perform new work on the trunk. Of course,
you can do that the other way around, new work on the branch and
maintenance on the trunk, but that means merging the branch into the
trunk at the end and potentially creating a new branch for
maintenance... i.e. the same result as the other method, but with more
effort.

Putting it another way: working in branches is good for maintaining
separate codebases concurrently, either because of feature differences
or platform differences (e.g. a Linux branch and a Windows branch).

NB: in Subversion, there really isn't proper support for either branches
or tags; we just emulate it by copying a folder to another folder. A tag
is then just a copied folder that is never altered again, and a branch
is a copied folder that is later modified. Convention has us calling
these things tags and branches, and calling the original folder the
trunk.

For simple websites, I tend to drop the trunk/tag/branch model entirely
and just work in the trunk. Some things just don't warrant the extra
work :) but they still benefit from revision control.

[...]
Is it possible to configure one client (here develop-server) to
automatically updating from rep if something is committed?

IMHO, that would be a Bad Thing(R) because it means only committing to the
repository when it works. Alternatively, it could mean releasing
untested changes to production, an even more Bad Thing(R).

Better is to commit early, commit often and thus get "deep undo" through
Subversion's history of changes. Once you've tested your changes and are
happy that everything is working, and committed them all to the trunk,
copy the trunk to a tag and put that on the server.
--
Ross McKay, Toronto, NSW Australia
"Let the laddie play wi the knife - he'll learn"
- The Wee Book of Calvin

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





--
life your own way.
http://www.talkderby2me.com
.



Relevant Pages

  • Re: Subversion? (Re: HEADS UP: Importing csup into base)
    ... Tag 0.4.2 for BCF use ... happening on trunk by looking at a branch. ... or do you need 'svn remove' on each ...
    (freebsd-arch)
  • Re: project: wired/wireless router
    ... there has been some changes to openwrt, the latest trunk version from ... are you running current openrt svn yourself on any asus boxes at ... I just built a asus 500w with latest svn trunk with broadcom wireless, ...
    (Debian-User)
  • Re: Subversion? (Re: HEADS UP: Importing csup into base)
    ... happening on trunk by looking at a branch. ... I don't think there is a way to do that in Subversion right now. ... or do you need 'svn remove' on each ... really is an ancient African word for "I am sick of compiling Gentoo". ...
    (freebsd-arch)
  • [kde] About 4.1 and 4.2 slowdown
    ... I recently installed latest trunk from SVN, and I am really impresed with ... evolution of KDE since 4.0, ... but I notice a terribly slowdown in all KDE which I don't know ...
    (KDE)
  • Re: OT? Subversion anyone?
    ... Now we are considering conversion to SVN and our first trials with it are extremely trying. ... We have the latest released version installed on a server and are using TortoiseSVN on winXP as a client and the speed is unacceptably slow. ... Visual sourcesafe loaded the entire project from the same server in under 3 minutes. ... we have svnserve running on the server and we are making file accesses to the repository using the file://x:/SrcRepos scheme. ...
    (comp.arch.embedded)