Submitting a Gaia patch

এখন থেকে আপনাকে একটি কোড পরিবর্তন তৈরি করতে হবে এবং ভেরিফাইড করা হয় ইহা যা গায়াকে ভাঙ্গেনা । পরবরতী স্টেপ হল সেন্টার রেপতে আপনার প্যাচ জমা দেয়া ,যা হল অনুচ্ছেদের উদ্দেশ্য ব্যাখা করা।

Patch submission

আপনার প্যাচ গায়াতে জমা দেয়ার জন্যএই স্টেপগুলো অনুসরন করুনঃ

  1. প্রথমে,আপনি বাগযিলাতে একটি বাগ জমা দিন যা আপনি করেছেন,যদি একটি কোড পরিবর্তন দেখানোর জন্য তখনি বর্তমান থাকে।Firefox OS product অধীনে আপনাকে এটা জমা দিতে হবে এবং আপনার কোড কি কাজ করে তার উপরে একটি  সুন্দর বর্ননা দিন।
  2. এখন এটা সময়  create a pull request এর প্যাচের জন্য।যদি আপনি আমাদের গাইড শুরু থেকে অনুসরন করেন,আপনাকে লোকাল ফর্কের গায়া রিপুতে পরিবর্তন আনতে হবে এবং একটি অসাধারন নামের শাখা। পরে  git add .আপনার পরিবর্তন ,তারপরে  git commit -m 'my commit message'.
  3. 'my commit message'এর প্রয়োজন একটি বাগজিলার বাগ নাম্বার বহন করার জন্য এবং বাগের টাইলের জন্য,আরো যোগ করেন আরো তথ্য যা বর্ননা করা হয় প্যাচে ,এবং যে এটা ঘটায় । উদাহরন হিসেবে 
    Bug 9999999 - Fix that annoying bug R=johndoe
  4. গিতাবের উপরে আপনার গায়া ফর্ক পুশ করুন ,তারপরে একটি  PR তৈরি করুন কোডটি  দেয়ার অন্তর্ভুক্তির জন্য।
  5. PR URL যোগ করুন বাগজিলার উপরে Bug হিসেবে সংযুক্তি ঘটাতে ( Add টি অনুসরন করুন একটি সংযুক্তির লিঙ্ক হিসেবে ,বাচাই করুন পেস্ট টেক্সট যদি এটা ফাইলের ইনপুট মোডে থাকে ,এবং  URL প্রবেশ করান PR এর সংযুক্তি হিসেবে ,এবং একটি ছোট বর্ননা দিন )
  6. Bugzilla bugএর PR সংযুক্তিতে ,আপনার প্যাচের জন্য রিভিউয়ারকে বলুন ।আপনার উচিত review: ? flag যোগ করা সংযুক্তির সাথে ,তারপরে আপনার কোড ব্যবহারের মডিউলের মালিকদের যুক্ত করুন ( Module owners page দেখুন আরো বেশি জানার জন্য ।)
  7. রিভিউয়ারের জন্য অপেক্ষা করুন দায়িত্ব অর্পন করার জন্য এবং আপনার প্যাচ রিভিউ করুন। এই সময়ে তারা আপনাকে কিছু প্রশ্ন করবে পরিবর্তন/ ফিক্সিং এর জন্য যা PR এ Github এর ভিতরে হয়ে থাকে ,এবং ,  Bugzilla তে তাদের  লিঙ্ক  করুন ।
  8. রিভিউয়ারের কমেন্টগুলো মনে করুন,তারপরে আবারো একই PR এ আগের মত পরিবর্তন আনুন  review: ? flag এ পৌছে যান ।
  9. একদা রিভিউয়ারের কমেন্ট করে এবং তারা আপনাকে r+ flag দিবে  (মানে এটা পুনরায় দেখা /অনুমোদন করে ),আপনার উচিত  squash all your commits into one (আরো পড়ুন Tips_on_Gaia_Rebasing নিচের সেকশনে).
  10. একটি checkin-needed কিওয়ার্ড যোগ করুন কিওয়ার্ড ক্ষেত্রে।এই ক্ষেত্রে আপনাকে দরকার কারো আসার জন্য অপেক্ষা করা এবং আপনার প্যাচটি  Gaia সোর্চে প্রবেশ করান।
  11. শুভেচ্ছা !আপনার কোডটি এখন Firefox OS এর অংশ!

নোটঃআমাদের প্রতিটি রিভিউয়ের রিকমান্ডেড স্টিকিং করতে হবে।

নোটঃ আরো প্যাচ সাবমিশনের নির্দেশ  contributing.md তে পাওয়া যায় ।

গায়া রিবেসিং এর উপরে টিপস

Theগায়া মাস্টার শাখা সর্বদা পরিবর্তন হতে থাকে (অনেক,অনেক সময় একটি দিনের )।প্যাচ  তৈরি করার পরে ২ ঘন্টা নেন ,আপনি সম্ভবত খুজে পাবেন যে মাস্টার শাখা আপনাকে পরিবর্তন করেছে ।

আপনার ওয়ার্কিং শাখা থেকে  (e.g. my-code-fix), আপনার প্রথম প্রয়াস হল রিবেস করা এটার মত নতুন কিছু খোজাঃ

git checkout -b my-code-fix-r1
git pull --rebase upstream master

যদি কোন বাধা না থাকে ,আপনি এটার মত চালাতে পারেনঃ

