Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
abf411e2
G
git
项目概览
李少辉-开发者
/
git
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
git
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
abf411e2
编写于
12月 15, 2010
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
差异文件
Git 1.6.6.3
Signed-off-by:
N
Junio C Hamano
<
gitster@pobox.com
>
上级
ad336054
ec82874a
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
88 addition
and
19 deletion
+88
-19
Documentation/RelNotes/1.6.4.5.txt
Documentation/RelNotes/1.6.4.5.txt
+20
-0
Documentation/RelNotes/1.6.5.9.txt
Documentation/RelNotes/1.6.5.9.txt
+18
-0
Documentation/RelNotes/1.6.6.3.txt
Documentation/RelNotes/1.6.6.3.txt
+23
-0
GIT-VERSION-GEN
GIT-VERSION-GEN
+1
-1
RelNotes
RelNotes
+1
-1
gitweb/gitweb.perl
gitweb/gitweb.perl
+25
-17
未找到文件。
Documentation/RelNotes/1.6.4.5.txt
0 → 100644
浏览文件 @
abf411e2
Git v1.6.4.5 Release Notes
==========================
Fixes since v1.6.4.4
--------------------
* Simplified base85 implementation.
* An overlong line after ".gitdir: " in a git file caused out of bounds
access to an array on the stack.
* "git count-objects" did not handle packs larger than 4G.
* "git rev-parse --parseopt --stop-at-non-option" did not stop at non option
when --keep-dashdash was in effect.
* "gitweb" can sometimes be tricked into parrotting a filename argument
given in a request without properly quoting.
Other minor fixes and documentation updates are included.
Documentation/RelNotes/1.6.5.9.txt
0 → 100644
浏览文件 @
abf411e2
Git v1.6.5.9 Release Notes
==========================
Fixes since v1.6.5.8
--------------------
* An overlong line after ".gitdir: " in a git file caused out of bounds
access to an array on the stack.
* "git blame -L $start,$end" segfaulted when too large $start was given.
* "git rev-parse --parseopt --stop-at-non-option" did not stop at non option
when --keep-dashdash was in effect.
* "gitweb" can sometimes be tricked into parrotting a filename argument
given in a request without properly quoting.
Other minor fixes and documentation updates are included.
Documentation/RelNotes/1.6.6.3.txt
0 → 100644
浏览文件 @
abf411e2
Git v1.6.6.3 Release Notes
==========================
Fixes since v1.6.6.2
--------------------
* An overlong line after ".gitdir: " in a git file caused out of bounds
access to an array on the stack.
* "git bisect $path" did not correctly diagnose an error when given a
non-existent path.
* "git blame -L $start,$end" segfaulted when too large $start was given.
* "git imap-send" did not write draft box with CRLF line endings per RFC.
* "git rev-parse --parseopt --stop-at-non-option" did not stop at non option
when --keep-dashdash was in effect.
* "gitweb" can sometimes be tricked into parrotting a filename argument
given in a request without properly quoting.
Other minor fixes and documentation updates are included.
GIT-VERSION-GEN
浏览文件 @
abf411e2
#!/bin/sh
#!/bin/sh
GVF
=
GIT-VERSION-FILE
GVF
=
GIT-VERSION-FILE
DEF_VER
=
v1.6.6.
2
DEF_VER
=
v1.6.6.
3
LF
=
'
LF
=
'
'
'
...
...
RelNotes
浏览文件 @
abf411e2
Documentation/RelNotes-1.6.6.2.txt
Documentation/RelNotes/1.6.6.3.txt
\ No newline at end of file
\ No newline at end of file
gitweb/gitweb.perl
浏览文件 @
abf411e2
...
@@ -1137,6 +1137,13 @@ sub esc_url {
...
@@ -1137,6 +1137,13 @@ sub esc_url {
return
$
str
;
return
$
str
;
}
}
#
quote
unsafe
characters
in
HTML
attributes
sub
esc_attr
{
#
for
XHTML
conformance
escaping
'"'
to
'&
quot
;'
is
not
enough
return
esc_html
(@
_
);
}
#
replace
invalid
utf8
character
with
SUBSTITUTION
sequence
#
replace
invalid
utf8
character
with
SUBSTITUTION
sequence
sub
esc_html
{
sub
esc_html
{
my
$
str =
shift;
my
$
str =
shift;
...
@@ -1542,7 +1549,7 @@ sub format_ref_marker {
...
@@ -1542,7 +1549,7 @@ sub format_ref_marker {
hash=>$dest
hash=>$dest
)}, $name);
)}, $name);
$markers .= "
<span
class=
\"
$class\"
title=
\"$ref
\"
>
" .
$markers .= "
<span
class=
\"
".esc_attr($class)."\"
title=
\"".esc_attr($ref)."
\"
>
" .
$link . "
</span>
";
$link . "
</span>
";
}
}
}
}
...
@@ -1626,7 +1633,7 @@ sub git_get_avatar {
...
@@ -1626,7 +1633,7 @@ sub git_get_avatar {
return $pre_white .
return $pre_white .
"
<img
width=
\"$size\"
"
.
"
<img
width=
\"$size\"
"
.
"
class=
\"avatar\"
"
.
"
class=
\"avatar\"
"
.
"
src=
\"
$url
\"
"
.
"
src=
\"
".esc_url($url)."
\"
"
.
"
alt=
\"\"
"
.
"
alt=
\"\"
"
.
"
/>
" . $post_white;
"
/>
" . $post_white;
} else {
} else {
...
@@ -2335,7 +2342,7 @@ sub git_show_project_tagcloud {
...
@@ -2335,7 +2342,7 @@ sub git_show_project_tagcloud {
} else {
} else {
my @tags = sort { $cloud->{$a}->{count}
<
=
>
$cloud->{$b}->{count} } keys %$cloud;
my @tags = sort { $cloud->{$a}->{count}
<
=
>
$cloud->{$b}->{count} } keys %$cloud;
return '
<p
align=
"center"
>
' . join (', ', map {
return '
<p
align=
"center"
>
' . join (', ', map {
"
<a
href=
\"$home_link?by_tag=$_\"
>
$cloud->{$_}->{topname}
</a>
"
$cgi->a({-href=>"$home_link?by_tag=$_"}, $cloud->{$_}->{topname})
} splice(@tags, 0, $count)) . '
</p>
';
} splice(@tags, 0, $count)) . '
</p>
';
}
}
}
}
...
@@ -3166,11 +3173,11 @@ sub git_header_html {
...
@@ -3166,11 +3173,11 @@ sub git_header_html {
# print out each stylesheet that exist, providing backwards capability
# print out each stylesheet that exist, providing backwards capability
# for those people who defined $stylesheet in a config file
# for those people who defined $stylesheet in a config file
if (defined $stylesheet) {
if (defined $stylesheet) {
print '
<link
rel=
"stylesheet"
type=
"text/css"
href=
"'.
$stylesheet
.'"
/>
'."\n";
print '
<link
rel=
"stylesheet"
type=
"text/css"
href=
"'.
esc_url($stylesheet)
.'"
/>
'."\n";
} else {
} else {
foreach my $stylesheet (@stylesheets) {
foreach my $stylesheet (@stylesheets) {
next unless $stylesheet;
next unless $stylesheet;
print '
<link
rel=
"stylesheet"
type=
"text/css"
href=
"'.
$stylesheet
.'"
/>
'."\n";
print '
<link
rel=
"stylesheet"
type=
"text/css"
href=
"'.
esc_url($stylesheet)
.'"
/>
'."\n";
}
}
}
}
if (defined $project) {
if (defined $project) {
...
@@ -3183,7 +3190,7 @@ sub git_header_html {
...
@@ -3183,7 +3190,7 @@ sub git_header_html {
my $type = lc($format);
my $type = lc($format);
my %link_attr = (
my %link_attr = (
'-rel' => 'alternate',
'-rel' => 'alternate',
'-title' =>
"$project - $href_params{'-title'} - $format feed"
,
'-title' =>
esc_attr("$project - $href_params{'-title'} - $format feed")
,
'-type' => "application/$type+xml"
'-type' => "application/$type+xml"
);
);
...
@@ -3210,13 +3217,13 @@ sub git_header_html {
...
@@ -3210,13 +3217,13 @@ sub git_header_html {
} else {
} else {
printf('
<link
rel=
"alternate"
title=
"%s projects list"
'.
printf('
<link
rel=
"alternate"
title=
"%s projects list"
'.
'
href=
"%s"
type=
"text/plain; charset=utf-8"
/>
'."\n",
'
href=
"%s"
type=
"text/plain; charset=utf-8"
/>
'."\n",
$site_name
, href(project=>undef, action=>"project_index"));
esc_attr($site_name)
, href(project=>undef, action=>"project_index"));
printf('
<link
rel=
"alternate"
title=
"%s projects feeds"
'.
printf('
<link
rel=
"alternate"
title=
"%s projects feeds"
'.
'
href=
"%s"
type=
"text/x-opml"
/>
'."\n",
'
href=
"%s"
type=
"text/x-opml"
/>
'."\n",
$site_name
, href(project=>undef, action=>"opml"));
esc_attr($site_name)
, href(project=>undef, action=>"opml"));
}
}
if (defined $favicon) {
if (defined $favicon) {
print qq(
<link
rel=
"shortcut icon"
href=
"
$favicon
"
type=
"image/png"
/>
\n);
print qq(
<link
rel=
"shortcut icon"
href=
"
).esc_url($favicon).qq(
"
type=
"image/png"
/>
\n);
}
}
print "
</head>
\n" .
print "
</head>
\n" .
...
@@ -3229,7 +3236,7 @@ sub git_header_html {
...
@@ -3229,7 +3236,7 @@ sub git_header_html {
print "
<div
class=
\"page_header\"
>
\n" .
print "
<div
class=
\"page_header\"
>
\n" .
$cgi->a({-href => esc_url($logo_url),
$cgi->a({-href => esc_url($logo_url),
-title => $logo_label},
-title => $logo_label},
qq(
<img
src=
"
$logo
"
width=
"72"
height=
"27"
alt=
"git"
class=
"logo"
/>
));
qq(
<img
src=
"
).esc_url($logo).qq(
"
width=
"72"
height=
"27"
alt=
"git"
class=
"logo"
/>
));
print $cgi->a({-href => esc_url($home_link)}, $home_link_str) . " / ";
print $cgi->a({-href => esc_url($home_link)}, $home_link_str) . " / ";
if (defined $project) {
if (defined $project) {
print $cgi->a({-href => href(action=>"summary")}, esc_html($project));
print $cgi->a({-href => href(action=>"summary")}, esc_html($project));
...
@@ -3327,7 +3334,7 @@ sub git_footer_html {
...
@@ -3327,7 +3334,7 @@ sub git_footer_html {
insert_file($site_footer);
insert_file($site_footer);
}
}
print qq!
<script
type=
"text/javascript"
src=
"
$javascript
"
></script>
\n!;
print qq!
<script
type=
"text/javascript"
src=
"
!.esc_url($javascript).qq!
"
></script>
\n!;
if ($action eq 'blame_incremental') {
if ($action eq 'blame_incremental') {
print qq!
<script
type=
"text/javascript"
>
\
n
!
.
print qq!
<script
type=
"text/javascript"
>
\
n
!
.
qq
!
startBlame
(
"
!. href(action=>
"
blame_data
"
, -replay=>1) .qq!
"
,
\
n
!
.
qq
!
startBlame
(
"
!. href(action=>
"
blame_data
"
, -replay=>1) .qq!
"
,
\
n
!
.
...
@@ -5313,14 +5320,14 @@ sub git_blob {
...
@@ -5313,14 +5320,14 @@ sub git_blob {
} else {
} else {
print "
<div
class=
\"page_nav\"
>
\n" .
print "
<div
class=
\"page_nav\"
>
\n" .
"
<br/><br/></div>
\n" .
"
<br/><br/></div>
\n" .
"
<div
class=
\"title\"
>
$hash
</div>
\n";
"
<div
class=
\"title\"
>
".esc_html($hash)."
</div>
\n";
}
}
git_print_page_path($file_name, "blob", $hash_base);
git_print_page_path($file_name, "blob", $hash_base);
print "
<div
class=
\"page_body\"
>
\n";
print "
<div
class=
\"page_body\"
>
\n";
if ($mimetype =~ m!^image/!) {
if ($mimetype =~ m!^image/!) {
print qq!
<img
type=
"
$mimetype
"
!;
print qq!
<img
type=
"
!.esc_attr($mimetype).qq!
"
!;
if
($
file_name
)
{
if
($
file_name
)
{
print
qq
!
alt=
"
$file_name"
title=
"$file_name
"
!;
print
qq
!
alt=
"
!.esc_attr($file_name).qq!"
title=
"!.esc_attr($file_name).qq!
"
!;
}
}
print
qq
!
src=
"! .
print
qq
!
src=
"! .
href(action=>"
blob_plain
",
hash=
>
$hash,
href(action=>"
blob_plain
",
hash=
>
$hash,
...
@@ -5332,7 +5339,8 @@ sub git_blob {
...
@@ -5332,7 +5339,8 @@ sub git_blob {
chomp $line;
chomp $line;
$nr++;
$nr++;
$line = untabify($line);
$line = untabify($line);
printf "
<div
class=
\"pre\"
><a
id=
\"l%i\"
href=
\""
.
href(-replay =
>
1)
printf "
<div
class=
\"pre\"
><a
id=
\"l%i\"
href=
\""
.
esc_attr(href(-replay =
>
1))
.
"
#l
%
i
\"
class=
\"linenr\"
>
%4i
</a>
%s
</div>
\n",
.
"
#l
%
i
\"
class=
\"linenr\"
>
%4i
</a>
%s
</div>
\n",
$nr, $nr, $nr, esc_html($line, -nbsp=>1);
$nr, $nr, $nr, esc_html($line, -nbsp=>1);
}
}
...
@@ -5396,7 +5404,7 @@ sub git_tree {
...
@@ -5396,7 +5404,7 @@ sub git_tree {
undef $hash_base;
undef $hash_base;
print "
<div
class=
\"page_nav\"
>
\n";
print "
<div
class=
\"page_nav\"
>
\n";
print "
<br/><br/></div>
\n";
print "
<br/><br/></div>
\n";
print "
<div
class=
\"title\"
>
$hash
</div>
\n";
print "
<div
class=
\"title\"
>
".esc_html($hash)."
</div>
\n";
}
}
if (defined $file_name) {
if (defined $file_name) {
$basedir = $file_name;
$basedir = $file_name;
...
@@ -5864,7 +5872,7 @@ sub git_blobdiff {
...
@@ -5864,7 +5872,7 @@ sub git_blobdiff {
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
git_print_header_div('commit', esc_html($co{'title'}), $hash_base);
} else {
} else {
print "
<div
class=
\"page_nav\"
><br/>
$formats_nav
<br/></div>
\n";
print "
<div
class=
\"page_nav\"
><br/>
$formats_nav
<br/></div>
\n";
print "
<div
class=
\"title\"
>
$hash vs $hash_parent
</div>
\n";
print "
<div
class=
\"title\"
>
".esc_html("$hash vs $hash_parent")."
</div>
\n";
}
}
if (defined $file_name) {
if (defined $file_name) {
git_print_page_path($file_name, "blob", $hash_base);
git_print_page_path($file_name, "blob", $hash_base);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录