@Blair-

  I started on a C64 then C128D where I learned CP/M on it's z80 processor.  
Then on to the Amiga with it's CLI and a lot of AREXX scripting using memacs.  
Got into emulators and essentially learned MSDOS and Win 3.1 on a VM running on 
a 68040.  Switched to PC's ( 3.1/NT3.51 and beyond) and learned shell scripting 
on BSD, Slackware, DGUX, Solaris, HPOS and others.  Learned ANSI C on Solaris 
with nothing but vi and CC.  I'm comfortable with command prompts... :-)

That said, you'll have to rip VS and Votive out of my cold, dead hands.

Chris

----------------------------------------
 From: "Blair Murri" <os...@live.com>
Sent: Sunday, November 17, 2013 9:00 PM
To: "WiX toolset developer mailing list" <wix-devs@lists.sourceforge.net>
Subject: Re: [WiX-devs] Useless, stupid rant

  Jacob,

I've used quite a few different VCS over the years and for the most part git 
and Hg work very similarly to each other. The ease of branching is extremely 
similar, both support basically the very same feature sets (minor variations in 
one supporting this and the other that, neither set critical for me), and 
conceptually they operate almost identically. The biggest difference 
under-the-covers between the two is that Hg tracks files (even across renames, 
splits, joins, moves, and branches) which IMHO makes it easier (and safer) to 
transport changes from one branch to another when those branches diverge (I 
used that feature of Hg to maintain a port of a large third party library that 
I was porting over to WinRT while still maintaining the previous iOS and 
Android ports used in production the same way) while git tracks entire "change 
sets", not individual file changes. That difference may be significant for 
maintaining code fixes in 3.x into master/4.x, but it isn't significant for me 
or my work in WiX, especially as 4.x continues to refactor.

What set me off is that I typed a couple of command lines to git to start from 
wix39 to create a new branch to work on a bug I have assigned (and I'm pretty 
certain that I typed them correctly as I've done it several times before), then 
I proceeded to make the changes, build them, test them, submit them, then when 
I went to push the new branch, I find out that I was not in that new branch (I 
had just done all that work in the wix39 branch, not the bug branch). I looked 
back at the commands I used and still don't see what went wrong, but the first 
indication that something wasn't right was actually the output from the commit 
which I ignored) right before the push of the new branch (that none of my 
changes were in).

