[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: CVS and upstream source



On Fri, Aug 06, 1999 at 09:22:09AM +0200, goswin.brederlow@student.uni-tuebingen.de wrote:
> Normaly you only check in real source files and no files that can be
> build from others. So you will have Makefile.am in the CVS, but not
> Makefile.in or makefile itself. So when you checkout a CVS source you
> usually shouldn't have a Makefile at all. To make this happen for your 
> own projects, you have to add the relevant files to ".cvsignore" in
> each corresponding directories and add all ".cvsignore"'s to you cvs
> repository. Also put "core" and "<project>*.tar.gz" to the main
> directory's ".cvsignore".

This isn't my project... Are you saying I should request the upstream
auther to use .cvsignore files?

Also, one problem with the above, is if you want to checkout the same
source onto other computers, especially if some computers have outdated
versions of automake and autoconf. Older versions of these tools
are incompatable with newer source code. However, it is not worth
upgrading all of these computers (especially as they aren't
all administrated by me).

> Anyway, when you update a CVS project, cvs only downloads diffs and
> aplys them. If nothing changed the files left undone. Timestamps are
> ignored alltogether as far as I know.

You are mostly correct, except for when the versions of the tools
are different. This is a problem for two reasons:

1. Current versions of autoconf and automake do not check that the
installed version is compatable with the source files.

2. Even if the different version was compatable, chances are the
code will be slightly different, and CVS would try to check in
the differences each time I go to a different platform. Then
I would have to fix up the mess, as update will try and merge
in the changes on other platforms.

I wish there was some option to configure "--force-missing" that forces
it to pretend that automake, autoconf and aclocal are missing. If I
want to recompile one of these files (very rarely), then I can manually
invoke the appropriate command. So far, I have hacked a solution by
making null do-nothing scripts, but I have to remember to set the path
up each time.

> My ".cvsignore" for project "language" looks as follows:
> 
> -----------------------------------------------------------
> .deps
> gmon.out
> config.cache
> Makefile
> Makefile.in
> config.h
> config.h.in
> config.log
> config.status
> config.guess
> stamp-h
> stamp-h.in
> aclocal.m4
> install-sh
> missing
> mkinstalldirs
> configure
> language-*.tar.gz
> core
> ------------------------------------------------------------------

Thanks for this.

-- 
Brian May <bam@snoopy.apana.org.au>

Attachment: pgpHTOCRREVtv.pgp
Description: PGP signature


Reply to: