@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