aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/tar/ChangeLog6
-rw-r--r--gnu/usr.bin/tar/create.c6
-rw-r--r--gnu/usr.bin/tar/tar.17
-rw-r--r--gnu/usr.bin/tar/tar.c12
-rw-r--r--gnu/usr.bin/tar/tar.h4
-rw-r--r--gnu/usr.bin/tar/version.c2
6 files changed, 24 insertions, 13 deletions
diff --git a/gnu/usr.bin/tar/ChangeLog b/gnu/usr.bin/tar/ChangeLog
index 7934f2b1b2e3..a4717e9f57b9 100644
--- a/gnu/usr.bin/tar/ChangeLog
+++ b/gnu/usr.bin/tar/ChangeLog
@@ -1,3 +1,9 @@
+Sun Dec 14 07:47:44 1997 Peter Hawkins (peter@clari.net.au)
+
+ * version.c: Released version 1.11.3.
+
+ * implemented the -n / --norecurse option
+
Thu Mar 25 13:32:40 1993 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
* version.c: Released version 1.11.2.
diff --git a/gnu/usr.bin/tar/create.c b/gnu/usr.bin/tar/create.c
index 00e353fe8672..793dca278452 100644
--- a/gnu/usr.bin/tar/create.c
+++ b/gnu/usr.bin/tar/create.c
@@ -148,7 +148,7 @@ create_archive ()
while (p = name_from_list ())
dump_file (p, -1, 1);
- /* if(!f_dironly) { */
+ if(!f_dironly) {
blank_name_list ();
while (p = name_from_list ())
{
@@ -165,7 +165,7 @@ create_archive ()
}
}
}
- /* } */
+ }
free (buf);
}
else
@@ -764,10 +764,8 @@ dump_file (p, curdev, toplevel)
}
/* Now output all the files in the directory */
-#if 0
if (f_dironly)
return; /* Unless the cmdline said not to */
-#endif
/*
* See if we are crossing from one file system to another,
* and avoid doing so if the user only wants to dump one file system.
diff --git a/gnu/usr.bin/tar/tar.1 b/gnu/usr.bin/tar/tar.1
index ad419f3a5ed0..25a71fd91b4b 100644
--- a/gnu/usr.bin/tar/tar.1
+++ b/gnu/usr.bin/tar/tar.1
@@ -3,7 +3,7 @@
.\"
.\" Written by John F. Woods <jfw@jfwhome.funhouse.com>
.\"
-.\" $Id: tar.1,v 1.9 1997/06/05 23:12:13 max Exp $
+.\" $Id: tar.1,v 1.10 1997/06/23 04:51:55 steve Exp $
.\"
.Dd August 6, 1994
.Os FreeBSD
@@ -197,6 +197,9 @@ Don't extract file modified time.
.It Fl M
.It Fl -multi-volume
Create/list/extract multi-volume archive.
+.It Fl n
+.It Fl -norecurse
+Don't recurse into subdirectories when creating.
.It Fl N Ar date
.It Fl -after-date Ar date
.It Fl -newer Ar date
@@ -289,8 +292,6 @@ Block the output of compression program for tapes or floppies
(otherwise writes will be of odd length, which device drivers may reject).
.It Fl [0-7][lmh]
Specify tape drive and density.
-.It Fl -norecurse
-Don't recurse into subdirectories when creating.
.It Fl -unlink
Unlink files before creating them.
.El
diff --git a/gnu/usr.bin/tar/tar.c b/gnu/usr.bin/tar/tar.c
index 8fa092384300..8414042e85dc 100644
--- a/gnu/usr.bin/tar/tar.c
+++ b/gnu/usr.bin/tar/tar.c
@@ -187,6 +187,7 @@ struct option long_options[] =
{"unlink", 0, &f_unlink, 1},
{"fast-read", 0, &f_fast_read, 1},
+ {"norecurse", 0, 0, 'n'},
{0, 0, 0, 0}
};
@@ -313,7 +314,7 @@ options (argc, argv)
/* Parse options */
while ((c = getoldopt (argc, argv,
- "-01234567Ab:BcC:df:F:g:GhikK:lL:mMN:oOpPrRsStT:uvV:wWxX:zZ",
+ "-01234567Ab:BcC:df:F:g:GhikK:lL:mMnN:oOpPrRsStT:uvV:wWxX:zZ",
long_options, &ind)) != EOF)
{
switch (c)
@@ -535,6 +536,12 @@ options (argc, argv)
f_multivol++;
break;
+ case 'n': /* don't recurse into subdirectories */
+ if (f_oldarch)
+ goto badopt;
+ f_dironly++;
+ break;
+
case 'N': /* Only write files newer than X */
get_newer:
f_new_files++;
@@ -547,7 +554,7 @@ options (argc, argv)
break;
case 'o': /* Generate old archive */
- if (f_gnudump /* || f_dironly */ )
+ if (f_gnudump || f_dironly )
goto badopt;
f_oldarch++;
break;
@@ -730,6 +737,7 @@ Other options:\n\
fputs ("\
-m, --modification-time don't extract file modified time\n\
-M, --multi-volume create/list/extract multi-volume archive\n\
+-n, --norecurse don't recurse into subdircectories\n\
-N, --after-date DATE,\n\
--newer DATE only store files newer than DATE\n\
-o, --old-archive,\n\
diff --git a/gnu/usr.bin/tar/tar.h b/gnu/usr.bin/tar/tar.h
index 21c5d52e1850..63558b61e263 100644
--- a/gnu/usr.bin/tar/tar.h
+++ b/gnu/usr.bin/tar/tar.h
@@ -193,9 +193,7 @@ TAR_EXTERN int cmd_mode;
TAR_EXTERN int f_reblock; /* -B */
-#if 0
-TAR_EXTERN char f_dironly; /* -D */
-#endif
+TAR_EXTERN int f_dironly; /* -n ... PH */
TAR_EXTERN int f_run_script_at_end; /* -F */
TAR_EXTERN int f_gnudump; /* -G */
TAR_EXTERN int f_follow_links; /* -h */
diff --git a/gnu/usr.bin/tar/version.c b/gnu/usr.bin/tar/version.c
index 4454f62c8e98..c5561580cf78 100644
--- a/gnu/usr.bin/tar/version.c
+++ b/gnu/usr.bin/tar/version.c
@@ -1 +1 @@
-char version_string[] = "GNU tar version 1.11.2";
+char version_string[] = "GNU tar version 1.11.3";