git checkout my-code-fix
git pull --rebase upstream master
git branch -D my-code-fix-r1

যদি আপনি বাধা খুজে বের করেন ,ডেভেলপার দায়িত্বপুর্নের সাথে বাধা পরিবর্তন করার জন্য কাজ করেন এবং পুনরায় উপরের প্রক্রিয়া ব্যাখা করার জন্য রিবেস তৈরি করেন ।

স্ট্যাটাস ট্রাকিং বনাম ইঞ্জিনিয়ারিং বাগ

মজিলার একটি বিশেষ নিয়ম আছে যাকে বলে  Sheriff. Sheriffs মার্জিং কোডের চার্জে থাকে এবং শাখার স্ট্যাটাস পরিচালনা করে থাকে ।যেহেতু  Firefox OS দলে আমাদের কম পরিমান সেরিফস স্কাউটিং আছে যারা বিফলতা পরীক্ষা করার জন্য ,ইহা কঠিন শেরিফের জন্য বের হওয়া সকল ত্রুটিপুর্ন প্যাচ বের করা জন্য ।

In Firefox OS therefore, we prefer to open a new bug for landing new patches to fix an issue, if we encounter failure while examining whether a patch works or not. This causes some trouble for tracking status in QA and project management teams.

তাছাড়া ,আমরা বাগ পৃথক করি স্ট্যাটাস ট্রাকিং বাগে এবং ইঞ্জিনিয়ারিং বাগে।

  • একটি  "meta" কিবোর্ড দিয়ে স্ট্যাটাস ট্রাকিং বাগ চিহ্নিত করা উচিত ।একটি স্ট্যাটাস রিওপেন্ড হতে পারে যদি এটি ক্রাইটেরিয়ার স্বীকার করা না মিলে থাকে অথবা বিফল হয়ে থাকে নতুন ভাবে প্রস্তুত করার সময়ে ।
  • একজন ইঞ্জিনিয়ারিং বাগ রিপেন্ড করে যে যদি ইহা কেবলমাত্র অটোমেশন টেস্টিং অথবা প্যাচ সম্পুর্নভাবে কোন কাজ করেনা ।যদি একটি প্যাচ পারসিঅ্যালি ইঞ্জিনিয়ারিং বাগ কাজ করে থাকে তবে আপনাকে উচিত বাগটি ক্লোন করা এবং ব্যবহার করা উচি "see also" ফিল্ড রেফারেন্স দিতে অরিজিনাল বাগের এবং বিফল ক্ষেত্র ব্যাখা করতে।

নোটঃযদি ইহা একটি ইউজার স্টরি বাগ হয়, প্রোজেক্ট ম্যানেজার ইউজার স্টোরি ফিল্ড ইউজার এক্সেপ্টেন্স ।

যদি আপনার স্ট্যাটাস ট্রাকিং বাগের উপরে কোন প্যাচ দুর্ঘটনা বশত হয়ে থাকে তবে তার রিকাভারি

যদি আপনি করে থাকেন তবে ভয় পাবেন না।যদি দুর্ঘটনা বশত করে থাকেন তবে আপনি পাবেন  review+,এবং এটি ট্রাঙ্কের উপরে ,অথবা কোন কিছু ফিক্সিং করার আগে রিপোর্ট  করুন যা আপনার দরকারঃ

  1. Bugzilla UI এর কর্নারের নিচে "Clone this bug" তে চাপুন নতুন একটি বাগ তৈরি করার জন্য , এর ভিতরে অরজিনাল ক্লোনিং করুন।প্লিজ   দেখুন যে হোয়াইটবোর্ড,কিবোর্ড এবং STR/userস্টোরি কপি করা এবং নতুন বাগে পোস্ট  করা ।
  2. পুরাতন বাগকে ব্লক করার জন্য নতুন বাগ সেট করুন । নতুন বাগ হবে নতুন স্ট্যাটাস ট্রাকিং বাগ।
  3. নতুন প্রোজেক্ট ম্যানেজারকে ইনফো ফ্লাগ ব্যবহার করে জানাতে হবে যে বাগ ট্রাক পরিবর্তন হয়েছে আপনি আমাদের  wiki তে পেতে পারেন  find e-mail addresses for the different project managers on Firefox OS  ।
  4. বিফল স্টেপ অথবা নতুন ক্রিটেরিয়া ব্যাখা করার জন্য নতুন একজন ইঞ্জিনিয়ার তৈরি করুন ।আরো ,স্ট্যাটাস ট্রাকিং বাগ ব্লক করার জন্য নতুন বাগ ব্যবহার করুন ।
  5. নতুন বাগের জন্য একটি ফিক্স চেষ্টা করুন।  Happy hacking!!!

Uplifting প্যাচেস পুরাতন শাখায়

আপনি বাগের বিভিন্ন ভার্সনে বিভিন্ন ট্যাগ দেখতে পারেন ।যদি  Firefox OS এর পুরাতন শাখায় প্যাচেস উঠাতে চান ,চেক করুন যে তার সম্পুর্ন ভাবে নিয়ম প্যাচ করে থাকে ,আমাদের এর উপরে আরো  বিস্তারির জানুন  B2G Landing page এর উপরে আরো  বিস্তারির জানুন

ডকুমেন্ট ট্যাগ এবং অবদানকারী

 Contributors to this page: chrisdavidmills, Bristy
 সর্বশেষ হালনাগাদ করেছেন: chrisdavidmills,