List Info

Thread: Re: extra data in binary file conversions




Re: extra data in binary file conversions
user name
2007-07-30 12:17:57
Hello,

> 1. You have a mac-specific version of CVS that was
hacked to somehow
> pack the resource fork with the main file data in the
CVS archive, then
> pull them apart when you checkout the files.  I find
this extremely hard
> to believe, especially given that there is nothing in
the CVS header to
> indicate that the *,v file is anything out of the
ordinary.

It looks like this, in fact, is what is happening. We use a
GUI CVS client
called MacCVSClient, and the developer tells me that this
client does store
the resource fork along with the data; apparently other Mac
CVS clients do
the same thing. This is briefly described under the heading
"Repository
Format" on the CVS support site:

  http://ximbiot.com/cvs/cvshome/cyclic/cvs/dev-mac.html


Here's the documentation from two of the clients that take
this approach:

  http://www.ma
ccvs.org/faq.html#resfiles
  http://www.heilancoo.net/MacCVSClient/
MacCVSClientDoc/storage-formats.html

I don't suppose you would be interested in adding support
for this storage
approach to cvs2svn? Otherwise, we will finish any current
projects in CVS
and only use SVN for new projects.

Thanks,

Arlo Leach
312.274.9434
_ _ _ _ _ _ _ _ _ _
Type A Learning Agency
http://www.typea.net



------------------------------------------------------------
---------
To unsubscribe, e-mail: users-unsubscribecvs2svn.tigris.org
For additional commands, e-mail: users-helpcvs2svn.tigris.org


Re: extra data in binary file conversions
user name
2007-07-30 22:12:11
Arlo Leach wrote:
>> 1. You have a mac-specific version of CVS that was
hacked to somehow
>> pack the resource fork with the main file data in
the CVS archive, then
>> pull them apart when you checkout the files.  I
find this extremely hard
>> to believe, especially given that there is nothing
in the CVS header to
>> indicate that the *,v file is anything out of the
ordinary.
> 
> It looks like this, in fact, is what is happening. We
use a GUI CVS client
> called MacCVSClient, and the developer tells me that
this client does store
> the resource fork along with the data; apparently other
Mac CVS clients do
> the same thing. This is briefly described under the
heading "Repository
> Format" on the CVS support site:
> 
>   http://ximbiot.com/cvs/cvshome/cyclic/cvs/dev-mac.html

> 
> Here's the documentation from two of the clients that
take this approach:
> 
>   http://www.ma
ccvs.org/faq.html#resfiles
>   http://www.heilancoo.net/MacCVSClient/
MacCVSClientDoc/storage-formats.html

Thanks for following up and finding these references.  There
is also a
wikipedia entry about AppleSingle format with a link to an
RFC with some
information about version 0x00020000 of the format (the
version used by
your files):

    http://rfc.net/rfc1740.ht
ml

> I don't suppose you would be interested in adding
support for this storage
> approach to cvs2svn? Otherwise, we will finish any
current projects in CVS
> and only use SVN for new projects.

Before considering changes to cvs2svn, there might be an
easier route.
If there is a "cvs" command-line client that
understands the convention
used by your GUI client, then it should be possible to have
cvs2svn use
this version of cvs to check out the files.  You would need
to use the
--use-cvs option and also
--cvs=/path/to/special/hacked/cvs.

cvs2svn uses "cvs -p" to get the contents of a
file revision.  It might
be that the special Mac command-line CVS uses another option
to retrieve
only the data fork of a file from CVS.  If this is the case,
you need to
 make changes to the CVSRevisionReader class in
cvs2svn_lib/cvs_revision_manager.py (in the trunk version of
cvs2svn) or
cvs2svn_lib/revision_reader.py (in the 2.0.x version).

Alternatively, if there is a program that knows how to
extract the data
fork from an AppleSingle file *and knows to leave other data
streams
unchanged*, then you could build a "cvs"
replacement from this tool.
Suppose the tool is called "extract-apple-single";
then you could write
a script like

    #! /bin/sh
    cvs "$" | extract-apple-single

and use this script as your "cvs" command with
"cvs2svn --use-cvs
--cvs=/path/to/my/script ...".

Otherwise, it should be pretty easy to add support for
ripping the data
fork data out of an AppleSingle format data stream to
cvs2svn itself.
Frankly, it wouldn't be my highest priority of things to
work on, but I
would be happy to help you if you would like to work on this
feature.

In any case, please let me know what you find out.

Michael

------------------------------------------------------------
---------
To unsubscribe, e-mail: users-unsubscribecvs2svn.tigris.org
For additional commands, e-mail: users-helpcvs2svn.tigris.org


Re: extra data in binary file conversions
user name
2007-08-15 14:09:40
Michael Haggerty wrote:
> Otherwise, it should be pretty easy to add support for
ripping the data
> fork data out of an AppleSingle format data stream to
cvs2svn itself.
> Frankly, it wouldn't be my highest priority of things
to work on, but I
> would be happy to help you if you would like to work on
this feature.

I just implemented this feature in trunk.  See the
ctx.decode_apple_single option in cvs2svn-example.options.

Michael

------------------------------------------------------------
---------
To unsubscribe, e-mail: users-unsubscribecvs2svn.tigris.org
For additional commands, e-mail: users-helpcvs2svn.tigris.org


[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )