Version Control At The Function Level

When I can, I version my functions.

 class FooBar:
    def foo(self):
       """ 1.3 fml 2002_04Apr24 """
       self._foobar = ...

I think it is a good idea and would like one day to use a tool that allows me to collaborate with others using a system like this (ie: as opposed to file-based checkins).

One issue I see right now as a barrier is that many languages use files as a base, not functions.

Another issue is the fact that there are other things than functions, such as comments, access control (public:, private:, etc) and datamembers.

This probably goes hand in hand with SourceCodeInDatabase.

See VisualAge.

Can't you already do this with something like GitVersionControl? Git tracks code throughout the project, not on a file basis, and merges are easy enough that it's simple to commit or merge a function or two rather than a whole file. --MarnenLaibowKoser 29 Aug 2011

View edit of August 29, 2011 or FindPage with title or text search