head	1.3;
access;
symbols
	B_SPLIT:1.3.0.4
	B_MIXED:1.3.0.2
	T_MIXED:1.3
	B_FROM_INITIALS_BUT_ONE:1.1.1.1.0.4
	B_FROM_INITIALS:1.1.1.1.0.2
	T_ALL_INITIAL_FILES_BUT_ONE:1.1.1.1
	T_ALL_INITIAL_FILES:1.1.1.1
	vendortag:1.1.1.1
	vendorbranch:1.1.1;
locks; strict;
comment	@# @;


1.3
date	2003.05.23.00.17.53;	author jrandom;	state Exp;
branches
	1.3.4.1;
next	1.2;

1.2
date	2003.05.23.00.15.26;	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.4.1
date	2003.06.03.03.20.31;	author jrandom;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Second commit to proj, affecting all 7 files.
@
text
@This is sub1/subsubA/default.

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

This line was added by the first commit (affecting two files).

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


1.3.4.1
log
@First change on branch B_SPLIT.

This change excludes sub3/default, because it was not part of this
commit, and sub1/subsubB/default, which is not even on the branch yet.
@
text
@a7 2

First change on branch B_SPLIT.
@


1.2
log
@First commit to proj, affecting two files.
@
text
@d6 2
@


1.1
log
@Initial revision
@
text
@d4 2
@


1.1.1.1
log
@Initial import.
@
text
@@
