Well said. When I talk to people at conferences and whatnot about GitHub, they're often surprised we run a core git stack with few modifications. Repositories are stored as plain old git repositories and we use git's normal command line interface for many types of operations.
It really is a testament to git's design (and I think maybe classically designed UNIX programs in general) that we've been able to do so much on the server with something designed mostly for local command line interaction.
People still talk about git's "lack of extensibility" (i.e., no library / you can't write extension programs in Python) but I've found that the "write programs that do one thing" model lends itself extremely well to all kinds of unplanned and novel uses.
Comments
Well said. When I talk to people at conferences and whatnot about GitHub, they're often surprised we run a core git stack with few modifications. Repositories are stored as plain old git repositories and we use git's normal command line interface for many types of operations.
It really is a testament to git's design (and I think maybe classically designed UNIX programs in general) that we've been able to do so much on the server with something designed mostly for local command line interaction.
People still talk about git's "lack of extensibility" (i.e., no library / you can't write extension programs in Python) but I've found that the "write programs that do one thing" model lends itself extremely well to all kinds of unplanned and novel uses.