Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

FWIW, I learned git much faster than I learned svn and cvs, and found it far easier to use and understand the underpinnings of.

Svn in particular was so awkward to port diffs between branches and carry diffs forward in time (git equivalent of rebase) that I built a system of shell scripts around patch files. Instead of creating a branch and committing changes (so painful to create or switch branches in svn), I saved the working state diff as a patch file and reset the working directory whenever I had to switch to a different task. I had a couple of shell scripts, one to save the current diff and reset, and another to apply a diff to the current working tree. And I had a third one to do a three-way merge to resolve conflicts when the tree had been updated since the patch file had been created.

Git is the first SCCS I used that made sense.



Yeah, my SVN mode of operations ended up being multiple checkouts of the repository in directories alongside each other, one for each simultaneous task.


Ditto. Switching between branches in SVN was painful. We would use branches, but it was definitely a necessity to have a few separate instances with the main branches I might have to use pre-loaded. (Also a lot more work just got done in the "trunk" than ideal, just out of expediency.) Git is a huge improvement.


Svk made things a little better. But not much.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: