support for bitbucket added, close #35

This commit is contained in:
Lars Hvam 2014-12-07 08:14:00 +01:00
parent afb86cc266
commit 0f4ac581c0

View File

@ -5912,6 +5912,7 @@ CLASS lcl_transport IMPLEMENTATION.
lv_len TYPE i, lv_len TYPE i,
lt_result TYPE TABLE OF string, lt_result TYPE TABLE OF string,
lv_data LIKE LINE OF lt_result, lv_data LIKE LINE OF lt_result,
lv_uri type string,
lv_text TYPE string. lv_text TYPE string.
STATICS: sv_authorization TYPE string. STATICS: sv_authorization TYPE string.
@ -5928,10 +5929,17 @@ CLASS lcl_transport IMPLEMENTATION.
ei_client->request->set_header_field( ei_client->request->set_header_field(
name = '~request_method' name = '~request_method'
value = 'GET' ). value = 'GET' ).
* bitbucket require agent prefix = "git/"
ei_client->request->set_header_field(
name = 'user-agent'
value = 'git/abapGit ' && gc_abap_version ).
lv_uri = lcl_url=>path_name( is_repo-url ) &&
'.git/info/refs?service=git-' &&
iv_service &&
'-pack'.
ei_client->request->set_header_field( ei_client->request->set_header_field(
name = '~request_uri' name = '~request_uri'
value = lcl_url=>path_name( is_repo-url ) && '.git/info/refs?service=git-' value = lv_uri ).
&& iv_service && '-pack' ).
IF NOT sv_authorization IS INITIAL. IF NOT sv_authorization IS INITIAL.
* note this will only work if all repositories uses the same login * note this will only work if all repositories uses the same login
ei_client->request->set_header_field( ei_client->request->set_header_field(
@ -6035,7 +6043,7 @@ CLASS lcl_transport IMPLEMENTATION.
is_repo-branch_name && is_repo-branch_name &&
get_null( ) && get_null( ) &&
` ` && ` ` &&
'report-status agent=abapGit/' && gc_abap_version && 'report-status agent=git/abapGit ' && gc_abap_version &&
gc_newline. "#EC NOTEXT gc_newline. "#EC NOTEXT
lv_cmd_pkt = pkt_string( lv_line ). lv_cmd_pkt = pkt_string( lv_line ).
@ -6143,7 +6151,7 @@ CLASS lcl_transport IMPLEMENTATION.
` ` && ` ` &&
ev_branch && ev_branch &&
` ` && ` ` &&
'side-band-64k no-progress agent=abapGit/' && gc_abap_version 'side-band-64k no-progress agent=git/abapGit ' && gc_abap_version
&& gc_newline. "#EC NOTEXT && gc_newline. "#EC NOTEXT
lv_pkt = pkt_string( lv_line ). lv_pkt = pkt_string( lv_line ).