8

I have a large codebase, where almost every single file isn't aligned properly, has bad spacing between variables or methods, or just generally ugly code.

I'd like to make it better as I work with it, but fixing things like indentation makes the commit history pretty ugly.

I'm not talking about small indentation issues where a line is one space off, I'm talking about something like

 class Xyz
def foo
end

   def bar
  @something
end
   end

What's a good way to clean up code like this, while keeping my history relevant? Should I just auto-align everything at once and do one huge commit?

KL-7
  • 46,000
  • 9
  • 87
  • 74
Jakub Arnold
  • 85,596
  • 89
  • 230
  • 327

2 Answers2

9

I would fix all this in a separate (local) branch. Once I'm ready I would make a "squash merge"

git checkout -b cleanup develop
# Do some cleanup, do some commits and so on
git checkout develop
git merge --squash cleanup 
git commit -m "My Cleanup"
git branch -D cleanup

This way I would get a "huge commit" with this changes, but I would not trust any auto-formatter (at least not completely) and I have not to do it on one day, or completely without any commit until merging.

KingCrunch
  • 128,817
  • 21
  • 151
  • 173
1

You could do the clean up in a separate branch and when done merge it back into the main branch.

This gives you time to clean up and you do not have to edit history (something I never do)

Emond
  • 50,210
  • 11
  • 84
  • 115