I fixed it easily enough (had to once again do an internet search to find the 
command line to uncommit/soft reset so that I wouldn't loose my work) and then 
stash/change branch/stash pop in order to commit my work in the branch I wanted 
it in all along, and knowing that this has happened to me several times with 
git since I started using it, and I don't recall it ever happened to me when 
using the exact same workflow with Hg, and adding to that the current stress 
from deadlines at the day job/house remodel/bills/family/etc. going on, I just 
felt that my productivity tools shouldn't put me through such an unnecessary 
burden.

git is increasingly perceived by this user as much less reliable/less ready for 
primetime than Hg. All DVCS require some different terminology than the 
server-based VCS most of us have used for decades, but one of the impediments 
of git is that it has redefined more operations than anyone else (including all 
the other DVCS I have looked at) for no perceptible gain in user productivity, 
requiring more frequent access to the manual than I've had to do with any other 
VCS in my experience.

People who's only experience with DVCS has been git don't seem to have quite 
the experience I've had with it. I don't know, maybe the axiom "you can't teach 
an old dog new tricks" applies to some extent, but this shouldn't be this hard. 
It isn't conceptual, it's git's own terminology/command-line names, that are 
slowing me down, and its tendency to be almost verbose enough to tell me what I 
need to know to not mess things up when it didn't do what I thought I just told 
it to do, that I keep tripping over.

Don't worry about me, with a couple more years of cursing it, I'm certain that 
I'll finally get it right, but I'm not enjoying the journey as much as I did 
when I was first introduced to DVCS as a concept and implementation. Hg was a 
dream to use for me compared to TFS, SVN, Perforce, CVS, Visual SourceSafe, and 
any of a myriad of other VCS I've used over the years. It just feels like git 
is a step down in daily use compared to Hg (though not as bad as all those 
others).

For everyone, my workflow under both Hg and git is as follows (same workflow 
for both DVCS, obviously command-lines differ):

1. Update my local "base" branch (now wix39 or master, depending on the 
bug/feature I'm investigating) from the latest sources.
2. Branch that "base" branch to the "issue" branch (in my case, I name my 
branches as <issue-type><issue-number>)
3. Work my issue (design, code, test, iterate). Some issues take some time, so 
I go back to 1 and repeat with other new branches for other issues I'm 
simultaneously working, unless the resolution for one issue depends on another.
4. Update my "base" branch again. Merge changes in "base" into "issue", 
rebuild, retest, push "issue" to fork and request pull.
5a. If pull is accepted, I (usually) delete the "issue" branch on both local 
and remote.
5b. If pull is rejected, I loop back to 3, repeat 4, etc.

That allows me to maintain my fork's "base" branches in concert with the 
official line thus allowing me to work on any number of issues separately and 
simultaneously. With both tools switching from one issue branch to another is a 
breeze, total disk space is not unduly inflated (there's basically just one 
compressed copy of everything and just one uncompressed copy of just the one 
"active" branch at any given time), and branch switching is much quicker than 
any server-based VCS could ever be.

So, yes, git is getting the job done (as Hg was before it), but it is a huge 
hassle when it/I mess things up. With Hg, recovery from messing things up was 
always easier and more obvious without having to resort to searching three 
different websites/search engines each and every time (yes, I had the same 
learning curve with Hg, but recovery was always easier).

-Blair

P.S. @Chris: When I'm at one site and have to use server-based VCS I prefer 
perforce and tfs, but for disconnected operation (like I usually end up doing 
for the Toolset), I need DVCS (and actually prefer it at all times). Ás you may 
recall from previous conversations with me: I'm a command-line guy much more 
than a GUI guy (GUIs are limited to editing and diffing/merging, everything 
else tends to be command-line for me), probably owing to my computer use back 
in the '70s and both MSDOS and UNIX use in the '80s), where I have never been 
completely proficient with a mouse poking buttons (then again, I am the dork 
that still can't win at Halo or for that matter sink the ball into the hoop in 
the majority of my shots, so (lack of) hand-eye coordination is probably a 
possible cause of my preference for command-line). I also don't use Visual 
Studio's IDE very much, so that probably has a lot to do with it as well.


----------------------------------------
 From: jacob.hoo...@greenheck.com
To: wix-devs@lists.sourceforge.net
Date: Fri, 15 Nov 2013 18:42:16 +0000
Subject: Re: [WiX-devs] Useless, stupid rant

   Blair,   It would help if you were to provide more details on why you got so 
frustrated. I switched to git over two years ago, and compared to our previous 
version control I'm nothing but ecstatic for git. I'm betting the HG experience 
has you thinking the VCS should work one why, when in fact it works another. 
Sharing experiences here could lead to answers that others may need in the 
future in order to contribute to WIX.   Thanks, Jacob     From: Blair Murri 
[mailto:os...@live.com]
 Sent: Friday, November 15, 2013 11:13 AM
 To: wix-devs@lists.sourceforge.net
 Subject: [WiX-devs] Useless, stupid rant      Sorry for sharing here, but in 
my experience living with both Hg with git, git's solitary redeeming quality is 
its speed, but for me that doesn't come anywhere near to making up for the 
utter aggravation that damn tool puts me through way too often.

 It may be winning the DVCS wars, but that win is political, not technical.

 Thanks for letting me dump. Now, back to real, useful, work.
------------------------------------------------------------------------------ 
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, 
Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app 
hosting. Or install the open source package on any LAMP server. Sign up and see 
examples for AngularJS, jQuery, Sencha Touch and Native! 
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________ WiX-devs mailing list 
WiX-devs@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/wix-devs
------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to