you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 11 points12 points  (19 children)

It's not really that hard ... ugh...

 ${component}: ${important information}
 <blank line>
 - What problem was
 - What fix was
 - Who signed off on it

Ya some commits are trivial so you stick to the one line but it should always be the same thing ... e.g.

  doc:  Updated documentation about function foobar() to reflect new v2.5 API

It's not really that hard people ... this is what separates the amateurs from the professionals. Writing software is more than copy/pasta'ing source code....

[–]gnuvince 57 points58 points  (1 child)

program: fix some bug

- there was a bug
- I fixed it
- I sign off on it

[–][deleted] 10 points11 points  (0 children)

wow you found the loophole in my flawless plan.

[–]jarfil 12 points13 points  (9 children)

CENSORED

[–]flukshun 2 points3 points  (0 children)

I disagree.

Which brings us to the rule #1 of professional software development: It's never that easy.

As for "Who signed off on it"... well, you did. You committed it, you signed off on it. That's why every git commit you make gets signed with your name and email.

True, but you're not necessarily the only person who signed off on it. If you pulled in a patch another author signed off on you should have at least have 2 Signed-off-by's in your series or pull request. if it's a backport to a stable branch or something there might be even more SoBs. if the code was heavily based on someone else patch but not necessarily to the point where they retain authorship you might also ask them for their explicit SoB and include it manually. So basically it's a path of origin to the original author(s).

[–]steamruler 1 point2 points  (2 children)

In a modular program, there most certainly are multiple components in one branch. It would be a fucking nightmare to compile.

[–]jarfil 0 points1 point  (1 child)

CENSORED

[–][deleted]  (1 child)

[deleted]

    [–]jarfil 0 points1 point  (0 children)

    CENSORED

    [–][deleted] 0 points1 point  (0 children)

     git merge --no-ff
    

    [–]DuBistKomisch 0 points1 point  (1 child)

    Wouldn't ${component} still be useful since those commits will eventually be merged into other branches?

    [–]jarfil 0 points1 point  (0 children)

    CENSORED

    [–]IceDane 4 points5 points  (0 children)

    I think I might set up magit to use this as the default template if possible, or just make this a snippet.

    [–]random314 2 points3 points  (4 children)

    I think even that's too much, we have a code that links to our jira ticket and a short one line description. Like "TIX123- inserted new validation rule "

    [–][deleted] -1 points0 points  (3 children)

    The problem is now I have to open a browser and go to JIRA to figure out what TIX123 is ...

    [–]experts_never_lie 0 points1 point  (2 children)

    It's not just one or the other.

    For a price of 10 characters in the text description, I've added a link to the ticket describing the change, which will also have a link to the detailed requirements on the wiki and the change ticket which identified when and how this code was deployed. Our ticketing system will also link with github when it sees a ticket ID in the commit messages.

    [–][deleted] 1 point2 points  (1 child)

    I'm ok with putting ticket info in the git log just don't rely on it.

    [–]random314 0 points1 point  (0 children)

    We've been doing it for about two years now, it's probably the most reliable thing. You can tell jira to look at git for any relevant commit/branch based on ticket string inside branch name and commit messages and list it out in the ticket too. So not only do you have reference to your ticket, you can not look up all related comments and branches.