Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
10a36382
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,发现更多精彩内容 >>
提交
10a36382
编写于
12月 06, 2013
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'jc/bundle'
Code clean-up. * jc/bundle: bundle: use argv-array
上级
ef63eb55
1e2371ea
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
16 deletion
+16
-16
bundle.c
bundle.c
+16
-16
未找到文件。
bundle.c
浏览文件 @
10a36382
...
...
@@ -7,6 +7,7 @@
#include "list-objects.h"
#include "run-command.h"
#include "refs.h"
#include "argv-array.h"
static
const
char
bundle_signature
[]
=
"# v2 git bundle
\n
"
;
...
...
@@ -234,13 +235,13 @@ static int is_tag_in_date_range(struct object *tag, struct rev_info *revs)
}
int
create_bundle
(
struct
bundle_header
*
header
,
const
char
*
path
,
int
argc
,
const
char
**
argv
)
int
argc
,
const
char
**
argv
)
{
static
struct
lock_file
lock
;
int
bundle_fd
=
-
1
;
int
bundle_to_stdout
;
const
char
**
argv_boundary
=
xmalloc
((
argc
+
4
)
*
sizeof
(
const
char
*
))
;
const
char
**
argv_pack
=
xmalloc
(
6
*
sizeof
(
const
char
*
))
;
struct
argv_array
argv_boundary
=
ARGV_ARRAY_INIT
;
struct
argv_array
argv_pack
=
ARGV_ARRAY_INIT
;
int
i
,
ref_count
=
0
;
struct
strbuf
buf
=
STRBUF_INIT
;
struct
rev_info
revs
;
...
...
@@ -262,13 +263,14 @@ int create_bundle(struct bundle_header *header, const char *path,
init_revisions
(
&
revs
,
NULL
);
/* write prerequisites */
memcpy
(
argv_boundary
+
3
,
argv
+
1
,
argc
*
sizeof
(
const
char
*
));
argv_boundary
[
0
]
=
"rev-list"
;
argv_boundary
[
1
]
=
"--boundary"
;
argv_boundary
[
2
]
=
"--pretty=oneline"
;
argv_boundary
[
argc
+
2
]
=
NULL
;
argv_array_pushl
(
&
argv_boundary
,
"rev-list"
,
"--boundary"
,
"--pretty=oneline"
,
NULL
);
for
(
i
=
1
;
i
<
argc
;
i
++
)
argv_array_push
(
&
argv_boundary
,
argv
[
i
]);
memset
(
&
rls
,
0
,
sizeof
(
rls
));
rls
.
argv
=
argv_boundary
;
rls
.
argv
=
argv_boundary
.
argv
;
rls
.
out
=
-
1
;
rls
.
git_cmd
=
1
;
if
(
start_command
(
&
rls
))
...
...
@@ -383,14 +385,12 @@ int create_bundle(struct bundle_header *header, const char *path,
write_or_die
(
bundle_fd
,
"
\n
"
,
1
);
/* write pack */
argv_pack
[
0
]
=
"pack-objects"
;
argv_pack
[
1
]
=
"--all-progress-implied"
;
argv_pack
[
2
]
=
"--stdout"
;
argv_pack
[
3
]
=
"--thin"
;
argv_pack
[
4
]
=
"--delta-base-offset"
;
argv_pack
[
5
]
=
NULL
;
argv_array_pushl
(
&
argv_pack
,
"pack-objects"
,
"--all-progress-implied"
,
"--stdout"
,
"--thin"
,
"--delta-base-offset"
,
NULL
);
memset
(
&
rls
,
0
,
sizeof
(
rls
));
rls
.
argv
=
argv_pack
;
rls
.
argv
=
argv_pack
.
argv
;
rls
.
in
=
-
1
;
rls
.
out
=
bundle_fd
;
rls
.
git_cmd
=
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录