ٹیکسٹ ڈِف چیکر

دو متن یا کوڈ snippets کا لائن بہ لائن موازنہ کریں۔ شامل، ہٹائی اور تبدیل شدہ لائنیں نمایاں ہوتی ہیں، بالکل ان الفاظ تک جو مختلف ہیں۔

آپ کے براؤزر میں چلتا ہےسائن اپ کی ضرورت نہیںکچھ اپ لوڈ نہیں ہوتا

فرق دیکھنے کے لیے دونوں خانوں میں متن پیسٹ کریں۔

ٹیکسٹ ڈِف چیکر استعمال کرنے کا طریقہ

  1. اصل متن دائیں طرف اور تبدیل شدہ متن بائیں طرف پیسٹ کریں، یا دو فائلیں کھولیں۔
  2. ٹائپ کرتے ہی موازنہ اپ ڈیٹ ہوتا ہے۔ ساتھ ساتھ یا یکجا منظر منتخب کریں۔
  3. دوبارہ انڈینٹیشن جیسے شور کو چھپانے کے لیے خالی جگہیں نظر انداز کریں، کیس نظر انداز کریں یا خالی لائنیں نظر انداز کریں پر نشان لگائیں۔
  4. تبدیلیوں پر توجہ کے لیے غیر تبدیل شدہ چھپائیں استعمال کریں، ہر تبدیلی کے اردگرد تین لائنوں کے سیاق کے ساتھ۔
  5. معیاری unified diff حاصل کرنے کے لیے بطور patch کاپی کریں یا ‎.diff ڈاؤن لوڈ کریں پر کلک کریں، جسے git apply یا patch سے لاگو کیا جا سکتا ہے۔

یہ ڈِف چیکر کیسے کام کرتا ہے

ٹول دونوں ان پٹس کو لائنوں میں تقسیم کرتا ہے اور Myers difference algorithm چلاتا ہے، وہی O(ND) الگورتھم جو git diff اور GNU diff استعمال کرتے ہیں۔ یہ اندراج اور حذف کی وہ مختصر ترین ترتیب تلاش کرتا ہے جو اصل کو تبدیل شدہ متن میں بدل دے، اس لیے نتیجہ کم سے کم ممکنہ تبدیل شدہ لائنیں دکھاتا ہے۔ شروع اور آخر کی ایک جیسی لائنیں پہلے ہی چھوڑ دی جاتی ہیں، جس سے ہزاروں لائنوں والی فائلوں کا موازنہ تقریباً فوری ہو جاتا ہے۔

جب ہٹائی گئی اور شامل کی گئی لائن ساتھ ساتھ ہوں تو انہیں ایک ترمیم شدہ لائن کے طور پر جوڑا جاتا ہے اور دوبارہ لفظ بہ لفظ موازنہ کیا جاتا ہے۔ جو الفاظ واقعی بدلے ہیں انہیں زیادہ گہرا رنگ ملتا ہے، اس لیے لمبی لائن میں نام بدلا ہوا ویری ایبل یا بدلا ہوا نمبر نمایاں ہو جاتا ہے۔

ساتھ ساتھ بمقابلہ یکجا منظر

ساتھ ساتھ اصل کو دائیں اور نئے ورژن کو بائیں رکھتا ہے، دونوں کے لائن نمبرز کے ساتھ۔ نثر، کنفیگریشن فائلوں اور مختصر کوڈ تبدیلیوں کے جائزے کے لیے یہ سب سے آسان منظر ہے۔ یکجا منظر ہٹائی گئی (-) اور شامل کی گئی (+) لائنوں کو ایک کالم میں ملا کر دکھاتا ہے، یہ وہ فارمیٹ ہے جو کوڈ ریویو ٹولز اور patch فائلیں استعمال کرتی ہیں۔

Unified diff (patch) فارمیٹ

ایکسپورٹ کیا گیا patch diff -u فارمیٹ کی پیروی کرتا ہے: ایک ---/+++ ہیڈر، پھر hunks جو @@ -l,s +l,s @@ سے شروع ہوتے ہیں، جہاں l پہلی لائن کا نمبر اور s ہر فائل میں hunk کی لائنوں کی تعداد ہے۔ ہر hunk میں تین غیر تبدیل شدہ سیاقی لائنیں ہوتی ہیں، اس لیے قریبی لائنیں ہل جانے پر بھی اسے patch -p0 یا git apply سے لاگو کیا جا سکتا ہے۔

نظر انداز آپشنز کب استعمال کریں

  • خالی جگہیں نظر انداز کریں ان لائنوں کو برابر سمجھتا ہے جو صرف اسپیسز یا ٹیبز میں مختلف ہوں۔ کوڈ دوبارہ انڈینٹ کرنے یا ٹیبز کو اسپیسز میں بدلنے کے بعد استعمال کریں۔
  • کیس نظر انداز کریں SQL، HTML اور لاگ فائلوں کے لیے مفید ہے جہاں بڑے چھوٹے حروف اہم نہیں۔
  • خالی لائنیں نظر انداز کریں ان لائنوں کو چھپاتا ہے جو صرف فاصلے کے لیے شامل یا ہٹائی گئیں۔

اکثر پوچھے جانے والے سوالات

کیا میرا متن کہیں اپ لوڈ ہوتا ہے؟
نہیں۔ موازنہ مکمل طور پر آپ کے براؤزر میں JavaScript سے ہوتا ہے۔ آپ جو پیسٹ کرتے ہیں وہ سرور پر نہیں جاتا، اس لیے آپ پرائیویٹ کوڈ، معاہدوں یا کنفیگریشن فائلوں کا محفوظ طریقے سے موازنہ کر سکتے ہیں۔
متن کتنے بڑے ہو سکتے ہیں؟
دسیوں ہزار لائنوں والی فائلیں عام لیپ ٹاپ پر ایک سیکنڈ سے کم میں موازنہ ہو جاتی ہیں۔ چونکہ الگورتھم کی لاگت فرقوں کی تعداد کے ساتھ بڑھتی ہے، دو بہت بڑی اور مکمل طور پر مختلف فائلوں میں سب سے زیادہ وقت لگتا ہے۔
کیا میں پیسٹ کرنے کے بجائے دو فائلوں کا موازنہ کر سکتا ہوں؟
جی ہاں۔ مقامی فائل لوڈ کرنے کے لیے ہر خانے کے اوپر فائل کھولیں بٹن استعمال کریں۔ فائل آپ کا براؤزر پڑھتا ہے اور یہ کبھی اپ لوڈ نہیں ہوتی۔
کوئی لائن ترمیم شدہ کے بجائے ہٹائی اور شامل کی گئی کیوں دکھتی ہے؟
لائنیں «ترمیم شدہ» کے طور پر صرف تب جوڑی جاتی ہیں جب ہٹائی گئی لائنوں کا بلاک سیدھا شامل کی گئی لائنوں کے بلاک کے ساتھ ہو۔ اگر دونوں لائنوں میں بہت کم متن مشترک ہو تو الفاظ کی سطح کی نمایاں کاری چھوڑ دی جاتی ہے کیونکہ یہ پوری لائن کو تبدیل شدہ دکھانے سے زیادہ الجھا دیتی۔
JSON آبجیکٹس کا موازنہ کیسے کروں؟
JSON Diff ٹول استعمال کریں۔ یہ پارس شدہ سٹرکچر کا موازنہ کرتا ہے، اس لیے کیز کی ترتیب اور فارمیٹنگ جھوٹے فرق پیدا نہیں کرتے، اور یہ بالکل وہ پاتھس دکھاتا ہے جو بدلے۔

متعلقہ ٹولز