Besides my migration activities to jgit and add ons I would also like to solve another "issue". Currently the "git" node is presented as File node with the name /index in the browser. I would prefer a node with the name of the git repository, e.g., "jqassistant-plugins" instead. There is no internal concept in git about a project name, so we have to use the "basename" of "dirname" of the URL/file path, i.e., the xxx from .../xxx/.git. I have prepared a fix
https://github.com/ascheman/jqassistant-plugins/tree/fix/git-project-name, which does set that name.
But there are two problems open:
- The name of the node in the neo4j browser is it's "fileName" attribute. I would rather see it's name presented. So this is more a general neo4j question: How can I define the selected attribute in a programmatic way? I found something about node "caption" but could not figure out how to implement this.
- I would like to get rid of the inheritance of the FileDescriptor inheritance for "GitDescriptor". Yes, currently it is read/scanned from the file system and is bound to the file system here. But in the future it could also be implemented by a remote scanner. So it is not necesserarily bound to a FileDescriptor node. I would rather like to set a relationship from the ".../xxx/.git" (or .../xxx.git) FileDescriptor to the Git root object if it was scanned from the file system (which is currently already there) and provide a similar link in the future if the Git project was loaded from some remote URL.