[pmwiki-users] Proposal: version control for cookbooks recipes

Joachim Durchholz jo at durchholz.org
Wed Oct 25 12:09:56 CDT 2006


Crisses schrieb:
> On Oct 24, 2006, at 10:31 PM, Martin Fick wrote:
> 
>> Branch to copy is exactly what SVN allows you to do!
> 
> no -- I mean "duplicate the folder" --

That's exactly what Martin meant, too.

> or right-click "copy folder" on Mac OS X

(No Mac here.)

> or right-click "copy" right-click "paste" in Windows

No sweat.
Right-click - Subversion - Copy.

> cp -r folder newfolder
> or copy folder.* folder-o.* on dos (no, I don't remember !! :) )

On the command line, there isn't a good way that I know of.

Maybe somebody should overload the standard cp and mv commands so that 
they look whether they are in an SVN directory, and automatically call 
the appropriate SVN commands. (It's possible with most Unix shells. It 
shouldn't even be too difficult.)

> I strongly disagree with "simply" here.  What's the line command?  I  
> have to even remember to type "svn checkout", "svn update", "svn hold  
> the mayo"  -- say it's "svn copy".  But that's only a copy.  It's not  
> IN the repository and all nice and protected yet.

You could hack away at the copy immediately, too (you can always copy 
the original from their directory after all). No need to commit before 
working on the data.
You don't need to "protect" your data. Committing is more like 
publishing your changes. Or, rather, like marking the current state as 
an interesting/useful one that you might want to return to later.

 > You have to run
> two more commands to do that part.  First you need to update to make  
> sure you're not messing up anyone else's work, and check your diffs.  
 > Then you have to svn commit.

Right.
These steps are unavoidable if you want to merge your work with other 
people's work.
You need one command to tell the system that "now I'm ready to publish 
what I did".
You need another one to pull in the changes by other people.

> The nice thing about "branches" "tags" and "trunks" is that at least  
> the tutorials cover them.  One can swath oneself in the security  
> blanket of "at least someone has thought this out and used it  
> before".

Yes, but that branch/tag/trunk stuff is relevant for projects that (a) 
have multiple people wanting to edit in them at the same time, (b) 
people want a private versioned copy to work on without being disturbed 
by others, (c) where people have to manage multiple versions of code 
that might be installed, while all the time working on new versions.

That's far more than most recipes need.

> Put another way "maybe there's a reason that Linus Torvalds doesn't  
> use subversion".

I think Linus rejected SVN for quite different reasons.
AFAIK one of the major problems with SVN (or any other system) were 
performance problems. SVN can easily handle several dozen developers 
committing stuff on a daily basis, but can it handle hundreds? (For 
Linux, it would have been thousands actually...)
In the case of Linux, there may have also be somewhat arcane 
requirements (e.g. related to keeping code for different architectures 
in one source tree); I don't know anything, but I can easily imagine 
that SVN was simply missing some features.

Regards,
Jo




More information about the pmwiki-users mailing list