cómo hacer el checkin / commit de SVN http-commit dentro de html

Tengo un problema

Quiero usar un website para hacer un check-in y pagar en mi server svn. Ya llegué al punto donde puedo hacer un pago usando jQuery. el problema que me queda es el event handlingl process MERGE. dentro de MERGE svn transmite una respuesta fragmentada. pero mi console solo informa una mala request. wireshark me dijo que la encoding de transferencia está fragmentada. pero no pude configurarlo en trozos. si configuro contentType para fragmentar, el cuerpo se fragmenta, no la encoding de transferencia. y jquery.ajax () no proporciona algo como Transfer-Encoding. tratar de ponerlo en los encabezados no funcionó tan bien … ni siquiera mostró este encabezado

mi código de logging:

$.ajax({ type: "OPTIONS", url: baseURL, contentType: "text/xml", data: '<?xml version="1.0" encoding="utf-8" ?><D:options xmlns:D="DAV:"><D:activity-collection-set></D:activity-collection-set></D:options>', success: function(data1, status, jqxhr){ $.ajax({ type: "POST", url: baseURL + "/!svn/me", contentType: "application/vnd.svn-skel", data: "(create-txn-with-props (svn:txn-user-agent 40 SVN/1.8.9(i686-pc-linux-gnu) serf/1.3.4 svn:log function svn:txn-client-compat-version 5 1.8.9))", success: function(data2, status, jqxhr){ rev = jqxhr.getResponseHeader('SVN-Txn-Name'); newdata = new XMLSerializer().serializeToString(xmlString["context"]); hashResult = calcMD5(newdata); $.ajax({ type: "PUT", url: baseURL + "/!svn/txr/" + rev + file + ".xml", headers: {"X-SVN-Version-Name": latestRev, "X-SVN-Base-Fulltext-MD5":hashBase, "X-SVN-Result-Fulltext-MD5": hashResult}, contentType: "text/xml", data: newdata, success: function(data3, status, jqxhr){ chunked1 = '<?xml version="1.0" encoding="utf-8"?><D:merge xmlns:D="DAV:"><D:source><D:href>/svn/check/!svn/txn/' + rev + '</D:href></D:source><D:no-auto-merge></D:no-auto-merge><D:no-checkout></D:no-checkout><D:prop><D:checked-in></D:checked-in><D:version-name></D:version-name><D:resourcetype></D:resourcetype><D:creationdate></D:creationdate><D:creator-displayname>'; chunked2 = '</D:creator-displayname></D:prop></D:merge>'; length1 = chunked1.length; length2 = chunked2.length; $.ajax({ type: "MERGE", url: baseURL, headers: {"X-SVN-Options": "release-locks"}, contentType: "text/xml", data: length1 + chunked1 + length2 + chunked2, success: function(data4, status, jqxhr){ alert('file submitted'); }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus + ' at MERGE \n' + textStatus); } }); }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus + ' at PUT\n' + textStatus); $.ajax({ type: "DELETE", url: baseURL + "/!svn/txn/" + rev, success: function(data3, status, jqxhr){ alert('file deleted'); } }); } }); }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus + ' at POST\n' + textStatus); } }); }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus + ' at OPTIONS\n' + textStatus); } }); 

EDITAR: corrigí algunos errores en mi código y cambié el foco de problema de PUT a MERGE, porque encontré que el problema era que transmitía dentro del "X-SVN-Version-Name" no solo el número sino también el "número", por lo tanto el error "El file está fuera de date"

establecer el contentType: "text/xml" y data: chunked1 + chunked2

que todo funciona bien y svn acepta el file