fmII
Sat, May 17th home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop 22:10 PDT
in
Section
login «
register «
recover password «
[Project] add release | add branch | add screenshot | broken links | change owner | email subscribers | update project | update branch (urls) [Project]

 Meta-CVS - 1.0 branch
Section: Unix

 

Added: Sun, Jan 27th 2002 17:19 PDT (6 years, 3 months ago) Updated: Sat, Mar 8th 2008 04:34 PDT (2 months, 10 days ago)


About:
Meta-CVS is version control system created around CVS. It retains most of the features of CVS while adding support for first class directory structure versioning, storage of symbolic links, and versioning of execute permissions and user-defined properties. Meta-CVS greatly simplifies branching and merging by keeping track of what is merged where. It records file types and automatically assigns a CVS keyword expansion mode to newly added files whose suffixes match previously recorded types. Meta-CVS also has an importing feature that automatically figures out renames and moves, making it possible to easily keep up with patches from multiple sources in spite of directory structure changes.

Author:
Kaz Kylheku [contact developer]

Rating:
8.53/10.00 (5 votes)

Homepage:
http://users.footprints.net/~kaz/mcvs.html
Tar/GZ:
http://users.footprints.net/~kaz/mcvs-1.0.13.tar.gz
Changelog:
http://users.footprints.net/~kaz/meta-cvs-changelog-stable.txt

Trove categories: [change]
[Development Status]  5 - Production/Stable
[Environment]  Console (Text Based)
[Intended Audience]  Developers, Quality Engineers
[License]  OSI Approved :: GNU General Public License (GPL)
[Operating System]  POSIX
[Programming Language]  Common Lisp, Lisp
[Topic]  Software Development :: Version Control, Software Development :: Version Control :: CVS

Dependencies: [change]
CVS (required)
GNU CLISP (required)
[download links]

 
Project admins: [change]
» Kaz Kylheku (Owner)

» Rating: 8.53/10.00 (Rank N/A)
» Vitality: 0.15% (Rank 668)
» Popularity: 3.60% (Rank 1144)

project statsdownload stats
(click to enlarge graphs)
   Record hits: 27,787
   URL hits: 14,749
   Subscribers: 114

Other projects from the same categories:
CvsInit
CVSNT
Team Foundation for Mono
SourceHaven
ArchZoom

Users who subscribed to this project also subscribed to:
CALAMAR
svn2cvs
dvdisaster
Urwid
Net-SNMP


Add comment · Rate this project · Subscribe to new releases · Ignore this project · Email this project to a friend · Project record in XML

 Branches

Branch Version Last release License URLs
1.0 1.0.13 12-Mar-2004 GNU General Public License (GPL) Homepage Tar/GZ Changelog
1.1
Development towards 1.2.
1.1.98 08-Mar-2008 GNU General Public License (GPL) Homepage Tar/GZ Changelog

 Comments

[»] bug
by Peter - Oct 9th 2006 13:49:08

I have used this excellent program for more than one year, but now I came accross a bug.

I had it earlier too, but then I could solve it.

The bug is:
When a checkout my project to a freshly installed debian testing system, mcvs tell me "invalid byte" and get only the MCVS directory.

A tried setting the LC_ALL, LANG and LANGUAGE environment variables to C and/or en_US, but it could not help.

To tell the truth,I installed an other debian testing system 2 days ago, and mcvs works fine on that.

Because mcvs is not developed yet, I will try to switch to subversion, but I am afraid of loosing all my messages.

Could anybody tell me a way to import my mcvs project into subversion?

Thank you in advance
Peter

[reply] [top]


    [»] Re: bug
    by Peter - Oct 9th 2006 14:05:09

    % The bug is:
    > When a checkout my project to a freshly
    > installed debian testing system, mcvs
    > tell me "invalid byte" and get
    > only the MCVS directory. Sorry for the previous post, I solve this error. There was only one locale on the system, en_US.UTF-8. I generated en_US.ISO-8859-1 with "dpkg-reconfigure locales" and the error message disappeared. But I am interested in converting my MCVS repository into Subversion yet, so if anybody knows it, tell it to me, please. Thank you in advance Peter

    [reply] [top]


[»] setting up mcvs
by Peter - Aug 16th 2005 07:55:25

I use Debian unstable.

1. install cvs
2. install cvs-utils (I dont know, wheter it is important, or not)
3. install mcvs
4. put into ~/.bashrc
---------------------------------------
CVSROOT=:ext:username@server.domain.name:/path/to/
cvs/rootdir
CVS_RSH=ssh
export CVSROOT
export CVS_RSH
---------------------------------------
(the CVSROOT dir was on a remote computer in my case)

=====================
First step with mcvs:

Let us say, that your project located in the
/home/peter/work/website
dir.

1. cd /home/peter/work/website
2. mcvs create website cvs_1_0
(where 'website' is the name of the project, cvs_1_0 is the initial tag)
3. cd /tmp
4. mcvs co website

