On Fri, Apr 23, 2010 at 3:17 PM, Goswin von Brederlow <goswin-v-b@xxxxxx> wrote: > Wincent Colaiuta <win@xxxxxxxxxxx> writes: >> El 23/04/2010, a las 11:03, Goswin von Brederlow escribió: >> And in the event that the changes you want aren't accepted, you're free to either fork the tool or pick another one which does conform better to your expectations. > > But you are already rejecting it in the design phase before there even > is a patch. This is common in open-source. If you come to the mailing list talking about a feature, without a patch, the maintainers let you know how likely they are to want to write or maintain that feature. You haven't given them a patch they could trivially merge in, so it reads as if you're asking them to write the feature. Why write a feature that they would never use? Writing it yourself is one way to get a feature included that the maintainers wouldn't use themselves. But you have to realize that they're still thinking about having to maintain that feature. Every new feature adds work to them, making sure that their future work does not break it. There will be some features that are just deemed not worth that effort by the people that control the official repository. This is why forking is sometimes (rarely, but sometimes) acceptable. >> In the present case experience has shown that the index and the way it can be exploited are an incredibly useful thing. Not only that, it's a differentiating feature of Git and it sets it apart from other SCMs, in a good way. We could mindlessly homogenize to be more like other systems, or less "surprising" for users coming from other systems, but we'd be throwing away something valuable in the process. > > If I would ask to disable the indexing feature then you would have a > point. But I am not. I'm asking to add something that allows to use git > in a less "surprising" mode that, with the --a-if-empty option, does not > alter anything else. Git would still have all its great, big, shiny, > differentiating features to set it apart from other SCMs without forcing > them down the users throat. Nothing is being forced down anyones throat by Git. Git doesn't somehow force you to use Git from here into eternity. You state later that you *have* to use many different systems. But it's not Git that forces you to do so. > I personaly have to work with different SCMs every day and every time I > have to switch minds to work with each specific one. Making git commit > work less surprising would be one less thing to keep in mind. This sounds to me like you should try to simplify your setup. I know that sometime it's not possible, but you're fighting an unwinnable battle. If you're truly using that many different systems with overlapping functionality you are destined to be confused. Period. Most SCMs now do a good job of migrating data and in some cases (git svn, for instance) sharing data on an ongoing basis. There are also tools around that handle multiple SCMs behind one consistent interface. > You like that Git is different so don't use the --a-if-empty option. You > will have lost nothing by allowing that option in. So far I have read > arguments from people saying they don't want to USE the option. But no > arguments why there could not be such an option. And I'm not the only > one that would welcome such an option. Is there no room for a compromise? I'm not one of the maintainers, so maybe I'm speaking out of turn, but as I pointed out above, they are losing something for letting in options. They will have entered into an implied contract with their users to keep that feature working in the future, putting a burden on future development efforts. This is not without cost. Daniel http://www.doomstick.com -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html