আমি কি গিটকে কোনও UTF-16 ফাইলটিকে পাঠ্য হিসাবে স্বীকৃতি দিতে পারি?


140

আমি গিটে একটি ভার্চুয়াল পিসি ভার্চুয়াল মেশিন ফাইল (* .vmc) ট্র্যাক করছি এবং পরিবর্তনের পরে গিট ফাইলটিকে বাইনারি হিসাবে চিহ্নিত করেছি এবং এটি আমার পক্ষে আলাদা হবে না। আমি আবিষ্কার করেছি যে ফাইলটি ইউটিএফ -16 এ এনকোড করা ছিল।

এই ফাইলটি পাঠ্য এবং এটি যথাযথভাবে পরিচালনা করতে গিটকে শেখানো যেতে পারে?

আমি সিগউইনের অধীনে গিট ব্যবহার করছি, কোর.আউটোক্রল্ফ মিথ্যাতে সেট করে। আমি ইউনিক্সের অধীনে এমসিসজিট বা গিট ব্যবহার করতে পারতাম, প্রয়োজনে।

উত্তর:


83

আমি এই সমস্যাটির সাথে কিছু সময়ের জন্য লড়াই করছি এবং সবেমাত্র (আমার জন্য) একটি নিখুঁত সমাধান আবিষ্কার করেছি:

$ git config --global diff.tool vimdiff      # or merge.tool to get merging too!
$ git difftool commit1 commit2

git difftoolযেমন আর্গুমেন্ট নেয় তেমন গ্রহণ করে git diffতবে অন্তর্নির্মিত GNU এর পরিবর্তে আপনার পছন্দের একটি পৃথক প্রোগ্রাম চালায় diff। সুতরাং একটি মাল্টিবাইট-সচেতন ডিফ বাছাই করুন (আমার ক্ষেত্রে, vimডিফ মোডে) এবং git difftoolপরিবর্তে কেবল ব্যবহার করুন git diff

টাইপ করতে খুব দীর্ঘ "ডিফ্টল" সন্ধান করবেন? সমস্যা নেই:

$ git config --global alias.dt difftool
$ git dt commit1 commit2

গিট শিলা।


