The One True Stage Re: Xcode - AN APPLE OPPORTUNITY!
The One True Stage Re: Xcode - AN APPLE OPPORTUNITY!
- Subject: The One True Stage Re: Xcode - AN APPLE OPPORTUNITY!
- From: Fritz Anderson <email@hidden>
- Date: Sat, 03 Mar 2012 22:44:15 -0600
On 3 Mar 2012, at 7:07 PM, Matt Neuburg wrote:
> Agreed. A simpler case: Create a new file in the project; Xcode automatically adds it to the git staged index. This is wrong. The whole point of the way git works is that I get to decide what gets staged (to go into the next commit). I have to quit Xcode and do a git reset, so that I can construct the staged index the way *I* want it.
The Xcode UI, having to front for both Git and Subversion, follows a unified conceptual model that is identical to neither. Some might believe that Xcode should variegate its UI for each — which would yield many hours of amusement when you try to commit from a workspace that encompasses working directories for both — but that's not the choice made for Xcode 4, and I don't think the choice of a unified UI is unreasonable.
I had to experiment to see if files badged as "A" were actually staged in Git repositories. It happens that they are, but under Xcode's model, they wouldn't _have_ to be. Xcode could withhold the staging until commit time, and still have the same UI. In fact, it might be _better_ to withhold staging, because when you commit through Xcode, the file that is committed is not as last (apparently) staged, but as of the moment of the commit.
The Xcode-level model is that "A" files are included in the list of candidates for a commit, and by default they are marked with checks in the commit sheet. You are free to uncheck them, and they will be withheld from the commit.
That's not the One True Model you have in mind,* but you do, in fact, "get to decide what gets ... to go into the next commit."
I'm curious. New files _have_ to appear in the commit sheet. How do you propose that users (I bet most of them) who want to commit new files get the files into the sheet, _and_ users who don't want to commit new files don't see them in the sheet? I can think of ways to do it, such as requiring an explicit add in the Project navigator, but I'm not sure that isn't more error-prone for the usual case.
There is an argument to be made that users who either have only one system's native model in mind, or who can infallibly switch between both, should not have to learn a second/third one for Xcode. That's an argument for letting people stop Xcode from intervening in their private version management. The File > Workspace Settings… sheet could use a couple more things to do. (Seriously.)
— F
* (And I could introduce you to someone whose One True Model derives from Subversion. Duke it out amongst yourselves until you come up with a UI that fits both.)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden