Skip to content

Commit

Permalink
Merge branch 'maint'
Browse files Browse the repository at this point in the history
* maint:
  http.c: Fix problem with repeated calls of http_init
  Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
  Fix import-tars fix.
  Update .mailmap with "Michael"
  Do not barf on too long action description
  Catch empty pathnames in trees during fsck
  Don't allow empty pathnames in fast-import
  import-tars: be nice to wrong directory modes
  git-svn: Added 'find-rev' command
  git shortlog documentation: add long options and fix a typo
  • Loading branch information
Junio C Hamano committed Apr 29, 2007
2 parents 4342572 + e9d54bd commit 39231b1
Show file tree
Hide file tree
Showing 11 changed files with 47 additions and 8 deletions.
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Lars Doelle <lars.doelle@on-line.de>
Lars Doelle <lars.doelle@on-line ! de>
Lukas Sandström <lukass@etek.chalmers.se>
Martin Langhoff <martin@catalyst.net.nz>
Michele Ballabio <barra_cuda@katamail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
René Scharfe <rene.scharfe@lsrfire.ath.cx>
Expand Down
1 change: 1 addition & 0 deletions Documentation/git-commit-tree.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ either `.git/config` file, or using the following environment variables.
GIT_AUTHOR_DATE
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE

(nb "<", ">" and "\n"s are stripped)

Expand Down
8 changes: 4 additions & 4 deletions Documentation/git-shortlog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
git-log --pretty=short | 'git-shortlog' [-h] [-n] [-s]
git-shortlog [-n|--number] [-s|--summary] [<committish>...]
git-shortlog [-n|--numbered] [-s|--summary] [<committish>...]

DESCRIPTION
-----------
Expand All @@ -22,14 +22,14 @@ Additionally, "[PATCH]" will be stripped from the commit description.
OPTIONS
-------

-h::
-h, \--help::
Print a short usage message and exit.

-n::
-n, \--numbered::
Sort output according to the number of commits per author instead
of author alphabetic order.

-s::
-s, \--summary::
Suppress commit description and provide a commit count summary only.

FILES
Expand Down
5 changes: 5 additions & 0 deletions Documentation/git-svn.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ New features:
Any other arguments are passed directly to `git log'

--
'find-rev'::
When given an SVN revision number of the form 'rN', returns the
corresponding git commit hash. When given a tree-ish, returns the
corresponding SVN revision number.

'set-tree'::
You should consider using 'dcommit' instead of this command.
Commit specified commit or tree objects to SVN. This relies on
Expand Down
1 change: 1 addition & 0 deletions Documentation/git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,7 @@ git Commits
'GIT_AUTHOR_DATE'::
'GIT_COMMITTER_NAME'::
'GIT_COMMITTER_EMAIL'::
'GIT_COMMITTER_DATE'::
see gitlink:git-commit-tree[1]

git Diffs
Expand Down
5 changes: 1 addition & 4 deletions builtin-fetch--tool.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,13 @@ static int update_ref(const char *action,
unsigned char *sha1,
unsigned char *oldval)
{
int len;
char msg[1024];
char *rla = getenv("GIT_REFLOG_ACTION");
static struct ref_lock *lock;

if (!rla)
rla = "(reflog update)";
len = snprintf(msg, sizeof(msg), "%s: %s", rla, action);
if (sizeof(msg) <= len)
die("insanely long action");
snprintf(msg, sizeof(msg), "%s: %s", rla, action);
lock = lock_any_ref_for_update(refname, oldval);
if (!lock)
return 1;
Expand Down
6 changes: 6 additions & 0 deletions builtin-fsck.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ static int fsck_tree(struct tree *item)
{
int retval;
int has_full_path = 0;
int has_empty_name = 0;
int has_zero_pad = 0;
int has_bad_modes = 0;
int has_dup_entries = 0;
Expand All @@ -242,6 +243,8 @@ static int fsck_tree(struct tree *item)

if (strchr(name, '/'))
has_full_path = 1;
if (!*name)
has_empty_name = 1;
has_zero_pad |= *(char *)desc.buffer == '0';
update_tree_entry(&desc);

Expand Down Expand Up @@ -291,6 +294,9 @@ static int fsck_tree(struct tree *item)
if (has_full_path) {
objwarning(&item->object, "contains full pathnames");
}
if (has_empty_name) {
objwarning(&item->object, "contains empty pathname");
}
if (has_zero_pad) {
objwarning(&item->object, "contains zero-padded file modes");
}
Expand Down
1 change: 1 addition & 0 deletions contrib/fast-import/import-tars.perl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
Z8 Z1 Z100 Z6
Z2 Z32 Z32 Z8 Z8 Z*', $_;
last unless $name;
next if $name =~ m{/\z};
$mode = oct $mode;
$size = oct $size;
$mtime = oct $mtime;
Expand Down
2 changes: 2 additions & 0 deletions fast-import.c
Original file line number Diff line number Diff line change
Expand Up @@ -1199,6 +1199,8 @@ static int tree_content_set(
n = slash1 - p;
else
n = strlen(p);
if (!n)
die("Empty path component found in input");

for (i = 0; i < t->entry_count; i++) {
e = t->entries[i];
Expand Down
24 changes: 24 additions & 0 deletions git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ BEGIN
'color' => \$Git::SVN::Log::color,
'pager=s' => \$Git::SVN::Log::pager,
} ],
'find-rev' => [ \&cmd_find_rev, "Translate between SVN revision numbers and tree-ish",
{ } ],
'rebase' => [ \&cmd_rebase, "Fetch and rebase your working directory",
{ 'merge|m|M' => \$_merge,
'verbose|v' => \$_verbose,
Expand Down Expand Up @@ -428,6 +430,28 @@ sub cmd_dcommit {
command_noisy(@finish, $gs->refname);
}

sub cmd_find_rev {
my $revision_or_hash = shift;
my $result;
if ($revision_or_hash =~ /^r\d+$/) {
my $desired_revision = substr($revision_or_hash, 1);
my ($fh, $ctx) = command_output_pipe('rev-list', 'HEAD');
while (my $hash = <$fh>) {
chomp($hash);
my (undef, $rev, undef) = cmt_metadata($hash);
if ($rev && $rev eq $desired_revision) {
$result = $hash;
last;
}
}
command_close_pipe($fh, $ctx);
} else {
my (undef, $rev, undef) = cmt_metadata($revision_or_hash);
$result = $rev;
}
print "$result\n" if $result;
}

sub cmd_rebase {
command_noisy(qw/update-index --refresh/);
my ($url, $rev, $uuid, $gs) = working_head_info('HEAD');
Expand Down
1 change: 1 addition & 0 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,7 @@ void http_cleanup(void)
curl_global_cleanup();

curl_slist_free_all(pragma_header);
pragma_header = NULL;
}

struct active_request_slot *get_active_slot(void)
Expand Down

0 comments on commit 39231b1

Please sign in to comment.