Compare commits
No commits in common. "646ca42e6f391c8637f6e5d0bc465d920663527a" and "3a13d25e9c2212010924001f2b39d5b679fe03c9" have entirely different histories.
646ca42e6f
...
3a13d25e9c
@ -1 +0,0 @@
|
|||||||
ref: refs/heads/master
|
|
@ -1,5 +0,0 @@
|
|||||||
[core]
|
|
||||||
repositoryformatversion = 0
|
|
||||||
filemode = false
|
|
||||||
bare = false
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
Unnamed repository; edit this file 'description' to name the repository
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xśUŽÍ
|
|
||||||
Â0„=úcEHĄ<48>?ŕAko><3E>xRi“¶<E2809C>šJ˝<>ďî&jĹ=-3;ßNŢ´9–‹Ő`¤tŃÜ„DÚYѨ|Zgađ'ŞÖka ´Ĺ…+ÍÜÂMU$(jn0ˇý~<Çx„hT ćl·XöŞ›ňj([2˘JcD‡ŽWrŤqç>qc3¤R‹ě¤Łž:;Ç›_ŢH{3óŹôtüG*äóŘ‚ŰV1źť÷Yç÷Ď]x÷íjE{Ç :ĘđÄ/â{˛Ó˘? ¤ł©Ć=•]Ó
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xœU<EFBFBD>1NÅ@D©‘¸Ã” ¡(_ÿtTˆ"øNâ‹Ýuäõ~NÏ&=óf¦ÚãÜžo:EÉcL²m}Ù6,¦³Q|ÄUbÉ+ â˜Lã!4FJc<4A>Ä
^h•™œw¹ÁÙ¢$
|
|
||||||
p=¤ArÑ<04>þ§ð'Å©Œ{5Ð8Ö?ùŸ¡âëS÷N«˜¦Èɱ’Éî{@íðÓ-È;ãòK?áÔ¶—]<5D>ôÙ\vsÞ×2òXOß»S‰=[Þó²“ùAÍ®jã¼ðà²r¸6w·_¥jp%
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xœ5<EFBFBD>A
|
|
||||||
Â0]z‡·ËF*uçօФíkˆùú“PééZwÃÀ0C”ýùrxø<78>ñRqjŸXBŒpLT[‹Ìwe ™ana]
óæZw²iÚünº¶i›;‰IÆSÍÖ±+Ÿ‚Y^<14>Ö„âù?þ‚/“?.
|
|
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xœMÌ=
|
|
||||||
€0@açž"ÒÐôgô(5<>è ‰÷Wœ\|Oú¾oq°K<15>ç:s+Tü‘S%¦#¡æÌsÁ<73>|âèêmk¿à•0Ž‰½“ïdúonj
¤¢§AëâˆYÿ
|
|
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xœ]<5D>A‚0D]“p‡cR1";náJY(Ћ)ÅÆ»ÛVÅà_ýÌëÌŸæm—#
|
|
||||||
w‹E;”q¯Ê–çÛ&u<>™È»?âã˜ãhe×áBáJ¹ f¡².
•Øèý~Î|<\zxb0– ¢I5SݤöVDcRðN=ÙëÞ R¥ˆ™(Ó‹ðØÔ]æ~ÉÔ Â<>ô4ìE]Èú‘€ªŽë
'¯á:wF÷–¾ù÷£Ä†æ<C3A6>:ÿp[<5B>
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xœ5<EFBFBD>A
|
|
||||||
Â0]r‡·ËF*Š'páôiûšÚ|M~héé»a`˜v’çëåðŒcÁ+KÈ~Æ2N³W£ð]™:B¸û¸mŽåw«;ùÔÿünk¬y<C2AC>è¥;Õâ]ƒdDY ‚\4òüEfB¹ª51Å
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
|||||||
xœMÌ;
|
|
||||||
€0@ëœb/ h>$[z”$û‚A+x|ÁÊvŠ©Wï§ó¤ Nhð<01>VÒšŠÏÞ•šE6Ë®H`—l<E28094>ÜL¾õ¸‘‹4Ï1l¦~‘âof¡<>,‹>j^ tñ
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
a3de24d2748d8aff1eb5d785d7a08b0aaa46d76b
|
|
@ -1 +0,0 @@
|
|||||||
a3de24d2748d8aff1eb5d785d7a08b0aaa46d76b
|
|
17
libwyag.py
17
libwyag.py
@ -50,7 +50,7 @@ class GitRepository (object):
|
|||||||
|
|
||||||
def __init__(self, path, force=False):
|
def __init__(self, path, force=False):
|
||||||
self.worktree = path.replace("\\", "/")
|
self.worktree = path.replace("\\", "/")
|
||||||
self.gitdir = join_path(path, ".subcommit-git")
|
self.gitdir = join_path(path, ".git")
|
||||||
|
|
||||||
if not (force or os.path.isdir(self.gitdir)):
|
if not (force or os.path.isdir(self.gitdir)):
|
||||||
raise Exception(f"Not a git repository {path}")
|
raise Exception(f"Not a git repository {path}")
|
||||||
@ -156,7 +156,7 @@ def cmd_init(args):
|
|||||||
def repo_find(path=".", required=True):
|
def repo_find(path=".", required=True):
|
||||||
path = os.path.realpath(path)
|
path = os.path.realpath(path)
|
||||||
|
|
||||||
if os.path.isdir(join_path(path, ".subcommit-git")):
|
if os.path.isdir(join_path(path, ".git")):
|
||||||
return GitRepository(path)
|
return GitRepository(path)
|
||||||
|
|
||||||
# If we haven't returned, recurse in parent
|
# If we haven't returned, recurse in parent
|
||||||
@ -1093,7 +1093,7 @@ def check_ignore(rules, path):
|
|||||||
raise Exception("This function requires path to be relative to the repository's root")
|
raise Exception("This function requires path to be relative to the repository's root")
|
||||||
|
|
||||||
# Eh, just hardcode it
|
# Eh, just hardcode it
|
||||||
if (path.startswith(".subcommit-git")):
|
if (path.startswith(".git")):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
result = check_ignore_scoped(rules.scoped, path)
|
result = check_ignore_scoped(rules.scoped, path)
|
||||||
@ -1487,7 +1487,6 @@ def tree_from_index(repo, index, commit_map, author, commit_time, message):
|
|||||||
if path in commit_map:
|
if path in commit_map:
|
||||||
(subcommit_hash, subcommit) = commit_map[path]
|
(subcommit_hash, subcommit) = commit_map[path]
|
||||||
else:
|
else:
|
||||||
subcommit_hash = None
|
|
||||||
subcommit = None
|
subcommit = None
|
||||||
|
|
||||||
if subcommit == None or subcommit.kvlm[b'tree'] != sha.encode('ascii'):
|
if subcommit == None or subcommit.kvlm[b'tree'] != sha.encode('ascii'):
|
||||||
@ -1531,18 +1530,12 @@ def cmd_commit(args):
|
|||||||
repo = repo_find()
|
repo = repo_find()
|
||||||
index = index_read(repo)
|
index = index_read(repo)
|
||||||
root_commit_sha = object_find(repo, "HEAD")
|
root_commit_sha = object_find(repo, "HEAD")
|
||||||
if root_commit_sha:
|
root_commit = object_read(repo, root_commit_sha)
|
||||||
root_commit = object_read(repo, root_commit_sha)
|
|
||||||
else:
|
|
||||||
root_commit = None
|
|
||||||
|
|
||||||
commit_time = datetime.now()
|
commit_time = datetime.now()
|
||||||
author = gitconfig_user_get(gitconfig_read())
|
author = gitconfig_user_get(gitconfig_read())
|
||||||
|
|
||||||
if root_commit:
|
commit_map = create_commit_map(repo, root_commit)
|
||||||
commit_map = create_commit_map(repo, root_commit)
|
|
||||||
else:
|
|
||||||
commit_map = dict()
|
|
||||||
|
|
||||||
tree = tree_from_index(repo,
|
tree = tree_from_index(repo,
|
||||||
index,
|
index,
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
This is an implementation of alternate git internals where trees point to subcommits rather than other trees. This allows subdirectory history tracking to be baked into the repository structure.
|
|
||||||
|
|
||||||
This is based on Write Yourself a Git (https://wyag.thb.lt/)
|
|
||||||
|
|
||||||
Note that this requires >= Python 3.10
|
|
Loading…
Reference in New Issue
Block a user