瀏覽代碼

dul-upload-pack and dul-receive-pack

John Carr 16 年之前
父節點
當前提交
f73ae5113e
共有 2 個文件被更改,包括 68 次插入0 次删除
  1. 34 0
      bin/dul-receive-pack
  2. 34 0
      bin/dul-upload-pack

+ 34 - 0
bin/dul-receive-pack

@@ -0,0 +1,34 @@
+#!/usr/bin/python
+# dul-receive-pack - git-receive-pack in python
+# Copyright (C) 2008 John Carr <john.carr@unrouted.co.uk>
+# 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; version 2
+# of the License.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+
+import sys
+from dulwich.server import GitBackend, ReceivePackHandler
+
+def send_fn(data):
+    sys.stdout.write(data)
+    sys.stdout.flush()
+
+if __name__ == "__main__":
+    gitdir = None
+    if len(sys.argv) > 1:
+        gitdir = sys.argv[1]
+
+    backend = GitBackend(gitdir)
+    handler = ReceivePackHandler(backend, sys.stdin.read, send_fn)
+    handler.handle()

+ 34 - 0
bin/dul-upload-pack

@@ -0,0 +1,34 @@
+#!/usr/bin/python
+# dul-upload-pack - git-upload-pack in python
+# Copyright (C) 2008 John Carr <john.carr@unrouted.co.uk>
+# 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; version 2
+# of the License.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+
+import sys
+from dulwich.server import GitBackend, UploadPackHandler
+
+def send_fn(data):
+    sys.stdout.write(data)
+    sys.stdout.flush()
+
+if __name__ == "__main__":
+    gitdir = None
+    if len(sys.argv) > 1:
+        gitdir = sys.argv[1]
+
+    backend = GitBackend(gitdir)
+    handler = UploadPackHandler(backend, sys.stdin.read, send_fn)
+    handler.handle()