Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
User Journal

Journal Qzukk's Journal: Today's two minutes of hate

git, a love/hate relationship. Right now, hating really really hard.

You can do all sorts of incredible things with it, but there's so much that seems obvious I ought to be able to do, but just can't see how.

Case in point: git rebase. This is an incredibly powerful tool that lets you take changes and apply them to a different branch, one at a time very rapidly (if there are no conflicts). If a conflict arises, the process pauses, tells you where it died, lets you fix it, then you git rebase --continue. EXCEPT you get half of the first line of the commit message (despite being on a 128 column terminal it cuts off at 80) and no hash or any other way (I can find) to look up the complete description of the current commit being fixed (other than aborting the whole thing, going through the complete log to find the commit starting with whatever message then starting again (rerere makes this not painful, just annoying)). Oh, and if you used a branch name, that branch name is MOVED to the new location.

Other case in point: git merge. This is an incredibly powerful tool that throws everything together all at once and lets you deal with the aftermath. Conflicts, conflicts everywhere and no explanation of what the code is supposed to be doing. Fortunately, someone made a git-merge-like-rebase script that creates a temporary branch, rebases it to the target, then deletes the temporary branch leaving you with the original branch where it was (like merge) but applying one commit at a time (like rebase).

Still, I just took 2 hours of work doing something that would have taken 2 days in CVS, thanks to git rebase (rolling out a new version of our code for one of our customers with a heavily customized application. Rebased their custom branch onto our new release branch, fixed all the conflicts where they want customers sorted firstname lastname or blinking red lights or whatever and done). Probably could have done it in 1:30 if I didn't have to go back through the log to figure out how to fix "Change order of fields so that customer rep appears before ". I'm working in more and more tricks to reduce conflicts every upgrade so hopefully I'll have it down to less than an hour soon.

So now I love it again.

This discussion has been archived. No new comments can be posted.

Today's two minutes of hate

Comments Filter:

The rule on staying alive as a program manager is to give 'em a number or give 'em a date, but never give 'em both at once.

Working...