Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Want Git Preinstalled On The Next OS X? (github.com/blog)
45 points by thedob on Jan 29, 2009 | hide | past | favorite | 40 comments


Not really. For one thing, the default version of git would quickly become outdated, and could potentially cause confusion with a user-installed version.

What Apple should really do is build a proper package management system. IMHO, that is a fundamental part of a modern operating system, especially one designed for use with F/OSS software.


The engineering effort required is too far outside their business focus. They've got a very basic one, but nothing in terms of what modern Linuxers are used to. They've blessed macports as their preferred one, which does a reasonable job.

As far as I've seen, apple will include the latest stable version of a tool per major upgrade (e.g. tiger, leopard, etc.). They'll keep it the same version until the next major one, without touching point releases. In terms of the principle of least surprises, it's actually the way I'd prefer.

The other post's advice for .bashrc is very good, it's what I do.


The engineering effort required is too far outside their business focus.

Then they should stop claiming that OSX is suitable for use as a server OS.


Muahahaha, that's just an inside joke :-)

Seriously, apple only cares enough about servers/etc to have a complete solution for their other markets, such as small business & education.


Why not just adopt .deb and apt?


Same response to macports below: Not-Invented-Here syndrome.

I suspect they've got the same problem others do: a case of NIH, without the resources to invent it themselves.

Ugh.


FWIW, macports is linked to from http://macosforge.org/ - which is open source stuff hosted by Apple and worked on by Apple engineers for the most part.


Apple actually had one of the old-time Debian guys, Klee Dienes, for a number of years, starting way back in 1997. I guess he wasn't successful in convincing them to do things properly.


They should strip out their custom builds and have macports pre-installed.


It is possible to update the $PATH to grab from /usr/local/bin/* (user stuff land) before /usr/bin/* (system stuff land). If you're comfortable using command line to manage code, editing the ~/.bashrc shouldn't be too difficult to manage.


Yeah, obviously. But the point is that if the presupplied git quickly becomes out of date, what's the point in Apple shipping it and it taking up disk space? The Apple-supplied versions of other OSS packages (e.g. Ruby) don't exactly set a good precedent.


How often is there a new feature and not just a bugfix in git? Honest question as I don't use git.

And does git really use up that much space to be an issue? I imagine the problem is just conflicting binaries/libraries which can be fixed pretty easily in .bashrc...


Can I go with, "no"? The preinstalled Ruby and Python images on OS X have been debacles, and I've had to do custom SVN builds as well.


But I bet many novice developers have been exposed to Ruby and Python (and SVN) because they shipped with OS X. Let's let newcomers use git without a custom install, and maybe it will lead to more widespread adoption.

You don't need the latest version of git for init, clone, add, commit, push, and pull to work.


Even "novice developers" are able to:

  1. download macports
  2. double click an installer and click next a few times
  3. type 'sudo port install git-core'


Macports is better than nothing, but not by much. I admit it's a real blessing when it comes to something complex with a lot of dependencies - if it works, but a lot of the time it's more trouble than it's worth.

I've personally seen it delete the data during a postgres update, and it regularly runs roughshod over config files, etc. It screws up installs all the time, which can be a nasty surprise since it doesn't clean up after itself properly (this happened to me when it put a non-functioning ssh in my path, leading to a bit of panic when I suddenly needed it urgently). It can't clean up obsolete, well, anything without the "force" option, spewing spurious warnings all over the place .. except when it turns out they weren't spurious and you find out it deleted something critical. It's slow as hell to list what you do have installed. The maintainers are sloppy and non-working packages sit in the repos for weeks at a time (hello, Erlang).

Like I said, it's better than nothing, but I don't think anyone should use macports for anything that could conceivably store any data you care about. You will probably need to nuke /opt and re-build everything from scratch periodically, so make good and sure there's nothing in there that you care about. However, if you use it with caution and bear in mind the necessity of a periodic rebuild, it can be a big help.


I would vastly prefer a built-in package manager and fewer preinstalled packages.


  wget http://kernel.org/pub/software/scm/git/git-1.6.1.2.tar.gz
  ./configure
  make
  sudo make install
Isn't much harder, either. I guess I forgot about

  tar xfz git<Tab>
  cd git<Tab>


Personally, I've had more trouble with macports than necessary. (Mostly because whenever I type 'port', I still get command not found.) It's much easier just to download the source, ./configure, make, and sudo make install.


How can you know how to do custom builds and not know how to fix your $PATH? ;)

  $ mate ~/.profile
  # add "/opt/local/bin:/opt/local/sbin:" to beginning of "export PATH"
  save
Now force a reload (eg. open a new terminal) and done ...


Thats because macports installs itself to /opt/* which isn't in your $PATH. Easy to fix. But macports still causes more problems then its worth. So does fink for that matter.


What problems? Package dependency problems? The worse that I've had happen is having to deal with broken packages. The amount of times I haven't had to deal with figuring out dependencies makes it more then worthwhile, IMHO.


Inconsistent library versions when compiling programs. Hacks that can break very easily to detect system libraries.


No thanks, I want my skillset to be rare, not commoditized.


Please go work in some other industry.


Already am, Linux admin now. Coding jobs are hard to find yo'.

Which goes back to my point.

I can't code if everyone else is doing it in place of me. :P


How about including it with Xcode, then?


That would solve the problem of conflicting distributions exactly not-at-all.


It would be at least straightforward to upgrade to the latest version. I haven't had any problems with OS X gcc.


In my whole career I've upgraded gcc (on purpose) once.

I rebuild Python and Ruby every other month.


Git has a very nice and very simple installer on OS X: http://code.google.com/p/git-osx-installer/

You don't need to muck with macports or anything.


Not particularly.

Maybe with an install of Xcode. But it has absolutely no purpose whatsoever being installed by default.


CVS and SVN are installed by default. So are Python and Ruby.


CVS is installed with Xcode as far as I can tell; Its in the iPhone SDK download (open the iPhone SDK.pkg up in Pacifist and look under DeveloperToolsCLI.pkg/usr/bin/).

Though I'm surprised OS X ships with SVN by default. FWIW, the version of SVN that ships is 1.4.4 (and it still hasn't been updated as of 10.5.6 or iPhone SDK for 2.2.1.

And Python.framework and Ruby.framework are installed to let you run other programs people write. Same reason you have Java, Tcl/Tk and all the ObjC/Cocoa frameworks. Having the frameworks != writing code.


They only ship one JVM, and it's a JDK. OS X ships with javac et. al.


Why not just include macports?


What they install are require for applications to run. If they don't need it then they don't put it on it's as simple as that.


Would be much nicer if MacPorts was preinstalled so that everyone can install and update their packages as needed.


I have a PPC powerbook and I'd much rather have a more recent Java then something like git which I can easily manage myself. But then the point is moot because if current rumors are true I probably won't be able to run 10.6 anyways.


Not really... but awwwwe @#$% it, throw it in there ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: