head	1.3;
access;
symbols
	B_SPLIT:1.3.0.2
	B_MIXED:1.2.0.2
	T_MIXED:1.2
	B_FROM_INITIALS:1.1.1.1.0.2
	T_ALL_INITIAL_FILES:1.1.1.1
	vendortag:1.1.1.1
	vendorbranch:1.1.1;
locks; strict;
comment	@# @;


1.3
date	2003.06.03.04.29.14;	author jrandom;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2003.05.23.00.17.53;	author jrandom;	state Exp;
branches;
next	1.1;

1.1
date	2003.05.22.23.20.19;	author jrandom;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2003.05.22.23.20.19;	author jrandom;	state Exp;
branches;
next	;

1.3.2.1
date	2003.06.03.04.33.13;	author jrandom;	state Exp;
branches;
next	;


desc
@@


1.3
log
@A trunk change to sub1/subsubB/default.  This was committed about an
hour after an earlier change that affected most files on branch
B_SPLIT.  This file is not on that branch yet, but after this commit,
we'll branch to B_SPLIT, albeit rooted in a revision that didn't exist
at the time the rest of B_SPLIT was created.
@
text
@This is sub1/subsubB/default.

Every directory in the `proj' project has a file named `default'.

This line was added in the second commit (affecting all 7 files).

This bit was committed on trunk about an hour after an earlier change
to everyone else on branch B_SPLIT.  Afterwards, we'll finally branch
this file to B_SPLIT, but rooted in a revision that didn't exist at
the time the rest of B_SPLIT was created.
@


1.3.2.1
log
@This change affects sub3/default and sub1/subsubB/default, on branch
B_SPLIT.  Note that the latter file did not even exist on this branch
until after some other files had had revisions committed on B_SPLIT.
@
text
@a10 4

This change affects sub3/default and sub1/subsubB/default, on branch
B_SPLIT.  Note that the latter file did not even exist on this branch
until after some other files had had revisions committed on B_SPLIT.
@


1.2
log
@Second commit to proj, affecting all 7 files.
@
text
@d6 5
@


1.1
log
@Initial revision
@
text
@d4 2
@


1.1.1.1
log
@Initial import.
@
text
@@
