Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
2b2dabc2
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,发现更多精彩内容 >>
提交
2b2dabc2
编写于
10月 17, 2005
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fixes'
上级
622ef9df
fd25c82a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
68 addition
and
61 deletion
+68
-61
Documentation/git-checkout-index.txt
Documentation/git-checkout-index.txt
+7
-13
checkout-index.c
checkout-index.c
+61
-48
未找到文件。
Documentation/git-checkout-index.txt
浏览文件 @
2b2dabc2
...
@@ -29,8 +29,8 @@ OPTIONS
...
@@ -29,8 +29,8 @@ OPTIONS
forces overwrite of existing files
forces overwrite of existing files
-a::
-a::
checks out all files in the cache
(will then continue to
checks out all files in the cache
. Cannot be used
process listed files)
.
together with explicit filenames
.
-n::
-n::
Don't checkout new files, only refresh files already checked
Don't checkout new files, only refresh files already checked
...
@@ -43,15 +43,9 @@ OPTIONS
...
@@ -43,15 +43,9 @@ OPTIONS
--::
--::
Do not interpret any more arguments as options.
Do not interpret any more arguments as options.
Note that the order of the flags matters:
The order of the flags used to matter, but not anymore.
git-checkout-index -a -f file.c
Just doing "git-checkout-index" does nothing. You probably meant
will first check out all files listed in the cache (but not overwrite
any old ones), and then force-checkout `file.c` a second time (ie that
one *will* overwrite any old contents with the same filename).
Also, just doing "git-checkout-index" does nothing. You probably meant
"git-checkout-index -a". And if you want to force it, you want
"git-checkout-index -a". And if you want to force it, you want
"git-checkout-index -f -a".
"git-checkout-index -f -a".
...
@@ -77,12 +71,12 @@ scripting!).
...
@@ -77,12 +71,12 @@ scripting!).
The prefix ability basically makes it trivial to use
The prefix ability basically makes it trivial to use
git-checkout-index as an "export as tree" function. Just read the
git-checkout-index as an "export as tree" function. Just read the
desired tree into the index, and do a
desired tree into the index, and do a
git-checkout-index --prefix=git-export-dir/ -a
git-checkout-index --prefix=git-export-dir/ -a
and git-checkout-index will "export" the cache into the specified
and git-checkout-index will "export" the cache into the specified
directory.
directory.
NOTE The final "/" is important. The exported name is literally just
NOTE The final "/" is important. The exported name is literally just
prefixed with the specified string, so you can also do something like
prefixed with the specified string, so you can also do something like
...
...
checkout-index.c
浏览文件 @
2b2dabc2
...
@@ -87,8 +87,9 @@ static struct cache_file cache_file;
...
@@ -87,8 +87,9 @@ static struct cache_file cache_file;
int
main
(
int
argc
,
char
**
argv
)
int
main
(
int
argc
,
char
**
argv
)
{
{
int
i
,
force_filename
=
0
;
int
i
;
int
newfd
=
-
1
;
int
newfd
=
-
1
;
int
all
=
0
;
if
(
read_cache
()
<
0
)
{
if
(
read_cache
()
<
0
)
{
die
(
"invalid cache"
);
die
(
"invalid cache"
);
...
@@ -96,58 +97,70 @@ int main(int argc, char **argv)
...
@@ -96,58 +97,70 @@ int main(int argc, char **argv)
for
(
i
=
1
;
i
<
argc
;
i
++
)
{
for
(
i
=
1
;
i
<
argc
;
i
++
)
{
const
char
*
arg
=
argv
[
i
];
const
char
*
arg
=
argv
[
i
];
if
(
!
force_filename
)
{
if
(
!
strcmp
(
arg
,
"-a"
))
{
if
(
!
strcmp
(
arg
,
"--"
))
{
checkout_all
();
i
++
;
continue
;
break
;
}
}
if
(
!
strcmp
(
arg
,
"--"
))
{
if
(
!
strcmp
(
arg
,
"-a"
)
||
!
strcmp
(
arg
,
"--all"
))
{
force_filename
=
1
;
all
=
1
;
continue
;
continue
;
}
if
(
!
strcmp
(
arg
,
"-f"
))
{
state
.
force
=
1
;
continue
;
}
if
(
!
strcmp
(
arg
,
"-q"
))
{
state
.
quiet
=
1
;
continue
;
}
if
(
!
strcmp
(
arg
,
"-n"
))
{
state
.
not_new
=
1
;
continue
;
}
if
(
!
strcmp
(
arg
,
"-u"
))
{
state
.
refresh_cache
=
1
;
if
(
newfd
<
0
)
newfd
=
hold_index_file_for_update
(
&
cache_file
,
get_index_file
());
if
(
newfd
<
0
)
die
(
"cannot open index.lock file."
);
continue
;
}
if
(
!
memcmp
(
arg
,
"--prefix="
,
9
))
{
state
.
base_dir
=
arg
+
9
;
state
.
base_dir_len
=
strlen
(
state
.
base_dir
);
continue
;
}
if
(
arg
[
0
]
==
'-'
)
usage
(
checkout_cache_usage
);
}
}
if
(
state
.
base_dir_len
)
{
if
(
!
strcmp
(
arg
,
"-f"
)
||
!
strcmp
(
arg
,
"--force"
))
{
/* when --prefix is specified we do not
state
.
force
=
1
;
* want to update cache.
continue
;
*/
}
if
(
state
.
refresh_cache
)
{
if
(
!
strcmp
(
arg
,
"-q"
)
||
!
strcmp
(
arg
,
"--quiet"
))
{
close
(
newfd
);
newfd
=
-
1
;
state
.
quiet
=
1
;
rollback_index_file
(
&
cache_file
);
continue
;
}
state
.
refresh_cache
=
0
;
}
}
if
(
!
strcmp
(
arg
,
"-n"
)
||
!
strcmp
(
arg
,
"--no-create"
))
{
state
.
not_new
=
1
;
continue
;
}
if
(
!
strcmp
(
arg
,
"-u"
)
||
!
strcmp
(
arg
,
"--index"
))
{
state
.
refresh_cache
=
1
;
if
(
newfd
<
0
)
newfd
=
hold_index_file_for_update
(
&
cache_file
,
get_index_file
());
if
(
newfd
<
0
)
die
(
"cannot open index.lock file."
);
continue
;
}
if
(
!
memcmp
(
arg
,
"--prefix="
,
9
))
{
state
.
base_dir
=
arg
+
9
;
state
.
base_dir_len
=
strlen
(
state
.
base_dir
);
continue
;
}
if
(
arg
[
0
]
==
'-'
)
usage
(
checkout_cache_usage
);
break
;
}
if
(
state
.
base_dir_len
)
{
/* when --prefix is specified we do not
* want to update cache.
*/
if
(
state
.
refresh_cache
)
{
close
(
newfd
);
newfd
=
-
1
;
rollback_index_file
(
&
cache_file
);
}
state
.
refresh_cache
=
0
;
}
/* Check out named files first */
for
(
;
i
<
argc
;
i
++
)
{
const
char
*
arg
=
argv
[
i
];
if
(
all
)
die
(
"git-checkout-index: don't mix '--all' and explicit filenames"
);
checkout_file
(
arg
);
checkout_file
(
arg
);
}
}
if
(
all
)
checkout_all
();
if
(
0
<=
newfd
&&
if
(
0
<=
newfd
&&
(
write_cache
(
newfd
,
active_cache
,
active_nr
)
||
(
write_cache
(
newfd
,
active_cache
,
active_nr
)
||
commit_index_file
(
&
cache_file
)))
commit_index_file
(
&
cache_file
)))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录