prs "issue", etc

View: New views
4 Messages — Rating Filter:   Alert me  

prs "issue", etc

by Geoff Hull :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi.

1. The main "issue" we have since switching to CSSC is the output when we do a "prs -l" on a file with Auto Null Deltas. (All our files have this switched on.) I have attached an example file. I have downloaded CSSC version 1.2.0 and compiled it, just to be sure that the problem was still there.

On Solaris (and AIX and HP-UX) this is all I get:

/home/gbh$ prs -l s.mytest
s.mytest:

D 26.1 09/04/15 11:05:36 gbh 28 27      00020/00000/00009
MRs:
7755
COMMENTS:
lots more text

But with CSSC, I get all the deltas from 26.1 back to 3.1

2. I've just noticed that the CSSC "commands" call be run as standalone programs. Is there a configure switch that will install get, admin, delta, etc in /usr/bin instead of /usr/libexec/cssc? I guess I could just add that directory to the PATH.

Regards,

Geoff


_______________________________________________
cssc-users mailing list
cssc-users@...
http://lists.gnu.org/mailman/listinfo/cssc-users

s.mytest (5K) Download Attachment

Re: prs "issue", etc

by James Youngman-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Apr 15, 2009 at 12:28 AM, Geoff Hull <gbh@...> wrote:
> Hi.
> 1. The main "issue" we have since switching to CSSC is the output when we do
> a "prs -l" on a file with Auto Null Deltas. (All our files have this
> switched on.) I have attached an example file. I have downloaded CSSC
> version 1.2.0 and compiled it, just to be sure that the problem was still
> there.
> On Solaris (and AIX and HP-UX) this is all I get:
> /home/gbh$ prs -l s.mytest


The manpage I am looking at says:

-l Requests information for all deltas created later than, and
including, the delta indicated with -r or -c.

... but you didn't specify -c or -r.    Do you have any documentation
from a vendor indicating in more detail what the intended behaviour is
for this case?

In your test file, all the null deltas were created at 09/04/15
11:05:36.   So all the deltas down to 3.1 have the same timestamp.
You're getting all the deltas created at the same time as the most
recent one.  However, this is not necessarily the same as "all deltas
created later than, and including", since the order of SID creation
can normally be disambiguated by position in the delta table or
sequence number.

Looking at the POSIX standard, the behaviour of the operating systems
you listed does seem to be conforming, and the behaviour of CSSC here
does seem to be somewhat on the doubtful side, though I'm not certain
it is definitively not conforming.

All things considered, I believe a code change is probably indicated.
However, I also note that the test suite coverage for prs is quite
poor.  The -l option in particular is not covered.   Could you supply
a patch adding some relevant test cases in order to make sure that the
change we make doesn't break something else, but does fix this
problem?


> s.mytest:
> D 26.1 09/04/15 11:05:36 gbh 28 27      00020/00000/00009
> MRs:
> 7755
> COMMENTS:
> lots more text
> But with CSSC, I get all the deltas from 26.1 back to 3.1



> 2. I've just noticed that the CSSC "commands" call be run as standalone
> programs.

Likewise SCCS.

> Is there a configure switch that will install get, admin, delta,
> etc in /usr/bin instead of /usr/libexec/cssc?

This should work, but I have not tried installing it that way in a
long time.  Looking at the top-level Makefile.am, I see that it will
probably always use $(libexecdir)/cssc and so at least part of the
install directory is not under your control.    You could have a go
with --execprefix (start with "configure --help") but I suspect that
that won't do what you want (or it will break sccsdiff).  I'd suggest
that your best strategy is probably to use symbolic links.

> I guess I could just add that directory to the PATH.

The only Unix system I can recall where the SCCS tools are on the
default PATH is HP-UX (at least, older versions).  Solaris puts them
in /usr/ccs/bin.   I forget where AIX puts them.

James.


_______________________________________________
cssc-users mailing list
cssc-users@...
http://lists.gnu.org/mailman/listinfo/cssc-users

Re: prs "issue", etc

by Geoff Hull :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

James,

I have had hardly any experience with using the SCCS commands on the command line. Our company has been "protected" from dealing with these by our own in-house highly- customised "sccs" script, which I think dates back to the early 1990s. So the information I can glean might be a bit superficial.

>
> The manpage I am looking at says:
>
> -l       Requests information for all deltas created later than, and
> including, the delta indicated with -r or -c.
>
> ... but you didn't specify -c or -r.    Do you have any documentation
> from a vendor indicating in more detail what the intended behaviour is
> for this case?

