You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by jam <ja...@tigger.ws> on 2008/09/06 05:33:35 UTC

Whatstrings

Hi

I had a bad experience trying to use subversion after cvs, so I'm trying
again :-)

Somewhere in the world is an executable someprog.
I need to exactly re-create the environment from which it came ie
ident someprog
someprog:

$Header: /home/cvs/ltouch/parse.c,v 2.9 2008/03/23 09:44:39 jam Exp $
$Header: /home/cvs/ltouch/tkAppInit.c,v 2.11 2008/03/23 09:44:39 jam Exp
$
$Header: /home/cvs/ltouch/do.c,v 2.16 2008/03/23 09:44:39 jam Exp $
$Header: /home/cvs/ltouch/term.c,v 2.5 2008/03/09 05:09:35 jam Exp $

Now I can *exactly* recreate this version of someprog, it's ROM or flash
whatever.

Is subversion the wrong tool for what I need to do?

Thanks
James


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Whatstrings

Posted by Blair Zajac <bl...@orcaware.com>.
jam wrote:
> Hi
> 
> I had a bad experience trying to use subversion after cvs, so I'm trying
> again :-)
> 
> Somewhere in the world is an executable someprog.
> I need to exactly re-create the environment from which it came ie
> ident someprog
> someprog:
> 
> $Header: /home/cvs/ltouch/parse.c,v 2.9 2008/03/23 09:44:39 jam Exp $
> $Header: /home/cvs/ltouch/tkAppInit.c,v 2.11 2008/03/23 09:44:39 jam Exp
> $
> $Header: /home/cvs/ltouch/do.c,v 2.16 2008/03/23 09:44:39 jam Exp $
> $Header: /home/cvs/ltouch/term.c,v 2.5 2008/03/09 05:09:35 jam Exp $
> 
> Now I can *exactly* recreate this version of someprog, it's ROM or flash
> whatever.

See

http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html

Regards,
Blair

-- 
Blair Zajac, Ph.D.
CTO, OrcaWare Technologies
<bl...@orcaware.com>
Subversion training, consulting and support
http://www.orcaware.com/svn/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: Whatstrings

Posted by Paul Koning <Pa...@Dell.com>.

> -----Original Message-----
> From: jam [mailto:jam@tigger.ws]
> Sent: Saturday, September 06, 2008 1:34 AM
> To: users@subversion.tigris.org
> Subject: Whatstrings
> 
> Hi
> 
> I had a bad experience trying to use subversion after cvs, so I'm
> trying
> again :-)
> 
> Somewhere in the world is an executable someprog.
> I need to exactly re-create the environment from which it came ie
> ident someprog
> someprog:
> 
> $Header: /home/cvs/ltouch/parse.c,v 2.9 2008/03/23 09:44:39 jam Exp $
> $Header: /home/cvs/ltouch/tkAppInit.c,v 2.11 2008/03/23 09:44:39 jam
> Exp
> $
> $Header: /home/cvs/ltouch/do.c,v 2.16 2008/03/23 09:44:39 jam Exp $
> $Header: /home/cvs/ltouch/term.c,v 2.5 2008/03/09 05:09:35 jam Exp $
> 
> Now I can *exactly* recreate this version of someprog, it's ROM or
> flash
> whatever.
> 
> Is subversion the wrong tool for what I need to do?

No.  Subversion is a vastly superior tool compared to CVS.

I assume what you're looking for is "give me the exact set of sources
that were used to produce this particular release of this particular
application".

With CVS, you have to know, separately, the rev of each file.  That's
because CVS doesn't *have* a repository (it only pretends) -- instead,
it just separately keeps versions of files.

By contrast, Subversion *does* have a repository, and when you make
changes, those changes are stored atomically and can be retrieved
trivially.

For example, suppose you know that V3.1415 of someprog.exe was built
from svn rev number 31415 (and, say, from "trunk").  That's all you
need.  That rev uniquely defines an exact point in time of the history
of the entire set of files.

In the example you gave, with CVS I'd have to do a checkout for a
timestamp somewhere around 9:44 on 2008/03/23, except that this may give
me the wrong mix of files because checkins aren't atomic and are
actually spread out over some stretch of time (quite possibly several
minutes).  With Subversion, I'd just say "checkout rev 31415" and I will
definitely have exactly what I need.

This is one of the main reasons why we dumped CVS and went to
Subversion.  And I will never use CVS again in any setting where I have
any say in the matter. 

	paul 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Whatstrings

Posted by David Weintraub <qa...@gmail.com>.
Never mentioned your exact problem.

Subversion is (almost) command for command compatible with CVS. You do
a "cvs co" to create a working copy in CVS. You do a "svn co" to
create a working copy in Subversion. You make your changes in CVS and
do a "cvs commit". In Subversion, you make your changes and do a "svn
commit". The workflow is very similar.

Now, there are some changes, but most people think of them as vast
improvements. Subversion truly treats commits as a single transaction
while CVS treats a commit as each file getting an independent
transaction. Thus, in Subversion, checking out a particular revision
gives you exactly what you want while it might not in CVS. There is
also a branching style that most developers find easier to use,
tracking of directories, and file properties.

Now, I am going to assume your problem is that CVS keywords are not
working. In Subversion, CVS Keywords are *NOT* automatically turned
on. This again, is a big improvement over CVS which would
automatically try to expand keywords unless you state otherwise. We
had a ton of problems with Jarfiles not working because someone forgot
to use a "cvs admin -kb" on that file to turn off keyword expansion.

Someone already gave you the link to the part of the Subversion manual
about CVS Keyword expansion. The expansion will be a bit different
from before, but that should be expected because Subversion's revision
numbering scheme is a bit different.

Or, is your question about a particular revision that you've checked
into CVS and then moved to Subversion via the "cvs2svn" command? Are
you attempting to checkout the file that contained this keyword
expansion?

If so, you can do a checkout by date. If so, take a look at
<http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.tour.revs.dates>
which will tell you how to check out a particular revision by the
datetime stamp. I believe commit times are preserved if you used the
cvs2svn command.

--
David Weintraub
qazwart@gmail.com



On Sat, Sep 6, 2008 at 1:33 AM, jam <ja...@tigger.ws> wrote:
> Hi
>
> I had a bad experience trying to use subversion after cvs, so I'm trying
> again :-)
>
> Somewhere in the world is an executable someprog.
> I need to exactly re-create the environment from which it came ie
> ident someprog
> someprog:
>
> $Header: /home/cvs/ltouch/parse.c,v 2.9 2008/03/23 09:44:39 jam Exp $
> $Header: /home/cvs/ltouch/tkAppInit.c,v 2.11 2008/03/23 09:44:39 jam Exp
> $
> $Header: /home/cvs/ltouch/do.c,v 2.16 2008/03/23 09:44:39 jam Exp $
> $Header: /home/cvs/ltouch/term.c,v 2.5 2008/03/09 05:09:35 jam Exp $
>
> Now I can *exactly* recreate this version of someprog, it's ROM or flash
> whatever.
>
> Is subversion the wrong tool for what I need to do?
>
> Thanks
> James
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org