PageSourceSearch

https://shafthq.github.io/assets/js/0cae09bf.22a6b7c5.js

js shafthq.github.io collected 2026-10-03 09:59:08 UTC 5,523 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkshaft_user_guide=self.webpackChunkshaft_user_guide||[]).push([["45252"],{57563(e,t,i){i.r(t),i.d(t,{metadata:()=>r,default:()=>h,frontMatter:()=>l,contentTitle:()=>a,toc:()=>o,assets:()=>d});var r=JSON.parse('{"id":"archive/engine/history-rewrite-validation","title":"Repository history rewrite validation","description":"This validation was executed in an isolated temporary clone (/tmp/shaft-history-validation) using:","source":"@site/docs/archive/engine/history-rewrite-validation.md","sourceDirName":"archive/engine","slug":"/archive/engine/history-rewrite-validation","permalink":"/docs/archive/engine/history-rewrite-validation","draft":false,"unlisted":true,"editUrl":"https://github.com/ShaftHQ/shafthq.github.io/blob/master/docs/archive/engine/history-rewrite-validation.md","tags":[{"inline":true,"label":"archive","permalink":"/docs/tags/archive"}],"version":"current","lastUpdatedAt":1790975565000,"frontMatter":{"title":"Repository history rewrite validation","unlisted":true,"tags":["archive"]}}'),n=i(74848),s=i(28453);let l={title:"Repository history rewrite validation",unlisted:!0,tags:["archive"]},a="Repository History Rewrite Validation (Temporary Clone)",d={},o=[{value:"Results",id:"results",level:2},{value:"Maintainer Preservation Check",id:"maintainer-preservation-check",level:2},{value:"Notes",id:"notes",level:2}];function c(e){let t={code:"code",div:"div",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"repository-history-rewrite-validation-temporary-clone",children:"Repository History Rewrite Validation (Temporary Clone)"})}),"\n",(0,n.jsxs)(t.p,{children:["This validation was executed in an isolated temporary clone (",(0,n.jsx)(t.code,{children:"/tmp/shaft-history-validation"}),") using:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"TARGET_BRANCH=copilot/optimize-repository-cloning-performance \\\nFLATTEN_BRANCH=history/flattened-main \\\nAUDIT_DIR=/tmp/shaft-history-audit/rewrite-run \\\nscripts/maintenance/flatten-history.sh --execute\n"})}),"\n",(0,n.jsx)(t.h2,{id:"results",children:"Results"}),"\n",(0,n.jsx)(t.div,{className:"table-scroll",role:"region",tabIndex:"0","aria-label":"Results",children:(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Metric"}),(0,n.jsx)(t.th,{style:{textAlign:"right"},children:"Before"}),(0,n.jsx)(t.th,{style:{textAlign:"right"},children:"After (flattened history)"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:["Reachable commit count (",(0,n.jsx)(t.code,{children:"git rev-list --count --all"}),")"]}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"3010"}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"1"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:".git"})," directory size"]}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"410M"}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"102M"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:["Packed object size (",(0,n.jsx)(t.code,{children:"size-pack"}),")"]}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"407.25 MiB"}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"101.24 MiB"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsxs)(t.td,{children:["Fresh clone time (",(0,n.jsx)(t.code,{children:"git clone --no-local"}),")"]}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"8.98s"}),(0,n.jsx)(t.td,{style:{textAlign:"right"},children:"1.87s"})]})]})]})}),"\n",(0,n.jsx)(t.h2,{id:"maintainer-preservation-check",children:"Maintainer Preservation Check"}),"\n",(0,n.jsxs)(t.p,{children:["Maintainer coverage is validated against ",(0,n.jsx)(t.code,{children:"CONTRIBUTORS_HISTORY.md"})," generated from full pre-flatten history."]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Pre-flatten normalized emails: ",(0,n.jsx)(t.strong,{children:"62"})]}),"\n",(0,n.jsxs)(t.li,{children:["Manifest emails: ",(0,n.jsx)(t.strong,{children:"62"})]}),"\n",(0,n.jsxs)(t.li,{children:["Missing identities: ",(0,n.jsx)(t.strong,{children:"0"})]}),"\n",(0,n.jsxs)(t.li,{children:["Extra identities: ",(0,n.jsx)(t.strong,{children:"0"})]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"notes",children:"Notes"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["The flattened branch is a ",(0,n.jsx)(t.strong,{children:"single root commit"})," carrying the current tree plus ",(0,n.jsx)(t.code,{children:"CONTRIBUTORS_HISTORY.md"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["For production cutover, default-branch force-push and release-tag strategy must be coordinated with maintainers as documented in ",(0,n.jsx)(t.code,{children:"docs/REPOSITORY_HISTORY_REWRITE_RUNBOOK.md"}),"."]}),"\n"]})]})}function h(e={}){let{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},28453(e,t,i){i.d(t,{R:()=>l,x:()=>a});var r=i(96540);let n={},s=r.createContext(n);function l(e){let t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.