I've just released a new version of the Repository Handler, the last one
was published more than 2 years (and many commits) ago.
Thanks to the people that have contributed during this time!
The .deb and .tgz files are available at
Remember, if you find a bug please submit it to our bugzilla.
Repository Handler 0.4 ======================
New features and API changes:
- Add cat method to the API to be able to output the content of
any uri for any given revision. Implement the cat method in
cvs, svn and git backends adding tests for all of them too.
- Make get_repository_from_path() work even for deleted paths.
- Make cat() in CVS backend work even for deleted paths.
- Adds -N parameter to CVS checkout command
- Add ls command to list repository files
- Use remote/origin as default revision in Git
- Use -f option in blame command for Git. Show filename in the
original commit. By default filename is shown if there is any
line that came from a file with different name, due to rename
- Add mc parameter to blame method to detect moves and renames
- Make get_uri_for_path() work for non-dir paths
- Add -- to blame command line in Git backend. It makes git find
paths in older revisions that have been renamed, moved or
- Implement diff in Git backend
- Add get_root_dir() private function in Git backend
- Add a new method show() to get the patch of a given revision
- Implement show() both for SVN and Git backends
- The installation method now is setup.py
- Handle runtime errors of CVS and SVN commands. Fixes bug #31.
Command has been changed to allow handling errors during command
execution, instead of always raising CommandRunningError.
- Fix blame method to match parent signature both for CVS and SVN
- Fix blame method to match parent signature for SVN backend
- Fix blame when url contains an '
' for SVN. If the url or' svn fails with a syntax error because
filename contains an '
'@' is the revision separator.
- Avoid the crash in Git when path points to a file in
get_config() and get_repository_from_path()
- Fix log command depending on git version. Since version 1.6.5
--decorate command line option accepts two parameters: short
and full. We need to use the full version which was the default
one before git 1.6.4
- Fix variable name conflict for Git backend. Spotted by Philip
- Fix variable name in cat() for Git backend. Fixes bug #244.
- Fix infinite loop when uri is invalid or doesn't contain / for
- Added how to get it
- Installation instructions
Thanks to all contributors:
- Carlos García Campos
- Jesús M. Gonzalez-Barahon
- Santiago Dueñas
- Philip Makedonski
- Juan F. Gato Luis
More than two years after the 2.0.0 release we are releasing a new
version, it is 2.1.0. It includes a lot of bug fixes provided by you
guys during last 1K days.
Again, thanks to the people that have contributed during this time!
The .deb and .tgz files are available at:
cvsanaly 2.1.0 ================
This is the CVSAnalY which bring together a lot of commits done during
2009, 2010 and 2011.
- Fix --version command line option
- [metrics] Fix file extension extraction from paths
- [metrics] Fix path building in cvs when module is '.'
- Encode strings to utf-8 before writing to stdout/stderr
- Fix prefix branch for paths in multi-paths actions. In SVN it's
possible to copy/move/replace a path from one branch into
another. In this case the action branch is different from the
branch of the second path. This usually happens when creating a
branch: A /branches/foo (from /trunk: 1234)
- Remove leading / from path before querying the cache.
For repositories like git where paths don't start with / we have to
remove the leading / from the built path before inserting in into
the cache, but also before querying the cache
- Fix compatibility in SQL statement LIMIT.
The previous declaration of the LIMIT statement in the class
ICursor is incompatible with Postgresql. However, both SQLite
and MySQL supports the statement LIMIT ... OFFSET which also
- Fix SQL portability issue in view action_files.
The syntax used when the view action_files is created is not
compatible with Postgresql, which requires the clause 'AS' when
an alias is defined. The clause 'AS' is optional in MySQL and
SQLite. Fixes bug #28.
- Add conditional use of args when executing a query.
SQLite cursor's does not handle extra parameters in a query that
does not have paraments. Instead of passing None, it should not
pass any argument at all. Fix Bug #30.
- [git] Fix a crash when there's a commit in a svn tag. Fixes #75
- [cvs] Remove additional trailing \n added to commit messages.
Problem spotted by David Gray.
- Fixes incorrect licence header in most of the files. Fixes #240
- [extensions] Missing self before class attribute. Fixes #248
- Add a flag command line option to ignore errors in metrics
- Add ICursor class to split up queries.
The result of a query is always stored in memory, which means that
queries that return a large amount of data might fill up the
ICursor is a class that uses a real cursor emulating the execute +
fetchmany API, but splitting up the query by using limit, so that
the query is executed with different limit values everytime a
fetchmany is required.
- [extensions] Add Blame extension.
It adds a new table with information about the amount of lines
owned by every author of every file for every revision
- [extensions] Add Patches extension to save diffs of changes.
It adds a new table to store the patch of every commit
- Add a configuration sample file. Fixes bug #27
Performance fixes and improvements:
- Do not save caches to disk on every database commit since it's a
very heavy operation, it is done only once at the end of the
- Paths in different branches are now considered as different
files. That was obvious with SVN because branches are directories,
but in CVS and Git exactly the same path can be in different
- Use cat instead of checkout/update to get the contents of files
in metrics extension. Multiple cat commands can run in parallel
which improves performance quite a lot.
- Proccess finished jobs every 100 jobs to make sure there are jobs
in the done queue and removing the timeout the first time
job_pool.get_next_done is called to make sure we always get a job.
- Update the adjacency matrix sequentially instead of re-create it
for every revision. It drastically improves the performance of the
- Add debug messages to git parser
- [git] Rework git parser to save memory with large repos
- [metrics] Remove unnecessary code
- Add get_filename() to FilePaths to get just the file name of a
- Detect and ignore empty branches in git
- [git] Ignore commits done on svn tags directory. This is a
workaround for a bug in the GNOME Git migration
- DBContentHandler.py refactored
- Do not call DBContentHandler methods until proxy has finished.
DBContentHandler creates a database connection in begin() and
keeps it opened until proxy finishes. For repos with a very long
history it might take a long time until proxy finishes and mysql
resets the connection of the DBContentHandler because of
- Improved Debian files
- Rename ChangeLog to ChangeLog.pre-git and autogenerate it
- Improved README file
Thanks to all contributors:
Jesus M. Gonzalez-Barahona
Carlos Garcia Campos
Juan Francisco Gato Luis
Luis Cañas Díaz
Finally, this project has a public visibility, something that we should have made from the begging.
Now, we hope people could use these semantic/linguistic tools to create his own applications. And of course, improving the functionalities of FLOSSClassifier.
These tools are quite easy to use (but not to install):
from floss_nlp.NLP_Process import NLP_Process NLP = NLP_Process() item0 = '''I saw Richard Stallman and Linus Torvalds filed 30765, which is a GPL_3 license bug and report. The file is license.txt. ''' #item0 = '''I have requested that this list be added"modified by jgato, testing incremental crawling" to gmane as #gmane.linux.ubuntu.devel.discuss. I look forward to reading and #participating in interesting discussions in this list in the future. # #-Matt''' only_topics = NLP.getItemTopics(item0, True) print str (only_topics) only_entities = NLP.getItemEntities(item0, True) print str (only_entities)
Bicho 0.9 has been relesed, download it at http://projects.libresoft.es/projects/bicho/files
- JIRA parser added (jfcogato)
- SourceForge backend refactorized (sduenas)
- Bugzilla backend refactorized (lcanas)
- Incremental support added (jfcogato)
- Database model redesigned (sduenas)
- A lot of bugs fixed
- Man page updated (lcanas)
- Bugs in Debian package fixed (lcanas)
We are happy to announce that the work in Bicho is working well. The version 0.9 will be released in a couple of weeks. We've have stopped to include new features and during June we will fix the latest bugs and test the latest feature included, the incremental support.
You can get the code from our GIT repo at git://git.libresoft.es/git/mailingliststat
- browse code at http://git.libresoft.es/mailingliststat/
- bugs of this tool are being tracked in our bugzilla at http://bugzilla.libresoft.es/
The current code is being reviewed after some months of inactivity for the ALERT project . We are studying how to include support for JIRA and how to merge the changes down by a Brazilian partner to support Mantis.
sduenas said: 'git push origin' done. Versión beta de #blackbird disponible en el repositorio.
We are migrating the Subversion repository at Morfeo's platform to git at libresoft.es, stay tunned!
Also available in: Atom