(If it was successfull, you may
- delete the original project dir
- cd /home/peter/work
- mcvs co website)

(You are allowed to use different dirname and projectname:
- cd /home/peter/work
- mkdir newwebsite
- cd newwebsite
- mcvs co -d . website)

[reply] [top]


[»] amazing, hardly any drawbacks
by Peter - Aug 16th 2005 07:24:02

I forget one thing:

You cant use empty dirs.

I usually make some dirs (examples: tmp/, output/ ) and theese are filled with files after running the main program. So theese are empty before running the program.

I put an empty file into theese dirs, usually named 'nothing'. You can let mcvs remember this directory with this file. (example : mcvs add -R output)

[reply] [top]


    [»] Re: amazing, hardly any drawbacks
    by Kaz Kylheku - Mar 3rd 2006 17:26:16


    > I forget one thing:

    >

    > You cant use empty dirs.

    >

    > I usually make some dirs (examples:

    > tmp/, output/ ) and theese are filled

    > with files after running the main

    > program. So theese are empty before

    > running the program.

    >

    > I put an empty file into theese dirs,

    > usually named 'nothing'. You can let

    > mcvs remember this directory with this

    > file. (example : mcvs add -R output)

    >

    >


    Hi Peter.

    A little trick for saving empty directories is to populate them with a dummy symbolic link. (Remember, Meta-CVS stores symlinks). It doesn't have to point to anything, it could just point to itself. (Remember, Meta-CVS stores broken symlinks just fine). A symlink is cheaper than a dummy file, because it's just an entry in the MAP.


    [reply] [top]


[»] amazing, hardly any drawbacks
by Peter - Aug 16th 2005 07:14:25

I love MCVS. Some pros:

1. You have to install mcvs ONLY on your workstation computer. It was very important in my case, because my CVS root dir is on a remote computer, and on that computer I have no root privileges to install packages.

2. You can use symlink. I use everywhere symlinks, and before MCVS, I had to write scripts to make symlinks.

3. You can use execute permissions.

So all in all, mcvs is a wonderful product.

Contras:

There is not any, but there are some uncomfortable things.

1. 'mcvs create' doesnot remember the execute file permission.
So after 'mcvs co', I usually run a small script:
--------------------------------
find -type f -not -wholename '*/MCVS/*' -execdir
grep -q '^#!' '{}' ';' -execdir mcvs prop --set exec '{}' ';'
--------------------------------
It finds the scripts with line '#!' (example #!/bin/bash) and takes an 'mcvs prop --set exec' on it.

2. After mcvs ci, you cant see the real names of changed files, but the mcvs created file names, and those are something like this: 'F-D46108824FE25988BE1F3B90F5BCC467.sh'

But I usually 'check in' often, so I modify only a few files between two ckecking in, and of course I remember the modified files.

Thanks for the author
Peter

[reply] [top]


    [»] Re: amazing, hardly any drawbacks
    by Kaz Kylheku - Mar 31st 2006 23:31:06


    > 1. 'mcvs create' doesnot remember the

    > execute file permission.

    Eeek, do we have a bug? I will look into that. (I haven't worked on Meta-CVS in quite a while!)

    The "mcvs grab" command tracks changes in permissions. Another workaround might be to use "mcvs create" in an empty directory to make an empty project. Then use "mcvs grab" to fetch the contents of the tree you want in the repository; "mcvs grab" is normally used to bring snapshots to a branch, but it can be told to grab to the trunk.

    [reply] [top]


      [»] Re: amazing, hardly any drawbacks
      by Kaz Kylheku - Mar 7th 2008 22:23:45


      >

      > % 1. 'mcvs create' doesnot remember the

      > % execute file permission.

      >

      >

      > Eeek, do we have a bug? I will look into

      > that. (I haven't worked on Meta-CVS in

      > quite a while!)

      >

      > The "mcvs grab" command tracks changes

      > in permissions. Another workaround might

      > be to use "mcvs create" in an empty

      > directory to make an empty project. Then

      > use "mcvs grab" to fetch the contents of

      > the tree you want in the repository;

      > "mcvs grab" is normally used to bring

      > snapshots to a branch, but it can be

      > told to grab to the trunk.

      >

      Hmm, this could be a result of the logic that a file is considered executable only if it has both owner and group execute permissions. The EXECUTABLE-P test should be based on just the owner's execute permission. (When Meta-CVS sets the attribute on a file though, it adds it to every permission category where there is already read permission).

      [reply] [top]


[»] Makes CVS not suck
by Nurikabe - Dec 20th 2003 23:10:47

CVS with support for symbolic links.



I can die happy.

[reply] [top]




© Copyright 2008 SourceForge, Inc., All Rights Reserved.
About freshmeat.net •  Privacy Statement •  Terms of Use •  Trademark Guidelines •  Advertise •  Contact Us • 
ThinkGeek •  Slashdot  •  ITMJ •  Linux.com •  NewsForge  •  SourceForge.net  •  Surveys •  Jobs •  PriceGrabber