Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Is there handy version control system with pureperl?

by remiah (Hermit)
on Sep 05, 2012 at 06:05 UTC ( [id://991741]=perlquestion: print w/replies, xml ) Need Help??

remiah has asked for the wisdom of the Perl Monks concerning the following question:

I have my small programs on my server with folders like this.

project1/ver1 /ver2 /ver3 /latest.pm /latest.pl project2/ ... and so on.
I upload/download with scp. And monk's wisdom that I examined, scatter over machines to machines. I came to think of small version control system for me. I would like to have advice from monks, if I could.

What I want.

1. I want to put repository at my server, which has no c compiler, perl5.8, anyway handy for me. It has apache, dav, ftp but there is restriction for installation. So, I am looking for pureperl version control system. Is it possible?

2. I dream like this, with client.

perl -Mpureperlsvn -e 'checkout //project1/trunk mydevel' perl -Mpureperlgit -e 'commit test.pl'
If perl and that module is installed, it works. And server receive the source file like CGI program and save it to it's version.

3. I would like to view my source from browser. If I could grep from browser, I could be more happy.

4. Just for personal use.

I found svk in this thread, but it seems to depend on subversion.
Or, do you recommend private Repository of GitHub?

Replies are listed 'Best First'.
Re: Is there handy version control system with pureperl?
by CountZero (Bishop) on Sep 05, 2012 at 06:28 UTC
    There is no technical reason why a versioning system cannot be written in pure Perl. A very primitive "file level" versioning system exists with Net::FTP::Versioning (warning: I never tried it).

    But, it would be a major effort to develop a complete one and at best you only copy the services that are already provided by the many already existing versioning systems.

    Far better to apply to the sysadmin of your server and after some groveling and handing over of appropriate presents (think: beer, chocolates, cookies, iPads, fast cars, ...) have him/her install one of the existing versioning systems.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics

      Thanks for reply.

      I saw Net::FTP::Versioning, but it seems I would like to use scp than Net::FTP::Versioning.

      I am thinking of chocolates or github. thanks.

Re: Is there handy version control system with pureperl?
by Corion (Patriarch) on Sep 05, 2012 at 06:37 UTC
    If filenames with time/date in their name don't cut it, just install git (if that's an option for you). It requires little hassle and no outside connectivity. Github is just a fancy front-end to git.

      I'll search for git itself more. Thanks for reply.

Re: Is there handy version control system with pureperl?
by DrHyde (Prior) on Sep 05, 2012 at 10:00 UTC
    Please don't do this, it will drive you insane. There is a *lot* of complication lurking under the surface of what seems like a trivial problem. I'd just install git on all your machines. Even if you've got no compiler, there's probably a binary package available for your OS. And if there isn't, build it on a machine on which you *do* have a compiler, and then install it on the one that doesn't.
Re: Is there handy version control system with pureperl?
by moritz (Cardinal) on Sep 06, 2012 at 07:24 UTC

        Now I use git and gitweb.cgi, but, I would like to have a try these modern, pluckup ones.

        And your link to WebDavCGI seems to me very interesting. I bookmarked for someday when I need webdav.

        Thanks for reply.

      I am using gitweb now.

      This cgi tells me how to use git command like ls-tree or grep. When I am almost drown with tons of git command options, this script save me.
      I made little cgi script with "git grep" command and searched for "moritz", and I found depth calculation example of yours.

         2 #2012/03/13
         3 #http://perlmonks.org/index.pl?node_id=959260
         4 #max depth of the tree: answer from moritz
      
      This example keep astonishing me.
      I am looking forward to see your answers.
      Thanks for reply.

Re: Is there handy version control system with pureperl?
by Anonymous Monk on Sep 05, 2012 at 07:17 UTC
    msysgit uses perl :) and SVK is written in perl
      SVK is built on top of Subversion, so it is not "pure" Perl.

      msysgit is the development environment of Git for Windows, that hardly warrants a "versioning done in pure Perl" tag.

      CountZero

      A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      My blog: Imperial Deltronics

        ... not "pure" Perl ..

        That is kind of why I didn't claim they were :)

        I really don't care for the OPs limitations :) its why I didn't mention VCShell

        svk comes with everything the OP wants, so all he has to do is get ahold of his target OS, get a citrusperl/cavapackager for it, install all the modules svk needs ( Alien::SVN ), and create a distribution, and upload it to his target machine

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://991741]
Approved by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (6)
As of 2024-03-19 09:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found