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
forces overwrite of existing files
-a::
checks out all files in the cache
(will then continue to
process listed files)
.
checks out all files in the cache
. Cannot be used
together with explicit filenames
.
-n::
Don't checkout new files, only refresh files already checked
...
...
@@ -43,15 +43,9 @@ 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
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
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 -f -a".
...
...
@@ -77,12 +71,12 @@ scripting!).
The prefix ability basically makes it trivial to use
git-checkout-index as an "export as tree" function. Just read the
desired tree into the index, and do a
git-checkout-index --prefix=git-export-dir/ -a
and git-checkout-index will "export" the cache into the specified
directory.
NOTE The final "/" is important. The exported name is literally just
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;
int
main
(
int
argc
,
char
**
argv
)
{
int
i
,
force_filename
=
0
;
int
i
;
int
newfd
=
-
1
;
int
all
=
0
;
if
(
read_cache
()
<
0
)
{
die
(
"invalid cache"
);
...
...
@@ -96,58 +97,70 @@ int main(int argc, char **argv)
for
(
i
=
1
;
i
<
argc
;
i
++
)
{
const
char
*
arg
=
argv
[
i
];
if
(
!
force_filename
)
{
if
(
!
strcmp
(
arg
,
"-a"
))
{
checkout_all
();
continue
;
}
if
(
!
strcmp
(
arg
,
"--"
))
{
force_filename
=
1
;
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
(
!
strcmp
(
arg
,
"--"
))
{
i
++
;
break
;
}
if
(
!
strcmp
(
arg
,
"-a"
)
||
!
strcmp
(
arg
,
"--all"
))
{
all
=
1
;
continue
;
}
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
;
if
(
!
strcmp
(
arg
,
"-f"
)
||
!
strcmp
(
arg
,
"--force"
))
{
state
.
force
=
1
;
continue
;
}
if
(
!
strcmp
(
arg
,
"-q"
)
||
!
strcmp
(
arg
,
"--quiet"
))
{
state
.
quiet
=
1
;
continue
;
}
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
);
}
if
(
all
)
checkout_all
();
if
(
0
<=
newfd
&&
(
write_cache
(
newfd
,
active_cache
,
active_nr
)
||
commit_index_file
(
&
cache_file
)))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录