@@ -40,6 +40,7 @@ extern VALUE rb_cRuggedTree;
40
40
extern VALUE rb_cRuggedReference ;
41
41
extern VALUE rb_cRuggedBackend ;
42
42
extern VALUE rb_cRuggedOdb ;
43
+ extern VALUE rb_cRuggedRefdb ;
43
44
44
45
extern VALUE rb_cRuggedCredPlaintext ;
45
46
extern VALUE rb_cRuggedCredSshKey ;
@@ -155,6 +156,7 @@ VALUE rugged_repo_new(VALUE klass, git_repository *repo)
155
156
156
157
rb_iv_set (rb_repo , "@config" , Qnil );
157
158
rb_iv_set (rb_repo , "@index" , Qnil );
159
+ rb_iv_set (rb_repo , "@refdb" , Qnil );
158
160
159
161
return rb_repo ;
160
162
}
@@ -609,6 +611,24 @@ static VALUE rb_git_repo_get_odb(VALUE self)
609
611
RB_GIT_REPO_OWNED_GET (rb_cRuggedOdb , odb );
610
612
}
611
613
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
+
612
632
/*
613
633
* call-seq:
614
634
* repo.ident = ident
@@ -2483,19 +2503,6 @@ static VALUE rb_git_repo_cherrypick(int argc, VALUE *argv, VALUE self)
2483
2503
return Qnil ;
2484
2504
}
2485
2505
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
-
2499
2506
void Init_rugged_repo (void )
2500
2507
{
2501
2508
id_call = rb_intern ("call" );
@@ -2531,9 +2538,10 @@ void Init_rugged_repo(void)
2531
2538
rb_define_method (rb_cRuggedRepo , "index=" , rb_git_repo_set_index , 1 );
2532
2539
rb_define_method (rb_cRuggedRepo , "config" , rb_git_repo_get_config , 0 );
2533
2540
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 );
2537
2545
2538
2546
rb_define_method (rb_cRuggedRepo , "ident" , rb_git_repo_get_ident , 0 );
2539
2547
rb_define_method (rb_cRuggedRepo , "ident=" , rb_git_repo_set_ident , 1 );
0 commit comments