Skip to content

Commit a847d92

Browse files
authored
refactor(import-tfs): fixed persian translate issue and headers
1 parent 60a4f54 commit a847d92

File tree

1 file changed

+11
-30
lines changed

1 file changed

+11
-30
lines changed

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

Lines changed: 11 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,70 +2,51 @@
22
==== TFS
33

44
(((TFS)))(((Importing, from TFS)))
5-
اگر تیم شما در حال تبدیل کنترل منبع خود از TFVC به گیت است، شما می‌خواهید بالاترین دقت ممکن را در تبدیل داشته
6-
باشید.
7-
این بدان معناست که، در حالی که ما هر دو git-tfs و git-tf را برای بخش تعامل پوشش داده‌ایم، ما فقط به git-tfs برای
8-
این بخش خواهیم پرداخت، زیرا git-tfs از شاخه‌ها پشتیبانی می‌کند و این کار با استفاده از git-tf به شدت دشوار
9-
است.
5+
6+
اگر تیم شما در حال تبدیل کنترل نسخه خود از TFVC به Git است، شما به یک تبدیل با بالاترین دقت نیاز دارید. این به این معناست که، در حالی که ما هم `git-tfs` و هم `git-tf` را برای بخش ارتباط متقابل بررسی کردیم، در این بخش فقط `git-tfs` را پوشش خواهیم داد، زیرا `git-tfs` از شاخه‌ها پشتیبانی می‌کند، و انجام این کار با استفاده از `git-tf` به طور غیرقابل تحملی دشوار است.
107

118
[NOTE]
129
====
13-
این یک تبدیل یک‌طرفه است.
14-
مخزن گیت حاصل نمی‌تواند با پروژه اصلی TFVC متصل شود.
10+
این یک تبدیل یک‌طرفه است. مخزن Git نتیجه‌گیری شده قادر نخواهد بود به پروژه اصلی TFVC متصل شود.
1511
====
1612

17-
اولین کاری که باید انجام دهید نگاشت نام‌های کاربری است.
18-
TFVC نسبت به آنچه که در فیلد نویسنده برای تغییرات قرار می‌دهد، نسبتاً آزاد است، اما گیت به یک نام و آدرس ایمیل
19-
قابل خواندن برای انسان نیاز دارد.
20-
شما می‌توانید این اطلاعات را از کلاینت خط فرمان `tf` به این صورت دریافت کنید:
13+
اولین کاری که باید انجام دهید، نگاشت نام‌های کاربری است. TFVC نسبتاً آزاد است در مورد اینکه چه چیزی در فیلد نویسنده برای تغییرات وارد شود، اما Git به یک نام قابل‌خواندن و آدرس ایمیل نیاز دارد. شما می‌توانید این اطلاعات را از طریق کلاینت خط فرمان `tf` به دست آورید، به این صورت:
2114

2215
[source,powershell]
2316
----
2417
PS> tf history $/myproject -recursive > AUTHORS_TMP
2518
----
2619

27-
این تمام تغییرات در تاریخچه پروژه را می‌گیرد و در فایل AUTHORS_TMP قرار می‌دهد که ما آن را پردازش خواهیم کرد تا
28-
داده‌های ستون _User_ (دومین) را استخراج کنیم.
29-
فایل را باز کنید و ببینید که کدام کاراکترها شروع و پایان ستون هستند و در دستور زیر، پارامترهای
30-
`11-20` دستور `cut` را با آن‌ها جایگزین کنید:
20+
این دستور تمام تغییرات در تاریخچه پروژه را جمع‌آوری می‌کند و آن را در فایل `AUTHORS_TMP` قرار می‌دهد که ما برای استخراج داده‌های ستون 'User' (دومین ستون) آن را پردازش خواهیم کرد. فایل را باز کنید و پیدا کنید که ستون از کدام کاراکترها شروع و تمام می‌شود، سپس در دستور خط فرمان زیر، پارامترهای `11-20` دستور `cut` را با مقادیری که پیدا کرده‌اید جایگزین کنید:
3121

