403Webshell
Server IP : 217.160.0.141  /  Your IP : 216.73.217.7
Web Server : Apache
System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User : p8818224 ( 2623854)
PHP Version : 8.2.35
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /kunden/usr/share/doc/python3-dulwich/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /kunden/usr/share/doc/python3-dulwich/examples/memoryrepo.py
#!/usr/bin/python
# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later

# This script creates a clone of a remote repository in local memory,
# then adds a single file and pushes the result back.
#
# Example usage:
#  python examples/memoryrepo.py git+ssh://github.com/jelmer/testrepo

import stat
import sys

from dulwich import porcelain
from dulwich.objects import Blob
from dulwich.repo import MemoryRepo

local_repo = MemoryRepo()
local_repo.refs.set_symbolic_ref(b"HEAD", b"refs/heads/master")

fetch_result = porcelain.fetch(local_repo, sys.argv[1])
local_repo.refs[b"refs/heads/master"] = fetch_result.refs[b"refs/heads/master"]
print(local_repo.refs.as_dict())

last_tree = local_repo[local_repo[b"HEAD"].tree]
new_blob = Blob.from_string(b"Some contents")
local_repo.object_store.add_object(new_blob)
last_tree.add(b"test", stat.S_IFREG, new_blob.id)
local_repo.object_store.add_object(last_tree)

local_repo.do_commit(
    message=b"Add a file called 'test'", ref=b"refs/heads/master", tree=last_tree.id
)

porcelain.push(local_repo, sys.argv[1], "master")

Youez - 2016 - github.com/yon3zu
LinuXploit