Skip to content

Commit f36e265

Browse files
committed
Review 09-git-and-other-scms import-custom v2
1 parent e44b129 commit f36e265

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

book/09-git-and-other-scms/sections/import-custom.asc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
(((git commands, fast-import)))
55
(((Importing, from others)))
6-
如果你的系统不是上述中的任一个,你需要在线查找一个导入器 - 针对许多其他系统有很多高质量的导入器,包括 CVS、Clear Case、Visual Source Safe,甚至是一个档案目录。
6+
如果你的系统不是上述中的任何一个,你需要在线查找一个导入器 - 针对许多其他系统有很多高质量的导入器,包括 CVS、Clear Case、Visual Source Safe,甚至是一个档案目录。
77
如果没有一个工具适合你,需要一个不知名的工具,或者需要更大自由度的自定义导入过程,应当使用 `git fast-import`。
88
这个命令从标准输入中读取简单指令来写入特定的 Git 数据。
99
通过这种方式创建 Git 对象比运行原始 Git 命令或直接写入原始对象(查看 <<_git_internals>> 了解更多内容)更容易些。
10-
通过这种方式你可以编写导入脚本,从你要导入的系统中读取必要数据,然后打印直接指令到标准输出
10+
通过这种方式你可以编写导入脚本,从你要导入的系统中读取必要数据,然后直接打印指令到标准输出
1111
然后可以运行这个程序并通过 `git fast-import` 重定向管道输出。
1212

1313
为了快速演示,我们会写一个简单的导入器。
@@ -30,8 +30,8 @@ current
3030
你的策略是一次访问一个快照,然后用每个目录中的内容创建提交,并且将每一个提交与前一个连接起来。
3131

3232
如同我们在 <<_an_example_git_enforced_policy>> 里做的,我们将会使用 Ruby 写这个,因为它是我们平常工作中使用的并且它很容易读懂。
33-
可以使用任何你熟悉的东西来非常轻松地写这个例子 - 它只需要将合适的信息打印到 `stdout`。
34-
然而,如果你在 Windows 上,这意味着需要特别注意不要引入回车符到行尾 - git fast-import 非常特别地只想要换行符(LF)而不是 Windows 使用的回车换行符(CRLF)。
33+
可以使用任何你熟悉的东西来非常轻松地写这个例子 - 它只需要将合适的信息打印到 `标准输出`。
34+
然而,如果你在 Windows 上,这意味着需要特别注意不要引入回车符到行尾 - git fast-import 非常特别地只接受换行符(LF)而不是 Windows 使用的回车换行符(CRLF)。
3535

3636
现在开始,需要进入目标目录中并识别每一个子目录,每一个都是你要导入为提交的快照。
3737
要进入到每个子目录中并为导出它打印必要的命令。
@@ -123,8 +123,8 @@ export_data('imported from ' + dir)
123123
puts 'from :' + last_mark if last_mark
124124
----
125125

126-
硬编码时区信息(-0700),因为这样很容易。
127-
如果从其他系统导入,必须指定一个为偏移的时区
126+
我们将硬编码时区信息(-0700),因为这样很容易。
127+
如果从其他系统导入,必须指定为一个偏移的时区
128128
提交信息必须指定为特殊的格式:
129129

130130
[source]
@@ -142,7 +142,7 @@ def export_data(string)
142142
end
143143
----
144144

145-
所有剩下的工作就是指定每一个快照的文件内容
145+
剩下的工作就是指定每一个快照的文件内容
146146
这很轻松,因为每一个目录都是一个快照 - 可以在目录中的每一个文件内容后打印 `deleteall` 命令。
147147
Git 将会适当地记录每一个快照:
148148

@@ -192,7 +192,7 @@ return mark
192192
[NOTE]
193193
====
194194
如果在 Windows 上还需要确保增加一个额外步骤。
195-
正如之前提到的,Windows 使用 CRLF 作为换行符而 git fast-import 只希望是 LF。
195+
正如之前提到的,Windows 使用 CRLF 作为换行符而 git fast-import 只接受 LF。
196196
为了修正这个问题使 git fast-import 正常工作,你需要告诉 ruby 使用 LF 代替 CRLF:
197197
198198
[source,ruby]
@@ -358,7 +358,7 @@ Date: Mon Feb 3 01:00:00 2014 -0700
358358
----
359359
360360
做得很好 - 一个漂亮、干净的 Git 仓库。
361-
要注意的重要一点是并没有检出任何东西 - 一开始你的工作目录内并没有任何文件。
361+
要注意的一点是并没有检出任何东西 - 一开始你的工作目录内并没有任何文件。
362362
为了得到他们,你必须将分支重置到 `master` 所在的地方:
363363
364364
[source,console]

0 commit comments

Comments
 (0)