3222
[source,powershell]
3323
----
3424
PS> cat AUTHORS_TMP | cut -b 11-20 | tail -n+3 | sort | uniq > AUTHORS
3525
----
3626

37-
دستور `cut` فقط کاراکترهای بین 11 و 20 را از هر خط نگه می‌دارد.
38-
دستور `tail` دو خط اول را که سرصفحه‌های فیلد و زیرنویس‌های ASCII هستند، نادیده می‌گیرد.
39-
نتیجه همه این‌ها به `sort` و `uniq` ارسال می‌شود تا تکراری‌ها حذف شوند و در فایلی به نام
40-
`AUTHORS` ذخیره شود.
41-
مرحله بعدی دستی است؛ برای اینکه git-tfs به طور مؤثر از این فایل استفاده کند، هر خط باید به این فرمت باشد:
27+
دستور `cut` تنها کاراکترهای بین 11 و 20 هر خط را نگه می‌دارد. دستور `tail` دو خط اول را که شامل هدرهای فیلد و خط‌های زیرنویس `ASCII` هستند، نادیده می‌گیرد. نتیجه تمام این‌ها به دستور `sort` و سپس `uniq` ارسال می‌شود تا تکراری‌ها حذف شوند و در فایلی به نام `AUTHORS` ذخیره می‌شود. گام بعدی دستی است؛ برای اینکه `git-tfs` به طور مؤثر از این فایل استفاده کند، هر خط باید به این فرمت باشد:
4228

4329
[source,text]
4430
----
4531
DOMAIN\username = User Name <[email protected]>
4632
----
4733

48-
بخش سمت چپ فیلد "User" از TFVC است و بخش سمت راست علامت مساوی نام کاربری است که برای کامیت‌های گیت استفاده
49-
خواهد شد.
34+
بخش سمت چپ فیلد `User` از `TFVC` است، و بخش سمت راست علامت مساوی نام کاربری است که برای commitهای Git استفاده خواهد شد.
5035

51-
پس از اینکه این فایل را دارید، کار بعدی این است که یک کلون کامل از پروژه TFVC که به آن علاقه دارید، ایجاد
52-
کنید:
36+
زمانی که این فایل را داشته باشید، گام بعدی این است که یک کلون کامل از پروژه TFVC که به آن علاقه دارید، ایجاد کنید:
5337

5438
[source,powershell]
5539
----
5640
PS> git tfs clone --with-branches --authors=AUTHORS https://username.visualstudio.com/DefaultCollection $/project/Trunk project_git
5741
----
5842

59-
سپس می‌خواهید بخش‌های `git-tfs-id` را از انتهای پیام‌های کامیت پاک کنید.
60-
دستور زیر این کار را انجام می‌دهد:
43+
در مرحله بعد، شما باید بخش‌های `git-tfs-id` را از انتهای پیغام‌های commit پاک کنید. دستور زیر این کار را انجام می‌دهد:
6144

6245
[source,powershell]
6346
----
6447
PS> git filter-branch -f --msg-filter 'sed "s/^git-tfs-id:.*$//g"' '--' --all
6548
----
6649

67-
این از دستور `sed` در محیط Git-bash استفاده می‌کند تا هر خطی که با "git-tfs-id:" شروع می‌شود را با
68-
خالی جایگزین کند، که گیت سپس آن را نادیده می‌گیرد.
50+
این دستور از دستور `sed` در محیط Git-bash استفاده می‌کند تا هر خطی که با `git-tfs-id:` شروع می‌شود را با فضای خالی جایگزین کند، که سپس توسط Git نادیده گرفته می‌شود.
6951

70-
پس از اینکه همه این کارها انجام شد، شما آماده‌اید که یک ریموت جدید اضافه کنید، تمام شاخه‌های خود را فشار دهید و
71-
تیم خود را از گیت شروع به کار کنید.
52+
زمانی که این مراحل انجام شد، شما آماده‌اید تا یک remote جدید اضافه کنید، تمام شاخه‌های خود را push کنید و تیم شما از Git شروع به کار کند.

0 commit comments

Comments
 (0)