CleanUpWiki_v11 - itnett/FTD02N GitHub Wiki
Feilen indikerer at skriptet prøver å utføre Git-operasjoner i en katalog som ikke er en gyldig Git-repositorium. For å løse dette problemet, la oss gå gjennom følgende sjekkpunkter og gjøre noen justeringer i skriptet:
Mulige årsaker og løsninger:
-
Katalogene er ikke Git-repositorier:
- Før du kjører Git-operasjonene, må vi sikre at katalogene
code_repo_directory
ogdump_directory
faktisk er Git-repositorier. Dette betyr at de må inneholde en.git
-mappe.
- Før du kjører Git-operasjonene, må vi sikre at katalogene
-
Kloning av repoet hvis det ikke eksisterer:
- Vi må sørge for at
dump_directory
ogcode_repo_directory
er gyldige Git-repositorier ved å klone repoene hvis de ikke allerede finnes.
- Vi må sørge for at
Justert skript:
Her er en oppdatert versjon av skriptet med sjekk for om katalogene er gyldige Git-repositorier. Hvis de ikke er det, vil skriptet klone dem automatisk.
Se skriptet herpython', r'^Se skriptet hersql', r'^Se skriptet hershell'] for pattern in executable_patterns: if re.search(pattern, code_block, re.MULTILINE): return True return False
Funksjon for å migrere kodeblokker
def migrate_code_blocks(input_dir, output_dir): if not os.path.exists(output_dir): os.makedirs(output_dir)
for root, _, files in os.walk(input_dir):
for file in files:
if file.endswith('.md'):
file_path = os.path.join(root, file)
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# Finn alle kodeblokker
code_blocks = re.findall(r'```.*?```', content, re.DOTALL)
for block in code_blocks:
if is_executable_code_block(block):
# Bestem filtype basert på innholdet
if '[Se skriptet her](https://github.com/itnett/FTD02N/blob/main/Python/CleanUpWiki_v11_4.py)bash' in block or '[Se skriptet her](https://github.com/itnett/FTD02N/blob/main/ShellScripts/CleanUpWiki_v11_5.sh)sql' in block:
extension = 'sql'
folder = 'SQL'
elif '[Se skriptet her](https://github.com/itnett/FTD02N/blob/main/Makefiles/CleanUpWiki_v11_6.makefile)
Slik fungerer det:
-
Kloning av repoer: Hvis katalogene for
dump_directory
(for den gamle wiki-repoen) ogcode_repo_directory
(for den nye kode-repoen) ikke eksisterer eller ikke er git-repositorier, kloner skriptet automatisk de nødvendige repoene fra GitHub. -
Migrering av kodeblokker: Skriptet migrerer kjørbare kodeblokker fra den gamle wiki-repoen til den nye kode-repoen, organiserer dem i mapper og genererer en README.md-fil for hver kodefil.
-
Oppdatering av URL-er: Alle lenker i de oppdaterte wiki-filene peker nå til de nye plasseringene i kode-repoen.
-
Git-operasjoner: Alle endringer blir commitet og pushet til de respektive GitHub-repoene.
Prøv å kjøre denne versjonen av skriptet. Hvis alt er satt opp riktig, bør det nå fungere uten feil.