Re: Subversion web development question.

2006-07-28 Thread Chris Shenton
I'd definitely go with SVN for a code repo.  I use a couple different
SVN servers on various teams I work with at my clients. I also set one
up for myself for code I'm working without other coders, mainly so I
could get at it from home, on the road, or some client's site; a
laptop or two, a desktop or two Very convenient.

You might also consider integrating it with the Trac issue tracker .
It has a very nice SVN repo code browser, takes bug/issue/feature
tickets, offers a wiki (e.g., for writing project plans, docs,
whatever).  It's integrated in the sense that you can check in code
into SVN and say in your log message something like

  fixes #37

and Track will notice and close the open ticket #37 for you.  You can
reference code within Trac too.  

It's lightweight and gets out of your way.  I prefer it to other
trackers and trouble ticket systems I've used like shudder Remedy
/shudder, Jira, and even the venerable RT.  Even if all you use is
Trac's code browser it's a win, but the other stuff is real helpful
with no bloat.

FWIW, it's all written in Python. (a language I prefer to PHP and Java)

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Subversion web development question.

2006-07-24 Thread Philip Hallstrom
Forgive me if this question is stupid or has been answered before, more than 
likely this info exists, but I'm not looking in the right place.  I work in a


I'd recommend searching the subversion mailing lists as well.  It's been 
covered, but it's not stupid :)


small corporation that is heavily dependent on web apps in which I am the 
sole developer.  Currently we're using ASP on Win2K with SQL Server 2000. 
We've used RedHat for years on our mail / DNS servers, and have migrated to 
FreeBSD for both.  Since ASP has pretty much been rendered obsolete by .Net, 
we are eventually going to migrate our web apps.  Rather than continue down 
the road of MS technology, we have decided to migrate to PHP  MySQL based on


Not to start a war, but if you're switching now, you might want to look 
into Ruby on Rails as well.


Our development infrastructure to date works in this manner.  Since I am the 
sole developer, and will be for the long term future, there has never been


Since you're changing things now, assume that you are not the sole 
developer anymore.  You'll be thankful you did when the next developer 
comes along :)


any real need to incorporate SourceSafe.  Instead we run a separate 
development server to do all the coding.  An FTP site has been set up to 
repository on the server.  I currently use HomeSite for it's built-in FTP 
client.  Coding is done locally, saved back to the server, and tested on the 
server in a browser.  Testing is not done locally because our needs are such 
that there is a large number of static text files need to be accessed by our 
apps.  The parameters to access these files are hard to duplicate to a 
workstation, and it has proved (for us anyway) to be easier to test these 
apps on a server that is a mirrored environment of the live server.


This sound very similar to our situation..

My question is can something like this be replicated on FreeBSD w/ 
Subversion?


Sure.

I would like to setup a versioning system, but am at a loss on 
how the development process would operate.  I have found information on how 
to update files on the live server from the development server, but not much 
in the way of how to set up a development server to get Subversion to update 
the files in the Apache directories.  It would be trivial for me to simply 
set up FTP sites that map to the Apache directories, and change the 
permission structure to allow access to these directories, but I'd rather not 
create a security headache for myself down the road.  Can Subversion be set 
up to check out a file, commit it back to the server, and test it in a 
browser from a workstation?  Or does the file need to be moved from the 
Subversion directories to the Apache directories by someone w/ root 
privileges every time a file has been edited?


If your development server is local (ie. on the LAN) to your workstation, 
I would setup Samba to share your web tree to your workstation.   Once 
this is done you can simply create/edit/delete files right from your 
workstation and the changes take affect immediately on the development 
server.


The second step is to add subversion.  To do this, create the subversion 
repository on your development server (or on a dedidcated server 
somewhere) and set it up to allow remote access.  Then, go get a graphical 
SVN client like TortioseSVN (for windows only, but mac clients exist too) 
and configure it to check out your repository onto that share you mounted 
earlier.


At this point you can manage your files on your workstation and 
immediately check your results.


Then when happy, you can commit your changes with SVN and they get 
committed to the repository.


You don't need subversion to move files into your web tree.  That's not 
what it does.


Some other thoughts...

If you like the command line, you can skip the graphical SVN client and 
just do it directly on the development server.  That's what I do.  If you 
did that you could also skip Samba and keep on using your FTP client, 
although I personally hate having to FTP files back and forth.


Search the net for books on subversion... there are a couple that are 
freely available.  OReilly also has made their samba book free as well.


Good luck!


Sorry if this question has been answered somewhere else, it's just that most 
of the info I seem to be finding is based on application development for 
locally run binaries in which the app is tested locally before being 
committed back to the server.


Best regards,
Greg Groth
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Subversion web development question.

