Re: [RFC PATCH 4/4] track oid_size to allow for checks that are hash agnostic
On 11/10/21 05:17AM, Carlo Marcelo Arenas Belón wrote:
> This allows commit to work.
Please explain _why_ it allows commit to work.
Show 43 quoted lines
>
> 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} { ^ missing '$'
I think you forgot to test this one ;-)
Show 6 quoted lines
> set old_tree [string range $old_tree 5 end]
> } else {
> error [mc "Commit %s appears to be corrupt" $PARENT]
> --
> 2.33.0.1081.g099423f5b7
> --
Regards,
Pratyush Yadav