|
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]
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]
Dependencies:
[change]
CVS (required)
GNU CLISP (required)
[download links]
|
|
» Rating:
8.53/10.00
(Rank N/A)
» Vitality: 0.15% (Rank 668)
» Popularity: 3.60% (Rank 1144)

(click to enlarge graphs)
Record hits: 27,787
URL hits: 14,749
Subscribers: 114
|
|
Branches
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]
|