Hi there,
On 5/26/2016 2:19 PM, Mark Murphy/STAR BASE Consulting Inc. wrote:
In Git, you enter a comment for each commit.
[SNIP]
I completely agree with that Mark is saying here.  I would also say that 
anyone who things they're "losing" something by losing the line-by-line 
source dates has clearly never worked with a source version control 
system like git (or mercurial, subversion, CVS, etc).  Believe me, you 
have all that information and 1000 times more.
And to whomever said they use the columns 1-5 to put "marks"...  you 
don't actually lose those columns when you convert to a stream file, 
they are still there and you can still use them.  I personally don't 
like that technique, and wouldn't use them myself, I think there are 
much better ways to do things, but that's still there if you want it.
One thing I do want to clarify in Mark's post that I'm replying to, 
though...  when he says "you enter a comment for each commit", he is NOT 
referring to a comment that goes inside your source code.  It's just a 
log entry that git maintains that tells you all of the changes made to 
the source, so you can examine the log and the "comment" (using the 
English word rather than the programming term "comment") will say 
something like 'Fixed the problem where the program would crash with an 
array index error when loading more than 7000 skus'  (or whatever the 
reason for the change was)  Then if you ask git to tell you what was 
changed, it'll show you precisely what lines were changed and how.
It will also let you see changes made across many sources.  So you might 
add a log entry like "changed the way sales taxes are calculated for 
2016" and it might show changes across 30 different source members all 
relating to that one change, if appropriate.
At any point, you can roll things back to the way they used to be at any 
given time and run that level of code.  And git has a great tool called 
'bisect' that can be used to search for which change caused a bug, so if 
you find a bug, but you knew it worked in April, you can tell git "I 
knew this was good on April 10th" and it'll show you that code and let 
you test it, and "I know this is broken on May 26th" and it'll show you 
that code and let you test it, and then it'll give you all of the 
changes made in between (by using a binary tree search algorithm) in the 
most efficient way to determine exactly which change broke your code.
When working on a team of many programmers (as I do) you frequently have 
multiple people working on the same progams at the same time.  Git (and 
similar tools) make it easy to merge those changes together.  They also 
make it much easier to deal with loads of changes happening all the time.
And it's FREE.
Sorry, but... the source dates on the right-hand side, and the marks in 
columns 1-5 just don't cut it anymore.
The fancy commercial tools like Arcad, PTC, Aldon, Softlanding, Midrange 
Dynamics, etc all do this stuff as well, and they also have the 
databases of stuff like build instructions, dependencies, etc that takes 
it even a step further.  But if you're not going to use those things, 
then please at least given the open source stuff a chance.
Git right now is the most popular.  (Subversion is considered passe 
today.  CVS is considered very old school and outdated.  Some people 
would argue the benefits of stuff like Mercurial vs Git...  But git is 
really the leader today.)
-SK
As an Amazon Associate we earn from qualifying purchases.