Skip to content

Commit

Permalink
Merge branch 'maint-1.5.4' into maint
Browse files Browse the repository at this point in the history
* maint-1.5.4:
  core-tutorial.txt: Fix showing the current behaviour.
  git-archive: ignore prefix when checking file attribute
  Fix documentation syntax of optional arguments in short options.
  • Loading branch information
Junio C Hamano committed Apr 10, 2008
2 parents 1d2375d + abea85d commit 179c94b
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 15 deletions.
12 changes: 6 additions & 6 deletions Documentation/core-tutorial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -535,18 +535,18 @@ with the associated patches use the more complex (and much more
powerful)

----------------
$ git-whatchanged -p --root
$ git-whatchanged -p
----------------

and you will see exactly what has changed in the repository over its
short history.

[NOTE]
The `\--root` flag is a flag to `git-diff-tree` to tell it to
show the initial aka 'root' commit too. Normally you'd probably not
want to see the initial import diff, but since the tutorial project
was started from scratch and is so small, we use it to make the result
a bit more interesting.
When using the above two commands, the initial commit will be shown.
If this is a problem because it is huge, you can hide it by setting
the log.showroot configuration variable to false. Having this, you
can still show it for each command just adding the `\--root` option,
which is a flag for `git-diff-tree` accepted by both commands.

With that, you should now be having some inkling of what git does, and
can explore on your own.
Expand Down
4 changes: 2 additions & 2 deletions Documentation/git-tag.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ SYNOPSIS
[verse]
'git-tag' [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <name> [<head>]
'git-tag' -d <name>...
'git-tag' [-n [<num>]] -l [<pattern>]
'git-tag' [-n[<num>]] -l [<pattern>]
'git-tag' -v <name>...

DESCRIPTION
Expand Down Expand Up @@ -57,7 +57,7 @@ OPTIONS
-v::
Verify the gpg signature of the given tag names.

-n <num>::
-n<num>::
<num> specifies how many lines from the annotation, if any,
are printed when using -l.
The default is not to print any annotation lines.
Expand Down
6 changes: 4 additions & 2 deletions archive-tar.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ static time_t archive_time;
static int tar_umask = 002;
static int verbose;
static const struct commit *commit;
static size_t base_len;

/* writes out the whole block, but only if it is full */
static void write_if_needed(void)
Expand Down Expand Up @@ -251,8 +252,8 @@ static int write_tar_entry(const unsigned char *sha1,
buffer = NULL;
size = 0;
} else {
buffer = sha1_file_to_archive(path.buf, sha1, mode, &type,
&size, commit);
buffer = sha1_file_to_archive(path.buf + base_len, sha1, mode,
&type, &size, commit);
if (!buffer)
die("cannot read %s", sha1_to_hex(sha1));
}
Expand All @@ -272,6 +273,7 @@ int write_tar_archive(struct archiver_args *args)
archive_time = args->time;
verbose = args->verbose;
commit = args->commit;
base_len = args->base ? strlen(args->base) : 0;

if (args->commit_sha1)
write_global_extended_header(args->commit_sha1);
Expand Down
6 changes: 4 additions & 2 deletions archive-zip.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ static int verbose;
static int zip_date;
static int zip_time;
static const struct commit *commit;
static size_t base_len;

static unsigned char *zip_dir;
static unsigned int zip_dir_size;
Expand Down Expand Up @@ -197,8 +198,8 @@ static int write_zip_entry(const unsigned char *sha1,
if (S_ISREG(mode) && zlib_compression_level != 0)
method = 8;
result = 0;
buffer = sha1_file_to_archive(path, sha1, mode, &type, &size,
commit);
buffer = sha1_file_to_archive(path + base_len, sha1, mode,
&type, &size, commit);
if (!buffer)
die("cannot read %s", sha1_to_hex(sha1));
crc = crc32(crc, buffer, size);
Expand Down Expand Up @@ -321,6 +322,7 @@ int write_zip_archive(struct archiver_args *args)
zip_dir_size = ZIP_DIRECTORY_MIN_SIZE;
verbose = args->verbose;
commit = args->commit;
base_len = args->base ? strlen(args->base) : 0;

if (args->base && plen > 0 && args->base[plen - 1] == '/') {
char *base = xstrdup(args->base);
Expand Down
2 changes: 1 addition & 1 deletion builtin-tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
static const char * const git_tag_usage[] = {
"git-tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]",
"git-tag -d <tagname>...",
"git-tag -l [-n [<num>]] [<pattern>]",
"git-tag -l [-n[<num>]] [<pattern>]",
"git-tag -v <tagname>...",
NULL
};
Expand Down
2 changes: 1 addition & 1 deletion parse-options.c
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ void usage_with_options_internal(const char * const *usagestr,
break;
case OPTION_INTEGER:
if (opts->flags & PARSE_OPT_OPTARG)
pos += fprintf(stderr, " [<n>]");
pos += fprintf(stderr, "[<n>]");
else
pos += fprintf(stderr, " <n>");
break;
Expand Down
15 changes: 14 additions & 1 deletion t/t5000-tar-tree.sh
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,10 @@ test_expect_success \
'diff -r a c/prefix/a'

test_expect_success \
'create an archive with a substfiles' \
'create archives with substfiles' \
'echo "substfile?" export-subst >a/.gitattributes &&
git archive HEAD >f.tar &&
git archive --prefix=prefix/ HEAD >g.tar &&
rm a/.gitattributes'

test_expect_success \
Expand All @@ -126,6 +127,18 @@ test_expect_success \
diff a/substfile2 f/a/substfile2
'

test_expect_success \
'extract substfiles from archive with prefix' \
'(mkdir g && cd g && $TAR xf -) <g.tar'

test_expect_success \
'validate substfile contents from archive with prefix' \
'git log --max-count=1 "--pretty=format:A${SUBSTFORMAT}O" HEAD \
>g/prefix/a/substfile1.expected &&
diff g/prefix/a/substfile1.expected g/prefix/a/substfile1 &&
diff a/substfile2 g/prefix/a/substfile2
'

test_expect_success \
'git archive --format=zip' \
'git archive --format=zip HEAD >d.zip'
Expand Down

0 comments on commit 179c94b

Please sign in to comment.