1
একটি নিখুঁত সমাধান নয় (বরং এটি একটি স্ক্রোলিং ইউনিফাইড পৃথক রয়েছে), তবে, পছন্দগুলি এবং ইনস্টল করার জন্য নতুন কিছু খুঁজে পাওয়ার জন্য আমার অনিচ্ছাকে দেওয়া কম মন্দ is "ভিমডিফ", তাই! (হ্যাঁ,
ভিম

1
এটি কি কেবলমাত্র ইউটিএফ 16 ফাইলগুলি মঞ্চায়ন এবং প্রতিশ্রুতিবদ্ধ হিসাবে কাজ করে?
অর্টউইন জেন্টজ

আমি বাইন্ডের তুলনা আলাদা এবং সংযুক্তির সরঞ্জাম হিসাবে ব্যবহার করি । .Gitconfig <pre> <code> [difftool "bc3"] পাথ = সি: / প্রোগ্রাম ফাইল (x86) / এর বাইরে 3 / bcomp.exe [Mergetool "বিসি 3"] পথ = সি: / প্রোগ্রাম ফাইল (x86) / 3 / bcomp.exe </code> </pre> তুলনা ছাড়াই
টম উইলসন

@ টম উইলসন 4 টি স্পেস ইনডেন্ট করে কোড ব্লক ফর্ম্যাট করতে অক্ষম !?
টম উইলসন

গিটের জন্য আমার কাছে প্রাথমিক জ্ঞান আছে এবং এটি ফাইলের পরিবর্তনগুলি কীভাবে পরিচালনা করে তা নিশ্চিত নয়। এটি কি সর্বদা বাইনারি ফাইল হিসাবে থাকে বা পাঠ্যের জন্য (ASCII) বিশেষ প্রসেসিং / পরিবর্তনগুলি সনাক্তকরণ আছে?
i486

63

ইউনিসে বক্সের বাইরে কাজ করার একটি খুব সহজ সমাধান রয়েছে।

উদাহরণস্বরূপ, অ্যাপলের .stringsফাইলগুলি সহ :

  1. .gitattributesআপনার সংগ্রহস্থলের মূলটিতে একটি ফাইল তৈরি করুন :

    *.strings diff=localizablestrings
    
  2. আপনার ~/.gitconfigফাইলে নিম্নলিখিতগুলি যুক্ত করুন:

    [diff "localizablestrings"]
    textconv = "iconv -f utf-16 -t utf-8"
    

উত্স: গিটে ডিফ। স্ট্রিং ফাইলগুলি (এবং ২০১০ সালের পুরানো পোস্ট )।


আমি এটি করেছি কিন্তু গিট এর পরে চালাতে রাজি নয়। আমি যে ত্রুটিটি পেয়েছি তা হ'ল "ইউজার / মাইউজারনেম /.gitconfig এ খারাপ কনফিগারেশন ফাইল লাইন 4"। আমি আমার gitconfig ফাইলটি খুলতে "git config --global --edit" ব্যবহার করেছি। মজার বিষয় হল যদি আমি যুক্ত লাইনগুলি সরিয়ে ফেলি তবে সমস্ত ঠিক আছে। কোন সংকেত সনাক্ত করুন ?
shshnk

আপনি যদি অনুলিপি / পেস্ট করেন তবে আমি স্মার্ট উদ্ধৃতিগুলি অনুমান করতে যাচ্ছি। আমি ঠিক করতে উত্তর সম্পাদনা করেছি।
লু ফ্রাঙ্কো

এটি কবজির মতো কাজ করে, সরলতার জন্য এবং আরও ভাল সংহতকরণের জন্য এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। "অন্য সরঞ্জামের ব্যবহার" কীভাবে উত্তর দিতে পারে তা আমি দেখতে পাচ্ছি না "আমি কি ইউটিএফ -16 ফাইলকে পাঠ্য হিসাবে স্বীকৃতি দিতে পারি?"
ItMaxence

@itMaxence কঠোরভাবে, ভিএম iconvবা তার চেয়েও বেশি দামের (গিট স্যুটটির অংশ নয়) ঠিক ঠিক একইভাবে "অন্য একটি সরঞ্জাম"।
আগি হামারথিফ

@ অজিহ্যামার্থিফ নিশ্চিতভাবে আবার পড়ার পরে আমি একমত, আমি কী ভাবছিলাম তা নিয়ে ডোনো না। এফডাব্লুআইডাব্লু vimdiffএবং iconvউভয়ই
ম্যাকোজে উপস্থিত রয়েছেন

39

আপনি কি .gitattributesএটি কোনও পাঠ্য ফাইল হিসাবে বিবেচনা করার জন্য সেট করার চেষ্টা করেছেন ?

উদাহরণ:

*.vmc diff

Http://www.git-scm.com/docs/gitattributes.html এ আরও বিশদ ।


2
এটি কাজ করে তবে সঠিকতার জন্য দয়া করে সচেতন হন যে এটি দুটি বৈশিষ্ট্য নির্ধারণ করে : setএবং diff...
ঠিক আছে।

2
এই সমাধানটি আমার পক্ষে একমাত্র গ্রহণযোগ্য। @ ওকে মন্তব্য অনুসারে, "সেট" এখানে অপ্রাসঙ্গিক, ঠিক আছে *.vmc diff, *.sql diffইত্যাদি .. নির্দিষ্ট পথের জন্য 'ডিফ' বৈশিষ্ট্যটি নির্ধারণ করতে প্রয়োজন। (আমি উত্তরটি সম্পাদনা করতে পারি না)। ২ টি সতর্কতা: প্রতিটি চরিত্রের মধ্যে একটি জায়গার সাথে আলাদা করে দেখানো হয়, এবং এই সমস্যাযুক্ত ফাইলগুলির জন্য "মঞ্চ হুঁক" বা "কান্ড ফেলে দেওয়া" সম্ভব নয়।
Pac0

30

ডিফল্টরূপে, দেখে মনে হচ্ছে gitUTF-16 এর সাথে ভাল কাজ করবে না; এই জাতীয় কোনও ফাইলের জন্য আপনাকে নিশ্চিত করতে হবে যে এতে কোনও CRLFপ্রসেসিং চলছে না, তবে আপনি চান diffএবং mergeএকটি সাধারণ পাঠ্য ফাইল হিসাবে কাজ করেন (এটি আপনার টার্মিনাল / সম্পাদক ইউটিএফ -16 পরিচালনা করতে পারে কিনা তা উপেক্ষা করছে)।

তবে .gitattributesম্যানপেজটি দেখে , এখানে কাস্টম বৈশিষ্ট্যটি হ'ল binary:

[attr]binary -diff -crlf

সুতরাং এটি আমার মনে হচ্ছে যে আপনি আপনার শীর্ষ স্তরের এ একটি কাস্টম অ্যাট্রিবিউট সংজ্ঞায়িত করতে পারে .gitattributesজন্য utf16(নোট যে আমি এখানে একত্রীকরণ যোগ নিশ্চিত করুন যে এটি টেক্সট হিসাবে গণ্য হবে হতে):

[attr]utf16 diff merge -crlf

সেখান থেকে আপনি কোনও .gitattributesফাইলের মধ্যে এমন কিছু নির্দিষ্ট করতে সক্ষম হবেন :

*.vmc utf16

এছাড়াও নোট করুন যে আপনার এখনও diffএকটি ফাইল করতে সক্ষম হওয়া উচিত , এমনকি যদি gitএটি এর সাথে বাইনারি মনে করে:

git diff --text

সম্পাদন করা

এই উত্তরটি মূলত বলেছে যে ইউএনএফএফ -16 বা ইউটিএফ -8 খুব ভালভাবে কাজ করে না GNU এর চেয়ে আলাদা। gitপার্থক্যগুলি দেখতে ( যদি আপনি --ext-diff) দেখতে কোনও আলাদা সরঞ্জাম ব্যবহার করতে চান তবে সেই উত্তরটি গিফাইকে প্রস্তাব দেয়

তবে আপনার সম্ভবত যা প্রয়োজন তা কেবলমাত্র diffএকটি ইউটিএফ -16 ফাইল যা কেবলমাত্র ASCII অক্ষর রয়েছে। এটির কাজ করার একটি উপায় হ'ল ব্যবহার --ext-diffএবং নিম্নলিখিত শেল স্ক্রিপ্ট:

#!/bin/bash
diff <(iconv -f utf-16 -t utf-8 "$1") <(iconv -f utf-16 -t utf-8 "$2")

নোট করুন যে ইউটিএফ -8 এ রূপান্তর করাও মার্জ করার জন্য কাজ করতে পারে, আপনাকে কেবল এটি দুটি দিকেই সম্পন্ন হয়েছে তা নিশ্চিত করতে হবে।

কোনও ইউটিএফ -16 ফাইলের ভিন্নতার দিকে তাকানোর সময় টার্মিনালের আউটপুট হিসাবে:

স্ক্রিনে বাইনারি ময়লা ফেলা ফলাফলগুলির মতো আলাদা হওয়ার চেষ্টা করা। যদি গিটটি জিএনইউ ডিফ ব্যবহার করে তবে মনে হয় যে জিএনইউ ডিফ ইউনিকোড-সচেতন নয়।

জিএনইউ ডিফগুলি আসলে ইউনিকোডের বিষয়ে চিন্তা করে না, তাই আপনি যখন ডিফ-টেক্সট ব্যবহার করেন তখন এটি কেবল আলাদা হয়ে যায় এবং পাঠ্যকে আউটপুট করে। সমস্যাটি হ'ল আপনি যে টার্মিনালটি ব্যবহার করছেন তা ইউটিএফ -16 নিঃসৃত হ্যান্ডেলগুলি পরিচালনা করতে পারে না (ASCII অক্ষরগুলির সাথে পৃথক চিহ্নগুলির সাথে মিলিত)।


স্ক্রিনে বাইনারি ময়লা ফেলা ফলাফলগুলির মতো আলাদা হওয়ার চেষ্টা করা। যদি গিটটি জিএনইউ ডিফ ব্যবহার করে তবে মনে হয় যে জিএনইউ ডিফ ইউনিকোড-সচেতন নয়।
skiphoppy

1
জিএনইউ ডিফগুলি আসলে ইউনিকোডের বিষয়ে চিন্তা করে না, তাই আপনি যখন ডিফ-টেক্সট ব্যবহার করেন তখন এটি কেবল আলাদা হয়ে যায় এবং পাঠ্যকে আউটপুট করে। সমস্যাটি হ'ল আপনি যে টার্মিনালটি ব্যবহার করছেন তা ইউটিএফ -16 নিঃসৃত হ্যান্ডেলগুলি পরিচালনা করতে পারে না (ASCII অক্ষরগুলির সাথে পৃথক চিহ্নগুলির সাথে মিলিত)।
জ্যারেড ওবেরহস

@ জ্যারেড-ওবারহাউস - এই স্ক্রিপ্টটি কি কেবলমাত্র নির্দিষ্ট ধরণের ফাইলের (যেমন নির্দিষ্ট প্রসারিত দেওয়া) জন্য ট্রিগার করার উপায় আছে?
টেরি

8

সমাধান মাধ্যমে ফিল্টার করা হয় cmd.exe /c "type %1"। cmd কমান্ড এর typebuiltin রূপান্তর করতে হবে, এবং হল UTF-16 ফাইল diffing ইউনিকোড (UTF-8 পাশাপাশি সঙ্গে কাজ করা উচিত, যদিও অপরীক্ষিত) পাঠ সক্ষম তাই আপনি যে ব্যবহার করতে পারেন Git পরিবর্তন এর textconv ক্ষমতা।

গিটাট্রিবিউটস ম্যান পৃষ্ঠা থেকে উদ্ধৃতি:


বাইনারি ফাইলগুলির পাঠ্য পৃথক করে দেওয়া

কখনও কখনও কিছু বাইনারি ফাইলের পাঠ্য-রূপান্তরিত সংস্করণটির পার্থক্য দেখতে বাঞ্ছনীয়। উদাহরণস্বরূপ, একটি ওয়ার্ড প্রসেসর ডকুমেন্টকে ASCII পাঠ্য উপস্থাপনায় এবং পাঠ্যর পরিবর্তিত অংশে রূপান্তর করা যেতে পারে। যদিও এই রূপান্তরটি কিছু তথ্য হারিয়ে ফেলেছে, ফলে প্রাপ্ত পার্থক্যটি মানুষের দেখার জন্য দরকারী (তবে সরাসরি প্রয়োগ করা যায় না)।

এই জাতীয় রূপান্তর সম্পাদন করার জন্য কোনও প্রোগ্রামকে সংজ্ঞায়িত করতে টেক্সটনভ কনফিগারেশন বিকল্পটি ব্যবহৃত হয়। প্রোগ্রামটি রূপান্তর করতে কোনও একক যুক্তি, কোনও ফাইলের নাম নেওয়া উচিত এবং ফলাফলকে স্ট্যাডআউটে উত্পন্ন করতে হবে।

উদাহরণস্বরূপ, বাইনারি তথ্যের পরিবর্তে কোনও ফাইলের এক্সিফ তথ্যের পার্থক্য দেখাতে (ধরে নিবেন আপনি এক্সাইফ সরঞ্জামটি ইনস্টল করেছেন) আপনার $GIT_DIR/configফাইলটিতে (বা $HOME/.gitconfigফাইল) নিম্নলিখিত বিভাগটি যুক্ত করুন :

[diff "jpg"]
        textconv = exif

মিংডব্লিউ 32 এর একটি সমাধান , সাইগউইন অনুরাগীদের পদ্ধতির পরিবর্তন করতে হতে পারে। সমস্যাটি ফাইলের নামটি cmd.exe এ রূপান্তর করার সাথে রয়েছে - এটি ফরোয়ার্ড স্ল্যাশ ব্যবহার করবে এবং সেন্টিমিডি ব্যাকস্ল্যাশ ডিরেক্টরি বিভাজককে ধরে নিবে।

ধাপ 1:

একক যুক্তি স্ক্রিপ্ট তৈরি করুন যা স্টডআউটে রূপান্তরটি করবে। C: \ পথ \ \ কিছু \ script.sh:

#!/bin/bash
SED='s/\//\\\\\\\\/g'
FILE=\`echo $1 | sed -e "$SED"\`
cmd.exe /c "type $FILE"

ধাপ ২:

স্ক্রিপ্ট ফাইলটি ব্যবহার করতে সক্ষম হতে গিট সেট আপ করুন। আপনার গিট কনফিগারেশনের ভিতরে ( ~/.gitconfigবা .git/configদেখুন man git-config), এটি লিখুন:

[diff "cmdtype"]
textconv = c:/path/to/some/script.sh

ধাপ 3:

.Gitattributes ফাইলগুলি ব্যবহার করে এই লোককে কাজে লাগানোর জন্য ফাইলগুলি নির্দেশ করুন (ম্যান গিটটিট্রিবিউটস (৫) দেখুন:

*vmc diff=cmdtype

তারপরে git diffআপনার ফাইলগুলিতে ব্যবহার করুন।


প্রায় টনি Kuneck এর মত কিন্তু ছাড়া "C: /path/to/some/script.sh" entropy.ch/blog/Developer/2010/04/15/...
আলেক্সি Shumkin

আমি উইন্ডোজ জন্য Git সঙ্গে উপরে দেখানো কিন্তু আমি পাওয়া নিম্নলিখিত পথে স্পেস সাথে মোকাবিলা করতে জরিমানা এবং স্ক্রিপ্ট কিছু সমস্যা আছে: cmd //c type "${1//\//\\}"
patthoyts

এটি কোনও স্ক্রিপ্ট ফাইল তৈরি করার প্রয়োজন ছাড়াই কাজ করবে:textconv = powershell -NoProfile -Command \"& {Get-Content \\$args[0]}\"
জাকুব বেরেজানস্কি

5

গিটটি সম্প্রতি ইউটিএফ 16 এর মতো এনকোডিংগুলি বুঝতে শুরু করেছে। গিটাট্রিবিটস ডক্স দেখুন , অনুসন্ধান করুনworking-tree-encoding

[নিশ্চিত হোন যে আপনার ম্যান পেজটি ম্যাচটি মিলে গেছে এটি বেশ নতুন!]

যদি (বলুন) ফাইলটি উইন্ডোজ মেশিনে বিওএম ছাড়াই UTF-16 হয় তবে আপনার .gitattributesফাইলটিতে যুক্ত করুন

*.vmc text working-tree-encoding=UTF-16LE eol=CRLF

যদি ইউটিএফ -16 (বোম সহ) * নিক্স এ তৈরি করে:

*.vmc text working-tree-encoding=UTF-16-BOM eol=LF

(প্রতিস্থাপন *.vmcসঙ্গে *.whateverজন্য whateverটাইপ আপনি যে ফাইলগুলি হ্যান্ডেল করতে হবে)

দেখুন: ওয়ার্কিং-ট্রি-এনকোডিং "UTF-16LE-BOM" সমর্থন করুন


পরে যুক্ত হয়েছে

@ হ্যাকস্ল্যাশ অনুসরণ করে, কেউ দেখতে পাবে যে এটি অপর্যাপ্ত

 *.vmc text working-tree... 

সুন্দর পাঠ্য বিবিধ পেতে আপনার প্রয়োজন

 *.vmc diff working-tree...

ফেলে উভয় পাশাপাশি কাজ

 *.vmc text diff working-tree... 

তবে এটি যুক্তিযুক্ত

  • অপ্রয়োজনীয় - eol=...বোঝায়text
  • ভারবোজ - একটি বড় প্রকল্পে সহজেই কয়েক ডজন বিভিন্ন পাঠ্য ফাইলের ধরণ থাকতে পারে

সমস্যাটি

Git টি ম্যাক্রো-অ্যাট্রিবিউট binary যার মানে -text -diff। বিপরীতে +text +diffঅন্তর্নির্মিত উপলভ্য নয় তবে গিটটি সংশ্লেষণের জন্য সরঞ্জামগুলি (আমার মনে হয়!) দেয়

সমাধান

গিট একজনকে নতুন ম্যাক্রো বৈশিষ্ট্য সংজ্ঞায়িত করতে দেয়।

আপনার কাছে থাকা .gitattributesফাইলটির উপরে আমি প্রস্তাব দেব

 [attr]textfile text diff

তারপরে সমস্ত পাথের জন্য যা পাঠ্য এবং পৃথক হওয়া দরকার

 path textfile working-tree-encoding= eol=...

নোট করুন যে বেশিরভাগ ক্ষেত্রে আমরা ডিফল্ট এনকোডিং (utf-8) এবং ডিফল্ট ইওল (নেটিভ) চাই এবং তাই বাদ পড়তে পারে।

বেশিরভাগ লাইনের মতো দেখতে হবে

textfile *.c
textfile *.py
Etc

কেন শুধু ডিফ ব্যবহার করবেন না?

ব্যবহারিক: বেশিরভাগ ক্ষেত্রে আমরা নেটিভ ইওল চাই। যার অর্থ না eol=...। সুতরাং textনিহিত হবে না এবং স্পষ্টভাবে বলা প্রয়োজন।

ধারণাগত: পাঠ্য বনাম বাইনারি মৌলিক পার্থক্য ction ইওল, এনকোডিং, ডিফ ইত্যাদি এগুলির কয়েকটি দিক।

দাবি পরিত্যাগী

উদ্ভট সময়গুলির কারণে আমরা বাস করছি আমার কাছে বর্তমান ওয়ার্কিং গিট সহ কোনও মেশিন নেই। সুতরাং আমি এই মুহূর্তে সর্বশেষ সংযোজন পরীক্ষা করতে অক্ষম। যদি কারও কিছু ভুল মনে হয় তবে আমি সংশোধন / অপসারণ করব।


আমার UTF-16LE-BOM ফাইলটি কাজ করতে আমাকে ব্যবহার করতে হয়েছিল*.vmc diff working-tree-encoding=UTF-16LE-BOM eol=CRLF
হ্যাকস্ল্যাশ

@ হ্যাকস্ল্যাশ: মাথা উঁচু করার জন্য ধন্যবাদ। আমার মনে হয় আপনি textএকা বলছেন আপনি খুব ভাল পাঠ্য পেয়েছেন? আপনি দয়া করে উভয়ই যাচাই করতে পারেন textএবং diffসবকিছু ঠিকঠাক কাজ করে?
এক্ষেত্রে

সঠিক, textএকা বাইনারি তুলনা ফলাফল। আমি কি করতে পারি diffবা text diffএবং এটি কাজ করে। -BOMআমার ফাইলটি একটি বিওএম, ওয়াইএমএমভি থাকার কারণে কেবল যুক্ত করা দরকার ।
হ্যাকস্ল্যাশ

@ হ্যাকস্ল্যাশ আমি আপনার সন্ধানকে অন্তর্ভুক্ত করেছি। আপনি যদি এটি পরীক্ষা করে দেখতে পারতেন তবে দুর্দান্ত হবে!
রুসি

ধন্যবাদ @ রুশি, আমার কাছে তা উপলব্ধি করে।
হ্যাকস্ল্যাশ

4

আমি একটি ছোট গিট-ডিফ ড্রাইভার লিখেছি to-utf8, যা কোনও নন-এএসসিআইআই / ইউটিএফ -8 এনকোডযুক্ত ফাইলগুলি আলাদা করা সহজ করে তোলে। আপনি এখানে নির্দেশাবলী ব্যবহার করে এটি ইনস্টল করতে পারেন: https://github.com/chaitanyagapt/gitutils#to-utf8 ( to-utf8স্ক্রিপ্ট একই রেপোতে উপলব্ধ)।

মনে রাখবেন যে, এই স্ক্রিপ্টের উভয় প্রয়োজন fileএবং iconvকমান্ড সিস্টেমে উপলব্ধ হতে।


2

উইন্ডোজটিতে সম্প্রতি এই সমস্যা ছিল dos2unixএবং unix2dosউইন্ডোগুলির জন্য গিট সহ যে জাহাজগুলি প্রেরণ করা হয়েছে তা কৌশলটি করেছে। ডিফল্টরূপে তারা অবস্থিত C:\Program Files\Git\usr\bin\আপনার ফাইলটি ইউটিএফ -16 হওয়া প্রয়োজন না হলে এটি কাজ করবে তা পর্যবেক্ষণ করুন । উদাহরণস্বরূপ, কেউ দুর্ঘটনাক্রমে একটি পাইথন ফাইলটিকে ইউটিএফ -16 হিসাবে এনকোড করেছে যখন এটি হওয়ার দরকার নেই (আমার ক্ষেত্রে)।

PS C:\Users\xxx> dos2unix my_file.py
dos2unix: converting UTF-16LE file my_file.py to ANSI_X3.4-1968 Unix format...

এবং

PS C:\Users\xxx> unix2dos my_file.py
unix2dos: converting UTF-16LE file my_file.py to ANSI_X3.4-1968 DOS format...
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.