Is there a crash course for using the Drupal CVS? I've applied for my CVS account and uploaded my first theme. I'm finding that the CVS system is, to put it bluntly, a pain in the ass. I followed all the links in the CVS account maintenance email I received. I've also searched these forums. There is nothing that is simply written with all the information necessary to use the CVS system and contribute. I am a computer geek and a web designer (although not a programmer) and it is taking me more time than it should to figure out how to contribute.

This is what I'd like to see and I'd be willing to write up a guide myself:

1. Requirements: What is necessary to contribute to Drupal CVS. i.e. that you need to sign up for an account, what you need to interface with the CVS (does it require client software installed on my computer? because I'm not interested in dealing with command line to maintain my contributions) etc.

2. Guided instructions: It doesn't have to be baby language but it would be nice to have some step by step instructions for contributing to CVS. What a new contributor can expect to see and how they go about adding and maintaining releases. It is amazing how much quicker people can learn things when the instructions are actually relevant to what they are seeing on screen.

3. Then at the end, some more terminology and CVS theory could be added.

I have to pose the question: Is CVS overkill for Themes? It is not like a bunch of people are going to be working together on a theme. Usually, if not always, it is one person uploading a theme and adding a new version when changes are made. I'd like to just be able to upload a theme, easily add a screenshot, and if something needs to be fixed or changed, upload a new version with a list of changes.

It is no wonder there aren't that many themes for Drupal. First of all, you can't contribute a theme without a CVS account. Then, you have to figure out how to use CVS, which is a chore. Sorry if this sounds a bit heated, but it is frustrating when you want to contribute and you have to deal with a technological brick wall. Again, I'd be happy to write up a crash course specifically for contributing and maintaining themes on Drupal CVS, but I need some help figuring out how to use the system.

Comments

Chill35’s picture

I decided to not create any patch again because I downloaded software to create patches, even God-forbid used command line unix-like software to create the patch, only to find out that my patch won't work because it has to include a special header and to create that header I need to use the CVS. I am an engineer, not stupid, learn easily and quickly, but to put it in "mild terms" documentation on the Drupal CVS really sucks. It becomes just too agravating for me. I want to help but it feels like I have to suffer too much pain to achieve any goal so it's frustrating. In a way Drupal feels like it's maliciously forcing some "inclusion" rituals on newbies, and it's not : it does feel like it though : suffer enough, show us what you've got, decipher some encrypted games, and you'll become a contributer. I am sorry, I am not explaing well what I have in mind, because english is definately not my first language.

Coupon Code Swap’s picture

It's the Drupal hazing ritual ;) Seriously though, there is a lot of room for improvement in this department.
------------------------------------
http://themebot.com
http://undoITsolutions.com
http://upadesha.com

Chill35’s picture

I learnt a new word, "hazing", and that is exactly what I meant, I had the french word in mind : bizutage. It feels worst than an initiation ritual, it feels like a hazing ritual, in the CVS department that is.

undoIT, it wouldn't be very efficient of you to work on that documentation yourself. You should be themeing away, not write documentation on CVS. Resources not well spent... However... when someone suggests a change here on Drupal.org, many drupalians respond with "if you're not happy with what you've got, change it yourself". Which makes some sense, in many situations, but I could certainly live without the defensive tone that is often used with such declaration.

Now that I am ranting, I feel like adding : there's no use feeling defensive about anything here. People are all in the same boat. Let's face it : Drupal is NOT easy. There's nothing straightforward when it comes to customizing the smallest thing without using the Admin Control Panel. If people come here and they complain, they are really in the same boat as all : they most probably sweated and suffered and just want other people to NOT suffer as much as them. They want to improve Drupal, not shoot it down. There are days when I think that I stick with Drupal mostly because of all the time and effort I invested in it. Fortunately, on most days, I think that Drupal rocks too.

:)

sepeck’s picture

Accused again. It is not a defensive tone Chill35, it is a no one has done it so if you see the need, it's a perfect opportunity for you to contribute. Generally someone garners the 'do it yourself' response after someone has been ranting/cross posting/complaining in multiple threads but you could also just get lucky in tone and comment of the original complaint.

In this case extensive instruction on using CVS and maintaining a project are readily available in the handbook. They are good instructions too.

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

styro’s picture

Unfortunately "simple" and "thorough" are kinda opposites of each other when it comes to documenting something like version control.

I'd never used CVS before I contributed a Drupal module, but I found that reading through the handbook (see sepecks link) was enough to get me started without too much trouble. There is very good info in there, don't ignore it even though you might need to read through it a couple of times for it to sink in (some bits will make better sense after reading other bits). It is worth persevering though. It doesn't take too much effort to grasp the basic tasks you need.

Version control is an absolute necessity for managing software development - especially where multiple developers are involved. I can fully understand how people that have never used it before will think that it is too complex and not worth the effort. It becomes especially valuable with Drupal contribs because there is a whole system built around it on drupal.org to manage releases of new versions and track issues against those versions etc.

Version control is definitely not intended to be a barrier or hazing ritual - it is just that with a developer community as large as this there is no way it could function without it. The chaos that would arise from not using version control far outweighs the little bit of extra learning involved.

I'll readily admit that CVS seems scary from the outside, but that goes away after using it a bit :)

--
Anton
New to Drupal? | Forum posting tips | Troubleshooting FAQ

sepeck’s picture

There is an entire section devoted to using CVS with drupal.org.
http://drupal.org/handbook/cvs

Using CVS (or any revision control system) in the long run will really benefit you tremendously in updating and maintaining your themes. Whether you are on Drupal.org or your local system. The ibm articles mention it as well.

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

