Git local server configuration

Issue #52 resolved
Dave Savage created an issue

Hi,

It seems that the only to configure the plugin is giving it a URL of a repository and the plugin will clone it.

The issue is that it will duplicate our git server. Is there a way to configure the git repository by using a mounted read-only network drive straight to the repository?

Comments (27)

  1. Tomas Theunissen

    Hey Dave, great question. The add-on is build in a way so that it will always clone the repository, even if we would allow a file path to be set instead of an URL (it would then clone from this path). I think it would technically be possible to change the code, but I also think we would run into some new issues.

    I assume to main reason for pointing to a mounted network share is that the cloned repositories on the Confluence server take up a lot of space?

    A side question, are you using a plain Git server or a tool like Atlassian Bitbucket Server (formally Atlassian Stash)?

  2. Dave Savage reporter

    Indeed, a lot of cloned repositories take a lot of space each. We are using a Gitorious server (not the online one though, en enterprise version).

  3. Tomas Theunissen

    The reason I asked, is because we had some idea's of making integration with Git server tools easier. For example Bitbucket server has API's with which we can query it and get back content from a specific file in a Git repo. This would eliminate the need to clone the Git repository. Do you know if Gitorious server has an API like that?

  4. Dave Savage reporter

    I think it does, but what it seems that other tools are doing instead is using the repository-name.git directory direct access. That repository content is exactly like the .git repository inside a cloned repository.

  5. Tomas Theunissen

    The mean reason we had for using direct API's was that it would make configuring a repository in the add-on a lot easier. The fact that we would not need to clone the repo anymore would be an added benefit.

    Anyway, I will have to discuss the direct access to the repository with my team and see what they think about it.

  6. Dave Savage reporter

    Ok, keep me posted!

    FYI, one of the tools I was referring to is review board and here's an image of the configuration required for a repository to work. Hopefully it will be usefull info.

    rb-config.png

  7. Tomas Theunissen

    Hi Dave,

    Sorry for the late reply. I discussed this with the team and we think we might have a solution. We have planned some time next Friday to do a simple implementation to check our assumptions. Based on this we can make an definitive decision on if we want to release it. I will get back to you on Friday.

  8. Tomas Theunissen

    Hi @dave_savage,

    We made a POC today and we got local (file based) repositories working. The implementation needs some cleaning up, but we expect to have a release with this feature next week.

  9. Tomas Theunissen

    Hi @dave_savage,

    We ran into some unexpected issues with the code during the cleanup. So it's taking a bit longer to release than I expected. I hope we can still finish it this week, else it will be in the beginning of next week.

    Sorry for the wait. Also let me know if you need a new evaluation license.

  10. Tomas Theunissen

    Hi @dave_savage,

    I have attached a SNAPSHOT build which adds the ability to point to local Git repositories. After installation it will create a special new Git server in the add-on, called 'Local server'. You can add repositories as normal to this server, but you will have to supply the full path to the repository on disk. We recommend that you point to 'bare' Git repositories (if this is not possible, please let us know). Also the current implementation does not support clustered Confluence environments (let me know if you are running a clustered environment).

    We are happy to hear your feedback on this feature. If everything works as expected we will release it Friday (with updated documentation),

  11. Dave Savage reporter

    Hi Tomas,

    Thank you, for the snapshot. I will try it today. I need a new evaluation license, though.

  12. Dave Savage reporter

    Plugin was installed but when I try to configure it, it always stays in the page loading mode.

    Version: 2.0.0-SNAPSHOT Vendor: Avisi BV Add-on key: nl.avisi.confluence.plugins.git-plugin

  13. Tomas Theunissen

    @dave_savage, I have attached a new version of the add-on, could you try that one? It should solve the issue you had after installing the other one (you should uninstall the previous one before installing this one though. Else nothing will happen since they have the same version number). Sorry for the inconvenience!

  14. Dave Savage reporter

    Hi Tomas, The new version works! Except for a repository which gave the following error:

    An error occurred This resource requires WebSudo.

    The log doesn't seem to give any clue. The permissions of the repository directory are the same as the one who are working. Any idea?

  15. Tomas Theunissen

    Thats strange, most of the times we see that error it means that you are logged out (or something else wrong with the user session). But then it would happen with all repositories you are trying to view. It's a Confluence internal thing, so it has nothing to do with the permissions you can set on a Git repository.

    Could you check if the issue persists after logging out and in again?

  16. Dave Savage reporter

    It worked. So almost everything is working, except deleting the old repository because it still thinks that files are linked even if they are no longer linked. Thanks

  17. Tomas Theunissen

    Those attachments are most likely in the 'trash' of the space. Could you check that? If so, then you should delete them from the trash. It's a known bug we still have to look into.

    Also, a quick question. Are you using a read only mount for the local Git repo's?

  18. Dave Savage reporter

    Thanks, I purged the trash and I could delete the remote repositories.

    Yes, I am using a read-only NFS mount for the local git repo.

  19. Log in to comment