@@ -105,6 +105,15 @@ def mwindow_mapped_limit(self) -> int:
105105 def mwindow_mapped_limit (self , value : int ) -> None :
106106 option (Option .SET_MWINDOW_MAPPED_LIMIT , value )
107107
108+ @property
109+ def mwindow_file_limit (self ) -> int :
110+ """Get or set the maximum number of files to be mapped at any time"""
111+ return option (Option .GET_MWINDOW_FILE_LIMIT )
112+
113+ @mwindow_file_limit .setter
114+ def mwindow_file_limit (self , value : int ) -> None :
115+ option (Option .SET_MWINDOW_FILE_LIMIT , value )
116+
108117 @property
109118 def cached_memory (self ) -> tuple [int , int ]:
110119 """
@@ -207,3 +216,137 @@ def set_ssl_cert_locations(
207216 option (Option .SET_SSL_CERT_LOCATIONS , cert_file , cert_dir )
208217 self ._ssl_cert_file = cert_file
209218 self ._ssl_cert_dir = cert_dir
219+
220+ @property
221+ def template_path (self ) -> str | None :
222+ """Get or set the default template path for new repositories"""
223+ return option (Option .GET_TEMPLATE_PATH )
224+
225+ @template_path .setter
226+ def template_path (self , value : str | bytes ) -> None :
227+ option (Option .SET_TEMPLATE_PATH , value )
228+
229+ @property
230+ def user_agent (self ) -> str | None :
231+ """Get or set the user agent string for network operations"""
232+ return option (Option .GET_USER_AGENT )
233+
234+ @user_agent .setter
235+ def user_agent (self , value : str | bytes ) -> None :
236+ option (Option .SET_USER_AGENT , value )
237+
238+ @property
239+ def user_agent_product (self ) -> str | None :
240+ """Get or set the user agent product name"""
241+ return option (Option .GET_USER_AGENT_PRODUCT )
242+
243+ @user_agent_product .setter
244+ def user_agent_product (self , value : str | bytes ) -> None :
245+ option (Option .SET_USER_AGENT_PRODUCT , value )
246+
247+ def set_ssl_ciphers (self , ciphers : str | bytes ) -> None :
248+ """Set the SSL ciphers to use for HTTPS connections"""
249+ option (Option .SET_SSL_CIPHERS , ciphers )
250+
251+ def add_ssl_x509_cert (self , certificate : str | bytes ) -> None :
252+ """Add a trusted X.509 certificate for SSL/TLS connections"""
253+ option (Option .ADD_SSL_X509_CERT , certificate )
254+
255+ def enable_strict_object_creation (self , value : bool = True ) -> None :
256+ """Enable or disable strict object creation validation"""
257+ option (Option .ENABLE_STRICT_OBJECT_CREATION , value )
258+
259+ def enable_strict_symbolic_ref_creation (self , value : bool = True ) -> None :
260+ """Enable or disable strict symbolic reference creation validation"""
261+ option (Option .ENABLE_STRICT_SYMBOLIC_REF_CREATION , value )
262+
263+ def enable_ofs_delta (self , value : bool = True ) -> None :
264+ """Enable or disable offset delta encoding"""
265+ option (Option .ENABLE_OFS_DELTA , value )
266+
267+ def enable_fsync_gitdir (self , value : bool = True ) -> None :
268+ """Enable or disable fsync for git directory operations"""
269+ option (Option .ENABLE_FSYNC_GITDIR , value )
270+
271+ def enable_strict_hash_verification (self , value : bool = True ) -> None :
272+ """Enable or disable strict hash verification"""
273+ option (Option .ENABLE_STRICT_HASH_VERIFICATION , value )
274+
275+ def enable_unsaved_index_safety (self , value : bool = True ) -> None :
276+ """Enable or disable unsaved index safety checks"""
277+ option (Option .ENABLE_UNSAVED_INDEX_SAFETY , value )
278+
279+ def enable_http_expect_continue (self , value : bool = True ) -> None :
280+ """Enable or disable HTTP Expect/Continue for large pushes"""
281+ option (Option .ENABLE_HTTP_EXPECT_CONTINUE , value )
282+
283+ @property
284+ def windows_sharemode (self ) -> int :
285+ """Get or set the Windows share mode for opening files"""
286+ return option (Option .GET_WINDOWS_SHAREMODE )
287+
288+ @windows_sharemode .setter
289+ def windows_sharemode (self , value : int ) -> None :
290+ option (Option .SET_WINDOWS_SHAREMODE , value )
291+
292+ @property
293+ def pack_max_objects (self ) -> int :
294+ """Get or set the maximum number of objects in a pack"""
295+ return option (Option .GET_PACK_MAX_OBJECTS )
296+
297+ @pack_max_objects .setter
298+ def pack_max_objects (self , value : int ) -> None :
299+ option (Option .SET_PACK_MAX_OBJECTS , value )
300+
301+ @property
302+ def owner_validation (self ) -> bool :
303+ """Get or set repository directory ownership validation"""
304+ return option (Option .GET_OWNER_VALIDATION )
305+
306+ @owner_validation .setter
307+ def owner_validation (self , value : bool ) -> None :
308+ option (Option .SET_OWNER_VALIDATION , value )
309+
310+ def set_odb_packed_priority (self , priority : int ) -> None :
311+ """Set the priority for packed ODB backend (default 1)"""
312+ option (Option .SET_ODB_PACKED_PRIORITY , priority )
313+
314+ def set_odb_loose_priority (self , priority : int ) -> None :
315+ """Set the priority for loose ODB backend (default 2)"""
316+ option (Option .SET_ODB_LOOSE_PRIORITY , priority )
317+
318+ @property
319+ def extensions (self ) -> list [str ]:
320+ """Get the list of enabled extensions"""
321+ return option (Option .GET_EXTENSIONS )
322+
323+ def set_extensions (self , extensions : list [str ]) -> None :
324+ """Set the list of enabled extensions"""
325+ option (Option .SET_EXTENSIONS , extensions , len (extensions ))
326+
327+ @property
328+ def homedir (self ) -> str | None :
329+ """Get or set the home directory"""
330+ return option (Option .GET_HOMEDIR )
331+
332+ @homedir .setter
333+ def homedir (self , value : str | bytes ) -> None :
334+ option (Option .SET_HOMEDIR , value )
335+
336+ @property
337+ def server_connect_timeout (self ) -> int :
338+ """Get or set the server connection timeout in milliseconds"""
339+ return option (Option .GET_SERVER_CONNECT_TIMEOUT )
340+
341+ @server_connect_timeout .setter
342+ def server_connect_timeout (self , value : int ) -> None :
343+ option (Option .SET_SERVER_CONNECT_TIMEOUT , value )
344+
345+ @property
346+ def server_timeout (self ) -> int :
347+ """Get or set the server timeout in milliseconds"""
348+ return option (Option .GET_SERVER_TIMEOUT )
349+
350+ @server_timeout .setter
351+ def server_timeout (self , value : int ) -> None :
352+ option (Option .SET_SERVER_TIMEOUT , value )
0 commit comments