Jason, good point.
I understand that codebase history is crucial for this feature to be implemented, but adding manual timestamps might be unnecessary. A dependency doesn't usually change its status as a dependency over time, right? What happens more often is that it is simply dropped and replaced by another library.
So what about the following idea:
- Project maintainers specify a list of files or folders (maybe using wildcards) that should be treated by the code parser as dependencies, whether they are still included in the latest revision or they are old dependencies.
- Ohloh determines the portion of code matching this list over time (i.e. every time it checks out the codebase) and calculates the total amount of dependency-related LOC for the codebase history (a 4th category on top of code, comments and blanks)
- Chronological information is then derived by looking at the timespan over which a specific dependency path is matched.
For instance, suppose my project used in the past three different libraries as dependencies. I list all the relevant paths in my project's dependency form:
- /plugins/vendor1/*
- /plugins/vendor2/*
- /plugins/vendor3.inc.php
Ohloh should be able to tell me, just by looking at the matches between the above paths and the project code history that
- plugins/vendor1 was used as a dependency from Jan 2006 to Dec 2006
- plugins/vendor2 was used as a dependency from Dec 2006 to Mar 2007
- plugins/vendor3.inc.php is used as a dependency from Aug 2007
Is this technically possible?
PS the list markup is broken