Merge branch 'maint'
* 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
This commit is contained in:
		
							
								
								
									
										1
									
								
								.mailmap
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								.mailmap
									
									
									
									
									
								
							@ -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>
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
-----------
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
@ -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");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -52,6 +52,7 @@ foreach my $tar_file (@ARGV)
 | 
			
		||||
			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;
 | 
			
		||||
 | 
			
		||||
@ -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];
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								git-svn.perl
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								git-svn.perl
									
									
									
									
									
								
							@ -141,6 +141,8 @@ my %cmd = (
 | 
			
		||||
			  '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,
 | 
			
		||||
@ -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');
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user