[CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Rudi Ahlers
Hi all,

I would like some suggestion on this matter please. I have never bothered
using any code repositories / version control systems for our web
development project, many cause I didn't know any better, and probably cause
most of our projects don't really require that we need to keep a history of
what has changed. i.e. a client wants to change something on their website,
and we change it, whether it's cosmetics or code (normally PHP  MySQL).

But, I want to see if CVS, or maybe even a forge script (like in offerforge)
could benefit met. Most of the time when we make changes to the code, we
simply update the version, from say 1.2.2 to 1.2.3 and write the changes to
a basic changelog, which in our case is a simple text file calles
changelog.txt

But, how could I benefit from a CVS, ir similar system? And what would be
best for this environment? I installed CVS on my CentOS server, but it seems
that it's not just a matter of creating a tree and dumping code.  I'm not
too worried about multiple users at this stage. All our coding is currently
stored on a CentOS 5.4 Samba server, so we can access to the code from
either a Windows or Linux PC. Do I need anything more?

I started using eclipse+PHP a few months ago and I don't really use it to
its full potential, so I'm sure I could benefit from it more.



So, the question is, what is a good recommended setup to go with? Web based
access to all the files would be nice, then we could access it from outside
the LAN on HTTPS.
And how do I use it to my benefit? For example, clientA wants to make
changes to Project1. Now I have a Project1 in the CVS tree (is this the
right terminology?), and make changes to file contacts.php - what now? Do I
need to create a subfolder called 1.2.2 (for example), and add only the
updated file in this folder, or do I copy the whole Project into the new
folder?

2 weeks down the line I need to make changes to 8 files, what do I do now?



Does this make sense? I realize it could be beneficial to keep older files,
but how does one structure it?

-- 
Kind Regards
Rudi Ahlers
SoftDux

Website: http://www.SoftDux.com
Technical Blog: http://Blog.SoftDux.com
Office: 087 805 9573
Cell: 082 554 7532
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread John Doe
From: Rudi Ahlers r...@softdux.com
I would like some suggestion on this matter please. I have never bothered 
using any code repositories / version control systems for our web development 
project, many cause I didn't know any better, and probably cause most of our 
projects don't really require that we need to keep a history of what has 
changed. i.e. a client wants to change something on their website, and we 
change it, whether it's cosmetics or code (normally PHP  MySQL). 
But, I want to see if CVS, or maybe even a forge script (like in offerforge) 
could benefit met. Most of the time when we make changes to the code, we 
simply update the version, from say 1.2.2 to 1.2.3 and write the changes to a 
basic changelog, which in our case is a simple text file calles changelog.txt 

Check subversion: http://subversion.apache.org/
They have a quite good documentation: http://svnbook.red-bean.com/

It is nice to be able to go back to n previous version in case you realised 
that the newer versions messed up everything...
people can work in parallel on different versions (production/dev, 1.x, 
2.x...), etc...

JD


  
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Rajagopal Swaminathan
Greetings,


On Thu, Feb 11, 2010 at 4:14 PM, Rudi Ahlers r...@softdux.com wrote:
 Hi all,

 I would like some suggestion on this matter please. I have never bothered
 using any code repositories / version control systems for our web
 development project, many cause I didn't know any better, and probably cause
 most of our projects don't really require that we need to keep a history of
 what has changed. i.e. a client wants to change something on their website,
 and we change it, whether it's cosmetics or code (normally PHP  MySQL).

 But, I want to see if CVS, or maybe even a forge script (like in offerforge)
 could benefit met. Most of the time when we make changes to the code, we
 simply update the version, from say 1.2.2 to 1.2.3 and write the changes to
 a basic changelog, which in our case is a simple text file calles
 changelog.txt

 But, how could I benefit from a CVS, ir similar system? And what would be
 best for this environment? I installed CVS on my CentOS server, but it seems
 that it's not just a matter of creating a tree and dumping code.  I'm not
 too worried about multiple users at this stage. All our coding is currently
 stored on a CentOS 5.4 Samba server, so we can access to the code from
 either a Windows or Linux PC. Do I need anything more?

 I started using eclipse+PHP a few months ago and I don't really use it to
 its full potential, so I'm sure I could benefit from it more.



 So, the question is, what is a good recommended setup to go with? Web based
 access to all the files would be nice, then we could access it from outside
 the LAN on HTTPS.
 And how do I use it to my benefit? For example, clientA wants to make
 changes to Project1. Now I have a Project1 in the CVS tree (is this the
 right terminology?), and make changes to file contacts.php - what now? Do I
 need to create a subfolder called 1.2.2 (for example), and add only the
 updated file in this folder, or do I copy the whole Project into the new
 folder?

 2 weeks down the line I need to make changes to 8 files, what do I do now?



 Does this make sense? I realize it could be beneficial to keep older files,
 but how does one structure it?


+1

Though I have got SVN with ACL and all that going at couple of places,
I have never come around to use it. I have heard elsewhere that
Sysadmins use that for config file and the such.

Also I was wondering if we can have some tutorials around centos like
the excellent typical use case examples of Samba.

I will try and contribute what I can in terms of knowledge, experience
anecdotes and the such.

Perhaps in the wiki?

For example multi location scenario, cases of some server within and
some hosted with ISP etc. Suggested infrastructure components  for
various scenarios like development/ distributed development, web based
app, fixed and adsl mixure of client scenarios etc. etc. etc.

Hope I am made myself somewhat clear...

Apologies for highjacking this thread...

Regards,

Rajagopal
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Dave Cross
On 11 February 2010 10:44, Rudi Ahlers r...@softdux.com wrote:
 Hi all,

 I would like some suggestion on this matter please. I have never bothered
 using any code repositories / version control systems for our web
 development project, many cause I didn't know any better, and probably cause
 most of our projects don't really require that we need to keep a history of
 what has changed. i.e. a client wants to change something on their website,
 and we change it, whether it's cosmetics or code (normally PHP  MySQL).

[ snip ]

If you're just getting into source code control, then I'd strongly
recommend bypassing legacy systems like CVS and Subversion. Most of
the world seems to be moving to distributed system like git
(http://en.wikipedia.org/wiki/Git_%28software%29).

You can host your own git repositories, or you can use a third party
hosting service like github (http://github.com/).

I moved all of my projects from Subversion to github
(http://github.com/davorg/) a year ago and I'm very happy with it.

Cheers,

Dave...
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Rajagopal Swaminathan
Greetings,

On Thu, Feb 11, 2010 at 4:14 PM, Rudi Ahlers r...@softdux.com wrote:
 Hi all,


and perhaps Subtrain will help to go one step further

http://www.polarion.com/downloads/svn.php


Regards

Rajagopal
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Rudi Ahlers
On Thu, Feb 11, 2010 at 1:09 PM, Dave Cross dav...@gmail.com wrote:

 On 11 February 2010 10:44, Rudi Ahlers r...@softdux.com wrote:
  Hi all,
 
  I would like some suggestion on this matter please. I have never bothered
  using any code repositories / version control systems for our web
  development project, many cause I didn't know any better, and probably
 cause
  most of our projects don't really require that we need to keep a history
 of
  what has changed. i.e. a client wants to change something on their
 website,
  and we change it, whether it's cosmetics or code (normally PHP  MySQL).

 [ snip ]

 If you're just getting into source code control, then I'd strongly
 recommend bypassing legacy systems like CVS and Subversion. Most of
 the world seems to be moving to distributed system like git
 (http://en.wikipedia.org/wiki/Git_%28software%29).

 You can host your own git repositories, or you can use a third party
 hosting service like github (http://github.com/).

 I moved all of my projects from Subversion to github
 (http://github.com/davorg/) a year ago and I'm very happy with it.

 Cheers,

 Dave...
 ___


Thanx Dave, I'll check it out. Isn't GIT more aimed at software, than web
development projects?

P.S. I don't have a problem hosting my own code, we already have all the
infrastructure in place :)



-- 
Kind Regards
Rudi Ahlers
SoftDux

Website: http://www.SoftDux.com
Technical Blog: http://Blog.SoftDux.com
Office: 087 805 9573
Cell: 082 554 7532
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Dave Cross
On 11 February 2010 11:26, Rudi Ahlers rudiahl...@gmail.com wrote:

 On Thu, Feb 11, 2010 at 1:09 PM, Dave Cross dav...@gmail.com wrote:

 On 11 February 2010 10:44, Rudi Ahlers r...@softdux.com wrote:
  Hi all,
 
  I would like some suggestion on this matter please. I have never
  bothered
  using any code repositories / version control systems for our web
  development project, many cause I didn't know any better, and probably
  cause
  most of our projects don't really require that we need to keep a history
  of
  what has changed. i.e. a client wants to change something on their
  website,
  and we change it, whether it's cosmetics or code (normally PHP  MySQL).

 [ snip ]

 If you're just getting into source code control, then I'd strongly
 recommend bypassing legacy systems like CVS and Subversion. Most of
 the world seems to be moving to distributed system like git
 (http://en.wikipedia.org/wiki/Git_%28software%29).

 You can host your own git repositories, or you can use a third party
 hosting service like github (http://github.com/).

 I moved all of my projects from Subversion to github
 (http://github.com/davorg/) a year ago and I'm very happy with it.


 Thanx Dave, I'll check it out. Isn't GIT more aimed at software, than web
 development projects?

 P.S. I don't have a problem hosting my own code, we already have all the
 infrastructure in place :)

Git can be used to store any data that you want to keep different versions of.

Dave...
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Niki Kovacs
Rudi Ahlers a écrit :
 Hi all,
 
 I would like some suggestion on this matter please. I have never 
 bothered using any code repositories / version control systems for our 
 web development project, 

SVN. Easy to setup, and the docs are excellent. I'm using it all the time.

Cheers,

Niki
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread John Doe
From: Rudi Ahlers rudiahl...@gmail.com
Thanx Dave, I'll check it out. Isn't GIT more aimed at software, than web 
development projects?
P.S. I don't have a problem hosting my own code, we already have all the 
infrastructure in place :) 

Maybe check http://git.wiki.kernel.org/index.php/GitSvnComparison
I would try both and see which one fits my needs the best...

JD


  
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Les Mikesell
Rudi Ahlers wrote:
 
 
 On Thu, Feb 11, 2010 at 1:09 PM, Dave Cross dav...@gmail.com 
 mailto:dav...@gmail.com wrote:
 
 On 11 February 2010 10:44, Rudi Ahlers r...@softdux.com
 mailto:r...@softdux.com wrote:
   Hi all,
  
   I would like some suggestion on this matter please. I have never
 bothered
   using any code repositories / version control systems for our web
   development project, many cause I didn't know any better, and
 probably cause
   most of our projects don't really require that we need to keep a
 history of
   what has changed. i.e. a client wants to change something on
 their website,
   and we change it, whether it's cosmetics or code (normally PHP 
 MySQL).
 
 [ snip ]
 
 If you're just getting into source code control, then I'd strongly
 recommend bypassing legacy systems like CVS and Subversion. Most of
 the world seems to be moving to distributed system like git
 (http://en.wikipedia.org/wiki/Git_%28software%29).
 
 You can host your own git repositories, or you can use a third party
 hosting service like github (http://github.com/).
 
 I moved all of my projects from Subversion to github
 (http://github.com/davorg/) a year ago and I'm very happy with it.
 
 Cheers,
 
 Dave...
 ___
 
 
 Thanx Dave, I'll check it out. Isn't GIT more aimed at software, than 
 web development projects?
 
 P.S. I don't have a problem hosting my own code, we already have all the 
 infrastructure in place :)

The philosophical difference between git and subversion is that subversion by 
design has only one central repository.  You can branch the work there if you 
want to maintain different versions simultaneously, but the working copies 
where 
you make changes don't store the history or multiple versions.  With git you 
can 
clone the whole repository and make changes locally and it is optional whether 
the central (if there is such a thing) repository accepts your changes. 
Subversion is good if you want central control and have good network 
connections 
to all places where you edit.  Git is better if some people need to edit 
offline 
or people want to be able to fork the work and never commit back to the 
original 
repository.  If you use subversion, you probably want to start with the current 
version packaged in rpmforge instead of the ancient one in stock centos.

-- 
Les Mikesell
 lesmikes...@gmail.com


___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Mathieu Baudier
 SVN. Easy to setup, and the docs are excellent. I'm using it all the time.

I second that: it the OP is not that familiar with version control
systems, Subversion is more intuitive and answers will be easy to find
on the web.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Les Mikesell
Rudi Ahlers wrote:

 I would like some suggestion on this matter please. I have never 
 bothered using any code repositories / version control systems for our 
 web development project, many cause I didn't know any better, and 
 probably cause most of our projects don't really require that we need to 
 keep a history of what has changed. i.e. a client wants to change 
 something on their website, and we change it, whether it's cosmetics or 
 code (normally PHP  MySQL).
 
 But, I want to see if CVS, or maybe even a forge script (like in 
 offerforge) could benefit met. Most of the time when we make changes to 
 the code, we simply update the version, from say 1.2.2 to 1.2.3 and 
 write the changes to a basic changelog, which in our case is a simple 
 text file calles changelog.txt
 
 But, how could I benefit from a CVS, ir similar system? And what would 
 be best for this environment? I installed CVS on my CentOS server, but 
 it seems that it's not just a matter of creating a tree and dumping 
 code.  I'm not too worried about multiple users at this stage. All our 
 coding is currently stored on a CentOS 5.4 Samba server, so we can 
 access to the code from either a Windows or Linux PC. Do I need anything 
 more?

I'd use subversion rather than cvs, but the concepts are mostly similar.  
Create 
a repository, import your existing file tree (or several if you want to break 
it 
into projects at directory levels.  Then check out a working copy somewhere 
else.  Once you are sure that works, delete (or move) your original copy and 
check out a working copy in its place (this might be your actual web server 
tree 
or a staging copy that you rsync to the real server(s).  From then on, you 
always edit in working copies and commit the changes back to the repository. 
Many working copies can be checked out at once, and an 'update' command will 
bring them up to the current repository version so it is easy for many people 
to 
share work.  You can use subversion's own server protocol or the mod_dav_svn 
module for apache for access over http(s).

 I started using eclipse+PHP a few months ago and I don't really use it 
 to its full potential, so I'm sure I could benefit from it more.

With eclipse, you can use the subclipse module for GUI access to the subversion 
features.  If you work from windows the tortisesvn program adds it to windows 
explorer.

 So, the question is, what is a good recommended setup to go with? Web 
 based access to all the files would be nice, then we could access it 
 from outside the LAN on HTTPS.
 And how do I use it to my benefit? For example, clientA wants to make 
 changes to Project1. Now I have a Project1 in the CVS tree (is this the 
 right terminology?), and make changes to file contacts.php - what now? 
 Do I need to create a subfolder called 1.2.2 (for example), and add only 
 the updated file in this folder, or do I copy the whole Project into the 
 new folder?

You can control access by path - or have separate repositories per client/site. 
   Normally everyone just commits work to the repository as they go, then when 
the changes are ready you update the site to that revision - perhaps through a 
staging/test process.

 2 weeks down the line I need to make changes to 8 files, what do I do now?

Edit in a working copy, commit, update in the master copy.

 Does this make sense? I realize it could be beneficial to keep older 
 files, but how does one structure it?

History is kept automatically.  Every commit makes a revision number and you 
can 
  check out (or update to) any revision ever committed.  If you want to make 
big 
changes and be able to edit different versions simultaneously you can make 
branch copies.  If you want what appear to be snapshot copies with your own 
naming convention you can make tag copies.  This is all covered pretty well in 
the subversion documentation and the only thing that takes any thought is how 
the repository relates to the active site.  You might be able to make the live 
files a working copy and manage it directly with updates to current or a 
specified revision number.  Or you may want to do that in a staging area, 
perhaps with a way to preview the changes, then use rsync (which has a -C 
option 
to skip CVS or subversion metadata) to push to the production location(s).

-- 
   Les Mikesell
lesmikes...@gmail.com




___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Pascal Robert

Le 10-02-11 à 09:05, Mathieu Baudier a écrit :

 SVN. Easy to setup, and the docs are excellent. I'm using it all  
 the time.

 I second that: it the OP is not that familiar with version control
 systems, Subversion is more intuitive and answers will be easy to find
 on the web.

And more client tools too, including the ones that you can install in  
Eclipse.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] how to work with Code Repositories, but for web development?

2010-02-11 Thread Paul Heinlein
The one other tidbit that I'd add is ... experiment! Don't let your 
first try at setting up a repository be your production setup.

Try different repository layouts. The online subversion book walks you 
through the issues, but I'd caution against making a decision without 
trying stuff out.

Create your repo (I use Subversion, but that's no knock against Git or 
Darcs or Mercurial or ...). Check out or clone a copy. Edit some 
files. Rearrange directories. Commit the changes. Rinse, lather, 
repeat -- several times.

Ask yourself if the layout is good, if the repository workflow 
dovetails with the way you work, if the client-side tools work well 
with the various operating systems in your environment.

If you'll rely on a central, official repository, figure out a backup 
strategy.

It's good to figure out a template for commit messages: what 
information needs to be provided to document the why of changes. 
There are few things more annoying than an empty or meaningless commit 
message.

Finally, if your repository goes hand-in-hand with a lot of 
meta-information like documentation, trouble tickets, milestones, or 
things like screenshots, think about associating your repository with 
a wiki like Trac:

   http://trac.edgewall.org/

-- 
Paul Heinlein  heinl...@madboa.com  http://www.madboa.com/
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos