New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git backend progress #1385

munrocape opened this Issue Mar 9, 2014 · 5 comments


None yet
4 participants

munrocape commented Mar 9, 2014

There are a few unimplemented functions that currently are showstoppers for any automated testing - first one is get_latest_revision causes an error and the close family of functions cannot be directly mapped from svn.

I imagine this issue will serve as the status report for the development - if there are preferred ways to tracking progress don't hesitate to comment.

  • initialize(connect_string)
  • create(connect_string)
  • open(connect_string)
  • access(connect_string)
  • delete(repo_path)
  • def export(repo_dest_dir, filepath=nil, revision_number=nil)
  • self.closable?
  • close
  • closed?
  • repository_exists?(repos_path)
  • stringify_files(files)
  • get_latest_revision
  • get_revision(revision_number)
  • get_revision_by_timestamp(target_timestamp, path = nil)
  • get_transaction(user_id, comment="")
  • commit(transaction)
  • add_user(user_id, permissions)
  • get_users(permissions)
  • get_permissions(user_id)
  • set_permissions(user_id, permissions)
  • remove_user(user_id)
  • self.set_bulk_permissions(repo_names, user_id_permissions_map)
  • self.delete_bulk_permissions(repo_names, user_ids)
  • expand_path(file_name, dir_string = "/")
  • self.__read_in_authz_file()
  • self.__write_out_authz_file(authz_file_contents)
  • self.__parse_authz_file(authz_string)
  • self.__prepare_authz_string(permissions)
  • __path_exists?(path, revision=nil)
  • __get_files(path="/", revision_number=nil)
  • __get_property(prop, rev=nil)
  • __get_file_property(prop, path, revision_number)
  • __get_node_last_modified_date(path, revision_number)
  • __get_history(paths, starting_revision=nil, ending_revision=nil)
  • self.__translate_to_git_perms(permissions)
  • self.__translate_perms_from_file(perm_string)
  • setup_auth_baton(auth_baton)
  • latest_revision_number(path = nil, revision_number = nil)
  • get_revision_number_by_timestamp(target_timestamp, path = nil)
  • add_file(txn, path, file_data=nil, mime_type=nil)
  • remove_file(txn, path, expected_revision_number=0)
  • replace_file(txn, path, file_data=nil, mime_type=nil, expected_revision_number=0)
  • write_file(txn, path, file_data=nil, mime_type=nil)
  • make_file(txn, path)
  • make_directory(txn, path)
  • get_repo_permissions_from_file_string(auth_string)
  • git_auth_file_checks()
  • inject_permissions(users_permissions, auth_string)
  • perm_mapping_to_git_authz_string(users_perms)
  • initialize(revision_number, repo)
  • files_at_path(path)
  • path_exists?(path)
  • directories_at_path(path='/')
  • changed_files_at_path(path)
  • files_at_path_helper(path='/', only_changed=false)

This comment has been minimized.


tiagochst commented Apr 13, 2014

@zach, some comments:

  • "get_latest_revision causes an error" -> last revision in svn could be mapped into last commit on git. What do you think? We could use the head of the master branch.
  • "The close family of functions cannot be directly mapped from svn" -> there is close function in
Frees all the resources used by this repository immediately. 
The repository can still be used after this call.Resources will be opened as necessary. 
It is not required to call this method explicitly. Repositories are closed automatically before garbage collection

I believe we can remove close family of functions, what do you think?


This comment has been minimized.


munrocape commented Apr 13, 2014


  • That sounds like the best solution. All references to revision numbers will have to be changed as this doesn't exist in git in the same way.
  • Certainly - and close from Rugged::Repository is what @danielstjules linked to in a previous thread which seemed to work. Rugged has a confusing stack trace sometimes and I interpreted it incorrectly.

This comment has been minimized.


david-yz-liu commented Sep 9, 2014

Not clear if this has been superceded by #1698. (Or if the two need to be merged somehow.)


This comment has been minimized.


david-yz-liu commented Sep 21, 2014


This comment has been minimized.


SoftwareDev commented Oct 26, 2014

Can close this. Continuing progress on #1855

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment