[RFC PATCH 4/4] track oid_size to allow for checks that are hash agnostic
This allows commit to work.
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
git-gui.sh | 5 +++--
lib/commit.tcl | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index c0dc8ce..1646124 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -1821,10 +1821,11 @@ proc short_path {path} {
set next_icon_id 0
if { [get_config extensions.objectformat] eq "sha256" } {
- set null_oid [string repeat 0 64]
+ set oid_size 64
} else {
- set null_oid [string repeat 0 40]
+ set oid_size 40
}
+set null_oid [string repeat 0 $oid_size]
proc merge_state {path new_state {head_info {}} {index_info {}}} {
global file_states next_icon_id null_oid
diff --git a/lib/commit.tcl b/lib/commit.tcl
index 11379f8..1306e8d 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -337,6 +337,7 @@ proc commit_committree {fd_wt curHEAD msg_p} {
global file_states selected_paths rescan_active
global repo_config
global env
+ global oid_size
gets $fd_wt tree_id
if {[catch {close $fd_wt} err]} {
@@ -356,7 +357,7 @@ proc commit_committree {fd_wt curHEAD msg_p} {
close $fd_ot
if {[string equal -length 5 {tree } $old_tree]
- && [string length $old_tree] == 45} {
+ && [string length $old_tree] == 5 + oid_size} {
set old_tree [string range $old_tree 5 end]
} else {
error [mc "Commit %s appears to be corrupt" $PARENT]
--
2.33.0.1081.g099423f5b7