2006-07-24 Thread Greg Groth

On 7/24/2006 12:16 PM, Philip Hallstrom wrote:
Forgive me if this question is stupid or has been answered before, 
more than likely this info exists, but I'm not looking in the right 
place.  I work in a


I'd recommend searching the subversion mailing lists as well.  It's been 
covered, but it's not stupid :)


Will do, thanks.



small corporation that is heavily dependent on web apps in which I am 
the sole developer.  Currently we're using ASP on Win2K with SQL 
Server 2000. We've used RedHat for years on our mail / DNS servers, 
and have migrated to FreeBSD for both.  Since ASP has pretty much been 
rendered obsolete by .Net, we are eventually going to migrate our web 
apps.  Rather than continue down the road of MS technology, we have 
decided to migrate to PHP  MySQL based on


Not to start a war, but if you're switching now, you might want to look 
into Ruby on Rails as well.


Our development infrastructure to date works in this manner.  Since I 
am the sole developer, and will be for the long term future, there has 
never been


Since you're changing things now, assume that you are not the sole 
developer anymore.  You'll be thankful you did when the next developer 
comes along :)


That's the plan :).



any real need to incorporate SourceSafe.  Instead we run a separate 
development server to do all the coding.  An FTP site has been set up 
to repository on the server.  I currently use HomeSite for it's 
built-in FTP client.  Coding is done locally, saved back to the 
server, and tested on the server in a browser.  Testing is not done 
locally because our needs are such that there is a large number of 
static text files need to be accessed by our apps.  The parameters to 
access these files are hard to duplicate to a workstation, and it has 
proved (for us anyway) to be easier to test these apps on a server 
that is a mirrored environment of the live server.


This sound very similar to our situation..

My question is can something like this be replicated on FreeBSD w/ 
Subversion?


Sure.

I would like to setup a versioning system, but am at a loss on how the 
development process would operate.  I have found information on how to 
update files on the live server from the development server, but not 
much in the way of how to set up a development server to get 
Subversion to update the files in the Apache directories.  It would be 
trivial for me to simply set up FTP sites that map to the Apache 
directories, and change the permission structure to allow access to 
these directories, but I'd rather not create a security headache for 
myself down the road.  Can Subversion be set up to check out a file, 
commit it back to the server, and test it in a browser from a 
workstation?  Or does the file need to be moved from the Subversion 
directories to the Apache directories by someone w/ root privileges 
every time a file has been edited?


If your development server is local (ie. on the LAN) to your 
workstation, I would setup Samba to share your web tree to your 
workstation.   Once this is done you can simply create/edit/delete files 
right from your workstation and the changes take affect immediately on 
the development server.


Just for clarification, the dev server is not on the local LAN, it 
resides on the DMZ.  Way back when, our dev server was on the LAN, live 
server on the DMZ, but we ran into a lot of issues getting some MS 
specific technologies working when the code was moved from the dev 
server to the live server.  Code written for path statements had to be 
rewritten to run in the DMZ.  Since then, the dev server has resided on 
the DMZ.  The other reason is for remote accessibility.  Having the dev 
server on the DMZ allows me the ability to code from home without having 
to punch a hole in the firewall to our internal LAN.




The second step is to add subversion.  To do this, create the subversion 
repository on your development server (or on a dedidcated server 
somewhere) and set it up to allow remote access.  Then, go get a 
graphical SVN client like TortioseSVN (for windows only, but mac clients 
exist too) and configure it to check out your repository onto that share 
you mounted earlier.


At this point you can manage your files on your workstation and 
immediately check your results.


Then when happy, you can commit your changes with SVN and they get 
committed to the repository.


You don't need subversion to move files into your web tree.  That's not 
what it does.


Fair enough, so should I assume then that the files need to be moved 
using SSH (for example) after su-ing  to root?  If so, I suppose I would 
be better off then just setting up Apache on my desktop, testing 
locally, then moving the files back to the server?




Some other thoughts...

If you like the command line, you can skip the graphical SVN client and 
just do it directly on the development server.  That's what I do.  If 
you did that you could also skip Samba and keep on using your FTP 
client, 

Re: Subversion web development question.

2006-07-24 Thread Philip Hallstrom
At this point you can manage your files on your workstation and immediately 
check your results.


Then when happy, you can commit your changes with SVN and they get 
committed to the repository.


You don't need subversion to move files into your web tree.  That's not 
what it does.


Fair enough, so should I assume then that the files need to be moved using 
SSH (for example) after su-ing  to root?  If so, I suppose I would be better 
off then just setting up Apache on my desktop, testing locally, then moving 
the files back to the server?


Why would you need to be root?  Here's what we do at work:

