@@ -40,6 +40,7 @@ extern VALUE rb_cRuggedTree;
4040extern VALUE rb_cRuggedReference ;
4141extern VALUE rb_cRuggedBackend ;
4242extern VALUE rb_cRuggedOdb ;
43+ extern VALUE rb_cRuggedRefdb ;
4344
4445extern VALUE rb_cRuggedCredPlaintext ;
4546extern VALUE rb_cRuggedCredSshKey ;
@@ -155,6 +156,7 @@ VALUE rugged_repo_new(VALUE klass, git_repository *repo)
155156
156157 rb_iv_set (rb_repo , "@config" , Qnil );
157158 rb_iv_set (rb_repo , "@index" , Qnil );
159+ rb_iv_set (rb_repo , "@refdb" , Qnil );
158160
159161 return rb_repo ;
160162}
@@ -609,6 +611,24 @@ static VALUE rb_git_repo_get_odb(VALUE self)
609611 RB_GIT_REPO_OWNED_GET (rb_cRuggedOdb , odb );
610612}
611613
614+ /*
615+ * call-seq:
616+ * repo.refdb = refdb
617+ */
618+ static VALUE rb_git_repo_set_refdb (VALUE self , VALUE rb_data )
619+ {
620+ RB_GIT_REPO_OWNED_SET (rb_cRuggedRefdb , refdb );
621+ }
622+
623+ /*
624+ * call-seq:
625+ * repo.refdb -> refdb
626+ */
627+ static VALUE rb_git_repo_get_refdb (VALUE self )
628+ {
629+ RB_GIT_REPO_OWNED_GET (rb_cRuggedRefdb , refdb );
630+ }
631+
612632/*
613633 * call-seq:
614634 * repo.ident = ident
@@ -2483,19 +2503,6 @@ static VALUE rb_git_repo_cherrypick(int argc, VALUE *argv, VALUE self)
24832503 return Qnil ;
24842504}
24852505
2486- static VALUE rb_git_repository_set_refdb (VALUE self , VALUE rb_refdb )
2487- {
2488- git_repository * repo ;
2489- git_refdb * refdb ;
2490-
2491- Data_Get_Struct (self , git_repository , repo );
2492- Data_Get_Struct (rb_refdb , git_refdb , refdb );
2493-
2494- git_repository_set_refdb (repo , refdb );
2495-
2496- return rb_refdb ;
2497- }
2498-
24992506void Init_rugged_repo (void )
25002507{
25012508 id_call = rb_intern ("call" );
@@ -2531,9 +2538,10 @@ void Init_rugged_repo(void)
25312538 rb_define_method (rb_cRuggedRepo , "index=" , rb_git_repo_set_index , 1 );
25322539 rb_define_method (rb_cRuggedRepo , "config" , rb_git_repo_get_config , 0 );
25332540 rb_define_method (rb_cRuggedRepo , "config=" , rb_git_repo_set_config , 1 );
2534- rb_define_method (rb_cRuggedRepo , "odb" , rb_git_repo_get_odb , 0 );
2535- rb_define_method (rb_cRuggedRepo , "odb=" , rb_git_repo_set_odb , 1 );
2536- rb_define_method (rb_cRuggedRepo , "refdb=" , rb_git_repository_set_refdb , 1 );
2541+ rb_define_method (rb_cRuggedRepo , "odb" , rb_git_repo_get_odb , 0 );
2542+ rb_define_method (rb_cRuggedRepo , "odb=" , rb_git_repo_set_odb , 1 );
2543+ rb_define_method (rb_cRuggedRepo , "refdb" , rb_git_repo_get_refdb , 0 );
2544+ rb_define_method (rb_cRuggedRepo , "refdb=" , rb_git_repo_set_refdb , 1 );
25372545
25382546 rb_define_method (rb_cRuggedRepo , "ident" , rb_git_repo_get_ident , 0 );
25392547 rb_define_method (rb_cRuggedRepo , "ident=" , rb_git_repo_set_ident , 1 );
0 commit comments