Coupon Code Swap’s picture

From the CVS handbook "Maintainer quick-start guide" http://drupal.org/handbook/cvs/quickstart:

This document contains a series of cvs command examples that project maintainers can use to maintain their projects. For further background information on any of these commands or concepts, please see the rest of the CVS portion of the handbook.

Note: this document covers modules, but themes, theme engines, and translations are essentially the same.

Basics

Logging in to CVS

if you have not already done so, make the contributions repository your CVSROOT:

export CVSROOT=:pserver:cvs_username@cvs.drupal.org:/cvs/drupal-contrib

cvs_username will correspond to the username you requested when you applied for a Drupal CVS account.

Next, log into CVS:

cvs login

This will prompt you for your CVS password. Note that this is not necessarily the same as your drupal.org password!

.......

...um no. This is not a quickstart guide. Where do you type in all those commands? Do you need to install a CVS client to use CVS?

And that is just the tip of the iceberg. There is way too much to read in the CVS handbook and a lot of it is not immediately relevant to what you see as a Drupal contributor after logging in to your CVS account. Although CVS may be a powerful versioning system, I believe it is a big deterrent to making contributions to Drupal.

The solution would be to have a concise, easy to follow CVS quickstart guide which is actually relevant to what you see when you try and add a project using your CVS account. If I had the patience and time to learn the CVS system I'd be happy to write one. I'm not trying to put down Drupal, I'd just really like to see this improved.

sepeck’s picture

If you have never used a CVS system or are unfamiliar with how they work, you can't skip to the commands. You have to learn the alphabet and go from there. The 'quick start' guide listed is for people already familiar with CVS. For beginners, there is no path past learning the basics. That's why I linked you to the top of the CVS instructions. It won't take you long to go through them and it really will be to your benefit long term, it's a good tool to know. There is even a section on CVS GUI's and clients listed.

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

Coupon Code Swap’s picture

Alright. I have another theme port in the works and I guess I'll have to wade through the CVS handbook. If I find some time later I'll try and write a quick-start guide for people unfamiliar with CVS.

Happy new year!

Coupon Code Swap’s picture

Okay. I downloaded SmartCVS. Got connected to the server with the following settings:

Protocol: Password server (:pserver:)
Server: cvs.drupal.org
Repository folder: /cvs/drupal-contrib
User name: anonymous
Password: anonymous

I can't find a directory for the theme that I contributed: stylized_beauty. I thought this was created when I submitted the project. So... now what?

------------------------------------
http://themebot.com
http://upadesha.com

styro’s picture

You have to upload (ie commit) your files through CVS, the project page is just a Drupal node for information about your project. The Project module is generally driven by CVS rather than the other way around. There were whisperings of possibly creating web functionality for some of the CVS functions, but even if wanted that would be a massive long term future effort that will no doubt needs lots of sponsorship dollars to even get started. We've only just really got the fruits of the last major improvement to this system (grateful thanks to Derek Wright).

Generally you commit the files first then make the project page - but I'm not sure that order is still required with the latest changes to the Project module.

Here is a step by step walk through:
http://drupal.org/node/100748

But I still recommend reading through the other pages a couple of times before trying it to get a better idea of what is actually happening. Also if you are using a GUI client, you'll need to translate the command line instructions to the GUI:

some reference links:
http://www.cs.utah.edu/dept/old/texinfo/cvs/cvs_18.html#SEC59
http://refcards.com/refcards/cvs/cvs-refcard-a4.pdf

Unfortunately due to the variety of different GUI clients, the core of the Drupal CVS docs will be written for the definitive reference implementation of CVS which is the command line (it is also the quickest and easiest version to document). The GUI clients do the same things, it's just they all have their own way of presenting them. Which is why you need to understand the terminology and what the various command line options do.

--
Anton
New to Drupal? | Forum posting tips | Troubleshooting FAQ

Coupon Code Swap’s picture

Oh joy of joy's! I finally committed the initial release for stylized beauty using CVS. Just need to wait for the packaging script to run to make sure it worked. I uploaded a screenshot for the Drupal themes section. How do I go about adding it to the theme description?

------------------------------------
http://themebot.com
http://upadesha.com

styro’s picture

I had a quick browse in the handbook:

http://drupal.org/node/11637

If you don't have access to full html on your project page, you'll need to ask or raise an issue on the webmasters list to sort it out.

--
Anton
New to Drupal? | Forum posting tips | Troubleshooting FAQ

Coupon Code Swap’s picture

It appears I don't have access to full HTML. They don't make it easy on you. All of this stuff should be simplified to encourage more people to contribute themes. I'll contact Heine.

Coupon Code Swap’s picture

I've written up a walk-through that might be helpful. Would somebody who is more knowledgeable about CVS mind taking a glance at it and correcting any mistakes?

Quickstart guide for CVS and contributing Drupal themes

Please let me know if any of the steps are unclear or do not work.

------------------------------------
http://themebot.com
http://upadesha.com

dirkjot’s picture

I haven't fully tried this guide, but I do know CVS well. The guide seem perfect, to the point and very clear. I think it should be more prominently linked to or included here on drupal.org.

Coupon Code Swap’s picture

If it is useful I wouldn't mind adding it to the handbook. I have no idea how to do that but I'm guessing by creating a bookpage. Also, I want to make sure that the instructions are valid and error free before adding anything.

------------------------------------
http://themebot.com

sepeck’s picture

The process is, you add it.
http://drupal.org/node/24572

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

karldied’s picture

Yes, but since you have images, you probably want full HTML access, so may be better to just ask to join the doc team. http://drupal.org/node/23367