The development server is at the data center (since we're all remote). 
Apache has been configured to run several name based virtual servers and 
looks for the document root in a 'cpr' in our home directory. (cpr is the 
initials of our project)


For those of us that like the CLI and working directly on the server, the 
'cpr' directory is also our subversion working directory.  So I edit a 
file, test it, like it, commit it. repeat.


Our designers don't like CLI.  What we've done for them is to set them up 
with TortioseSVN on their workstations.  They check out the repository on 
their desktop.  They make changes.  When they want to test, they run rsync 
(via cygwin and a shell script) that syncs only the files they've changed 
(and skips all the .svn sub dirs) up to the server.  They test.  They 
like, they commit using TortioseSVN.  All of thise happens over a SSH 
tunnel.


At no point in any of this do any of us need to be root

If you can get your dev environment running locally it will be easier 
since you won't have to upload to test, but depending on your situation 
that might not be reasonable.


-philip
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Subversion web development question.

2006-07-24 Thread Greg Groth

 Why would you need to be root?  Here's what we do at work:

Because /usr/local/www/apache22/data is owned by root.  I guess I 
mistakenly figured that this is where the files should go.  I know that 
you can configure Apache to point to any directory, but was unsure of 
the consequences of pointing it at directories outside of 
/usr/local/www/apache22/data.



 The development server is at the data center (since we're all remote).
 Apache has been configured to run several name based virtual servers and
 looks for the document root in a 'cpr' in our home directory. (cpr is
 the initials of our project)

 For those of us that like the CLI and working directly on the server,
 the 'cpr' directory is also our subversion working directory.  So I edit
 a file, test it, like it, commit it. repeat.

 Our designers don't like CLI.  What we've done for them is to set them
 up with TortioseSVN on their workstations.  They check out the
 repository on their desktop.  They make changes.  When they want to
 test, they run rsync (via cygwin and a shell script) that syncs only the
 files they've changed (and skips all the .svn sub dirs) up to the
 server.  They test.  They like, they commit using TortioseSVN.  All of
 thise happens over a SSH tunnel.

 At no point in any of this do any of us need to be root

 If you can get your dev environment running locally it will be easier
 since you won't have to upload to test, but depending on your
 situation that might not be reasonable.

 -philip

What you suggest makes perfect sense, I wasn't sure if you could point 
Apache directly at a directory within Subversion's structure or not. I 
do have one more question.  From a security standpoint would it be safer 
to point to a symlink within Apache's existing directory structure that 
points to /usr/home/svnDirectory, or configure Apache to point directly 
to /usr/home/svnDirectory?  It's probably a moot point, but I'm still 
unsure of myself when it comes to messing around with permissions within 
FreeBSD and don't like making changes to the defaults without asking first.


Many thanks,
Greg Groth
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Subversion web development question.

2006-07-24 Thread Philip Hallstrom

Why would you need to be root?  Here's what we do at work:


Because /usr/local/www/apache22/data is owned by root.  I guess I mistakenly 
figured that this is where the files should go.  I know that you can 
configure Apache to point to any directory, but was unsure of the 
consequences of pointing it at directories outside of 
/usr/local/www/apache22/data.


if it's your dev server, point it to wherever is most convenient.


The development server is at the data center (since we're all remote).
Apache has been configured to run several name based virtual servers and
looks for the document root in a 'cpr' in our home directory. (cpr is
the initials of our project)

For those of us that like the CLI and working directly on the server,
the 'cpr' directory is also our subversion working directory.  So I edit
a file, test it, like it, commit it. repeat.

Our designers don't like CLI.  What we've done for them is to set them
up with TortioseSVN on their workstations.  They check out the
repository on their desktop.  They make changes.  When they want to
test, they run rsync (via cygwin and a shell script) that syncs only the
files they've changed (and skips all the .svn sub dirs) up to the
server.  They test.  They like, they commit using TortioseSVN.  All of
thise happens over a SSH tunnel.

At no point in any of this do any of us need to be root

If you can get your dev environment running locally it will be easier
since you won't have to upload to test, but depending on your
situation that might not be reasonable.

-philip


What you suggest makes perfect sense, I wasn't sure if you could point Apache 
directly at a directory within Subversion's structure or not. I do have one


I think you should read more about subversion as I think you are confusing 
a svn repository with a svn working directory...


more question.  From a security standpoint would it be safer to point to a 
symlink within Apache's existing directory structure that points to 
/usr/home/svnDirectory, or configure Apache to point directly to 
/usr/home/svnDirectory?  It's probably a moot point, but I'm still unsure of 
myself when it comes to messing around with permissions within FreeBSD and 
don't like making changes to the defaults without asking first.


Doesn't make a bit of difference.  I'd avoid the symlink simply cause 
there isn't any reason to have it.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]