Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
0493a3fd
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,发现更多精彩内容 >>
提交
0493a3fd
编写于
9月 21, 2005
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fixes'
上级
28ad81f5
b163512d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
8 deletion
+29
-8
Documentation/Makefile
Documentation/Makefile
+5
-3
http-fetch.c
http-fetch.c
+24
-5
未找到文件。
Documentation/Makefile
浏览文件 @
0493a3fd
...
...
@@ -44,14 +44,16 @@ man: man1 man7
man1
:
$(DOC_MAN1)
man7
:
$(DOC_MAN7)
install
:
install
:
man
$(INSTALL)
-d
-m755
$(DESTDIR)
/
$(man1)
$(DESTDIR)
/
$(man7)
$(INSTALL)
$(DOC_MAN1)
$(DESTDIR)
/
$(man1)
$(INSTALL)
$(DOC_MAN7)
$(DESTDIR)
/
$(man7)
# 'include' dependencies
git-diff-%.txt
:
diff-format.txt diff-options.txt
touch
$@
$(patsubst %.txt,%.1,$(wildcard git-diff-*.txt))
:
\
diff-format.txt diff-options.txt
$(patsubst %,%.1,git-fetch git-pull git-push)
:
pull-fetch-param.txt
git.7
:
../README
clean
:
rm
-f
*
.xml
*
.html
*
.1
*
.7 howto-index.txt howto/
*
.html
...
...
http-fetch.c
浏览文件 @
0493a3fd
...
...
@@ -350,13 +350,18 @@ int fetch_object(struct alt_base *repo, unsigned char *sha1)
char
*
hex
=
sha1_to_hex
(
sha1
);
char
*
filename
=
sha1_file_name
(
sha1
);
unsigned
char
real_sha1
[
20
];
char
tmpfile
[
PATH_MAX
];
int
ret
;
char
*
url
;
char
*
posn
;
local
=
open
(
filename
,
O_WRONLY
|
O_CREAT
|
O_EXCL
,
0666
);
snprintf
(
tmpfile
,
sizeof
(
tmpfile
),
"%s/obj_XXXXXX"
,
get_object_directory
());
local
=
mkstemp
(
tmpfile
);
if
(
local
<
0
)
return
error
(
"Couldn't open local object %s
\n
"
,
filename
);
return
error
(
"Couldn't create temporary file %s for %s: %s
\n
"
,
tmpfile
,
filename
,
strerror
(
errno
));
memset
(
&
stream
,
0
,
sizeof
(
stream
));
...
...
@@ -386,18 +391,32 @@ int fetch_object(struct alt_base *repo, unsigned char *sha1)
return
-
1
;
}
fchmod
(
local
,
0444
);
close
(
local
);
inflateEnd
(
&
stream
);
SHA1_Final
(
real_sha1
,
&
c
);
if
(
zret
!=
Z_STREAM_END
)
{
unlink
(
filenam
e
);
unlink
(
tmpfil
e
);
return
error
(
"File %s (%s) corrupt
\n
"
,
hex
,
url
);
}
if
(
memcmp
(
sha1
,
real_sha1
,
20
))
{
unlink
(
filenam
e
);
unlink
(
tmpfil
e
);
return
error
(
"File %s has bad hash
\n
"
,
hex
);
}
ret
=
link
(
tmpfile
,
filename
);
if
(
ret
<
0
)
{
/* Same Coda hack as in write_sha1_file(sha1_file.c) */
ret
=
errno
;
if
(
ret
==
EXDEV
&&
!
rename
(
tmpfile
,
filename
))
goto
out
;
}
unlink
(
tmpfile
);
if
(
ret
)
{
if
(
ret
!=
EEXIST
)
return
error
(
"unable to write sha1 filename %s: %s"
,
filename
,
strerror
(
ret
));
}
out:
pull_say
(
"got %s
\n
"
,
hex
);
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录