Thanks again! Actually, I thought I might do something with a commitinfo file.
But I have a question about those also --
Suppose, as before, my directory structure is simply a -- b -- c. Assume that I
have specified a line in "commitinfo" for a, one for b, and one for c. The line
for a calls prog_a, the line for b calls prog_b, and similarly for c.
>From the top level, I call cvs commit.
Which of my programs gets executed? The one for a, or all three of them? If
all three of them get executed, and prog_a returns 0, prog_b returns 0, and
prog_c returns non-zero, will the commit operation complete normally for a and
b?
Thanks in advance for comments on this,
-- David Martin
Matthew Berney wrote:
> Ahh, indeed it is difficult to make changes to your build structure without
> introducing other process changes in your environment. This is always a
> tricky area. Agreed, changing the build structure such that the binaries
> are located outside the source code hierarchy. But, at times we neither
> have the time nor the resources to address the root cause.
>
> Short of changing the directory structure, you could implement a commit info
> script to avoid checking in files in the binaries directory except under
> certain conditions. Now, I don't know what your conditions are. But, you
> could come up with a list of conditions and implement that as a script.
> Hook that into the commitinfo file only for the binaries directory...and it
> just might work.
>
> --Matt
>
> -----Original Message-----
> From: David Martin [mailto:[EMAIL PROTECTED]]
> Sent: Monday, September 11, 2000 3:10 PM
> To: Matthew Berney
> Cc: [EMAIL PROTECTED]
> Subject: Re: excluding subdirectories from update/commit ???
>
> Matt --
>
> Thanks for your comments.
>
> Matthew Berney wrote:
>
> > What is the requirement that you are trying to satisfy? Why do you need
> to
> > exclude updates?
>
> The subdirectories, such as "c" in my example, contain binaries
> corresponding to
> the source code in their parent directories (such as "b"). We would like to
> be
> able to use CVS to make snapshots of the binaries at certain points in time,
> but
> we don't want the binaries to be updated or committed every time someone
> runs
> update or commit in the source code directory.
>
> As I mentioned, I realize there are already some ways to prevent the updates
> from applying to the binaries, but I'm looking for something that doesn't
> place
> any new constraints on the developers. That is, no matter what form of
> update
> or commit command a developer wants to use, I'd like to ensure that it
> doesn't
> apply to the subdirectories containing the binaries.
>
> I realize it would make sense just to move the binaries out of the source
> code
> hierarchy, and make our binary snapshots from the new location. But this
> creates
> some other complications, so -- as always -- I'm just looking for the
> solution
> with the greatest simplicity and the least overhead.
>
> -- David
>
> >
> >
> > One way I can think of off the top of my head is to use static tags to
> > create a baseline. Then when you update, you update to the specific tag
> > instead of the tip. This gives you control over what revisions are
> included
> > when you update. Developers then can checkin to the tip, but the build
> uses
> > the static baseline. When you are ready to move the baseline, then you
> > select the revisions that you want included in the new baseline and apply
> a
> > new static tag.
> >
> > Hope this helps,
> >
> > Matt
> >
> > -----Original Message-----
> > From: David Martin [mailto:[EMAIL PROTECTED]]
> > Sent: Sunday, September 10, 2000 9:17 AM
> > To: [EMAIL PROTECTED]
> > Subject: excluding subdirectories from update/commit ???
> >
> > Here's what I'd like to do --
> >
> > Suppose I have a simple hierarchy of directories a -- b -- c (that is, c
> > is a subdirectory of b, which is a subdirectory of a). The entire
> > hierarchy has been checked out from CVS.
> >
> > A team of developers is working on source code in directory b, and any
> > member of the team can do the normal CVS operations such as checkout,
> > update, and commit. Source files in directory b are updated and
> > committed frequently.
> >
> > The files in directory c are MODIFIED frequently. But I DO NOT want
> > them updated and committed every time someone does "cvs commit" or "cvs
> > update" in the b directory. (I do want them updated and committed at
> > certain times, but those operations can be handled by a designated
> > repository administrator.)
> >
> > My question is: Is there a good, reliable, bulletproof way to ensure
> > that directory c is ignored when updates and commits are performed in
> > directory b?
> >
> > I know about the -l (local) option to commit and update. But it's all
> > too easy for a team member to forget about using it, and I don't
> > consider the use of .cvsrc files to be a reliable way of enforcing the
> > use of -l.
> >
> > I know about .cvsignore files, but they only apply to files that AREN'T
> > in the repository, and my files in directory c ARE in the repository.
> >
> > I know about excluding files in module declarations, but as I understand
> > it, if a developer does this -- cd b ; cvs update -- then no module
> > declaration applies.
> >
> > I think what I need is a file just like .cvsignore, but which causes CVS
> > to exclude the specified files from (at least) updates and commits.
> >
> > Or, does anyone know of a way to get this behavior, which I'm not aware
> > of?
> >
> > Thanks in advance for any relevant information!
> >
> > -- David Martin