<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shivangini Gupta</title>
    <description>The latest articles on DEV Community by Shivangini Gupta (@shivangini108).</description>
    <link>https://dev.to/shivangini108</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3842539%2F42cc2ea0-1a4f-4c60-b104-f839dc42d4d4.jpeg</url>
      <title>DEV Community: Shivangini Gupta</title>
      <link>https://dev.to/shivangini108</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivangini108"/>
    <language>en</language>
    <item>
      <title>My Open Source Journey: From 20k Lines of Mess to a Merged PR</title>
      <dc:creator>Shivangini Gupta</dc:creator>
      <pubDate>Wed, 25 Mar 2026 05:35:38 +0000</pubDate>
      <link>https://dev.to/shivangini108/my-open-source-journey-from-20k-lines-of-mess-to-a-merged-pr-53l9</link>
      <guid>https://dev.to/shivangini108/my-open-source-journey-from-20k-lines-of-mess-to-a-merged-pr-53l9</guid>
      <description>&lt;p&gt;I thought contributing to open source would be straightforward. Clone the repo, find a bug, fix it, done.&lt;br&gt;
My first real attempt proved me completely wrong.&lt;br&gt;
I was working on adding 90 realistic bread ingredients to bakerydemo. The data was good — Sourdough Starter, Kalamata Olives, Dark Muscovado Sugar. I ran dumpdata, formatted the fixture, submitted the PR.&lt;br&gt;
The maintainer's response was short.&lt;br&gt;
"There are 20k lines changed in here, so clearly you haven't tried to check what you added?"&lt;br&gt;
PR closed.&lt;br&gt;
I sat with that for a while. Then I actually looked at the diff. Windows had silently changed every single line ending in the entire fixture file — CRLF instead of LF. One setting. 20,000 lines of noise. The ingredient data itself was fine. Nobody could see that through the chaos.&lt;br&gt;
The second attempt&lt;br&gt;
I didn't give up on bakerydemo. I found a different issue — misleading gallery image titles showing "Breads 1", "Breads 2" across the entire gallery page. I traced it through gallery_tags.py all the way down to the fixture file. Found the root cause. This time I edited manually in VS Code instead of using dumpdata. Checked the diff carefully before pushing.&lt;br&gt;
Six lines changed. PR merged.&lt;br&gt;
Same person who got a PR closed for 20k lines got a clean merge two weeks later. The code wasn't the difference. The process was.&lt;br&gt;
&lt;strong&gt;Building the prototype&lt;/strong&gt;&lt;br&gt;
After getting selected as a GSoC applicant for the Demo Website Redesign, I didn't want to just write about what I'd build — I wanted to actually build it first.&lt;br&gt;
So I built a working prototype on PythonAnywhere before writing a single line of my proposal. PersonPage model, pagination, templates — all working. Not perfect. But real.&lt;br&gt;
It changed how I wrote the proposal entirely. Instead of guessing whether my approach would work, I already knew.&lt;br&gt;
What I actually learned&lt;br&gt;
Open source doesn't care about your intentions. A 20,000 line diff looks the same whether you worked hard or didn't. The output is what gets reviewed.&lt;br&gt;
Read the diff before you push. Always.&lt;br&gt;
And if you're going to propose building something — build it first, even badly. You'll write about it completely differently.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devjournal</category>
      <category>git</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