My documentation says the same, and no I didn't specify the "-r" or "-c". Being Solaris, the man pages are "a bit light", shall we say.

I did some checking and found that we have only one script that uses "prs -l", and this usage started in Feb 2001 when we moved from using "prs -d" on DG-UX to "prs -l" on an HP-UX server.

Looks like our usage of the "-d" option was equally "fast and loose" as we didn't provide any data keywords which are supposed to be required according to current man pages on AIX and Solaris.

According to AIX's man pages, we could have used "prs -l -r" without a SID to get the same effect, but "prs -l <s.filename>" has worked for us on HP-UX, AIX and Solaris. Both seem to work the same on AIX and Solaris.

Another case of undocumented features, I presume.

>
> In your test file, all the null deltas were created at 09/04/15
> 11:05:36.   So all the deltas down to 3.1 have the same timestamp.
> You're getting all the deltas created at the same time as the most
> recent one.  However, this is not necessarily the same as "all deltas
> created later than, and including", since the order of SID creation
> can normally be disambiguated by position in the delta table or
> sequence number.

I'm not sure, but I think this is always the case - the auto null (intermediate) deltas are created when the new version is put back in (delta -mmr-list).

I tried using "prs -l -r 24.1" from CSSC but that doesn't work either - all the auto null deltas are listed. It seems to work okay with Solaris and AIX (native prs), i.e. only deltas 24.1, 25.1 and 26.1 are displayed.

>
> Looking at the POSIX standard, the behaviour of the operating systems
> you listed does seem to be conforming, and the behaviour of CSSC here
> does seem to be somewhat on the doubtful side, though I'm not certain
> it is definitively not conforming.
>
> All things considered, I believe a code change is probably indicated.
> However, I also note that the test suite coverage for prs is quite
> poor.  The -l option in particular is not covered.   Could you supply
> a patch adding some relevant test cases in order to make sure that the
> change we make doesn't break something else, but does fix this
> problem?

I will give it a go.

> > 2. I've just noticed that the CSSC "commands" call be run as standalone
> > programs.
>
> Likewise SCCS.
>
> > Is there a configure switch that will install get, admin, delta,
> > etc in /usr/bin instead of /usr/libexec/cssc?
>
> This should work, but I have not tried installing it that way in a
> long time.  Looking at the top-level Makefile.am, I see that it will
> probably always use $(libexecdir)/cssc and so at least part of the
> install directory is not under your control.    You could have a go
> with --execprefix (start with "configure --help") but I suspect that
> that won't do what you want (or it will break sccsdiff).  I'd suggest
> that your best strategy is probably to use symbolic links.
>
> > I guess I could just add that directory to the PATH.
>
> The only Unix system I can recall where the SCCS tools are on the
> default PATH is HP-UX (at least, older versions).  Solaris puts them
> in /usr/ccs/bin.   I forget where AIX puts them.

The "default PATH" is of course configurable on Solaris in /etc/default/login, in /etc/environment on AIX, and /etc/PATH under HP-UX. There is a /usr/ccs/bin directory on HP-UX 11.00, but the SCCS commands are in /usr/bin. The SCCS commands for AIX are also in /usr/bin. There are also some more-POSIX-conforming versions of get and delta in /usr/xpg4/bin on Solaris 9+ (I think).

When setting up a new server, I usually change the default PATH because it is not much use for our company, but I suppose the supplier's intention is to start with a "safe" minimalist environment.

Geoff

_______________________________________________
cssc-users mailing list
cssc-users@...
http://lists.gnu.org/mailman/listinfo/cssc-users

Re: prs "issue", etc

by Eric Krohn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Yes, the sccs commands (admin, delta, get, prs, etc.) were in /usr/bin on
real UNIX systems, which explains why they are all in section 1 of my
ancient "Release 5.0 Bell Laboratories UNIX operating system user's
manual".

I've long been annoyed that CSSC installs the commands elsewhere than
/usr/bin.  The symlinks would work around the non-standard /usr/lib/cssc
location, but it seems inelegant.  I suppose installing the commands in
/usr/bin and doing ln -s /usr/bin /usr/lib/cssc would be more standard and
provide backward compatibility.

--
Eric Krohn


_______________________________________________
cssc-users mailing list
cssc-users@...
http://lists.gnu.org/mailman/listinfo/cssc-users