Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/blurb/_add.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
import tempfile

from blurb._cli import subcommand,error,prompt
from blurb._git import flush_git_add_files, git_add_files
from blurb._template import sections, template
from blurb.blurb import Blurbs, BlurbError, flush_git_add_files, git_add_files
from blurb.blurb import Blurbs, BlurbError

TYPE_CHECKING = False
if TYPE_CHECKING:
Expand Down
29 changes: 29 additions & 0 deletions src/blurb/_git.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import os
import subprocess

git_add_files: list[str] = []
git_rm_files: list[str] = []


def flush_git_add_files() -> None:
if not git_add_files:
return
args = ('git', 'add', '--force', *git_add_files)
subprocess.run(args, check=True)
git_add_files.clear()


def flush_git_rm_files() -> None:
if not git_rm_files:
return
args = ('git', 'rm', '--quiet', '--force', *git_rm_files)
subprocess.run(args, check=False)

# clean up
for path in git_rm_files:
try:
os.unlink(path)
except FileNotFoundError:
pass

git_rm_files.clear()
5 changes: 3 additions & 2 deletions src/blurb/_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@

import blurb.blurb
from blurb._cli import error, subcommand
from blurb.blurb import (Blurbs, flush_git_add_files, flush_git_rm_files,
git_rm_files, git_add_files, glob_blurbs, nonceify)
from blurb._git import (flush_git_add_files, flush_git_rm_files,
git_rm_files, git_add_files)
from blurb.blurb import Blurbs, glob_blurbs, nonceify


@subcommand
Expand Down
26 changes: 1 addition & 25 deletions src/blurb/blurb.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@
from pathlib import Path
import re
import shutil
import subprocess
import sys
import textwrap
import time

from blurb._cli import main, subcommand
from blurb._git import git_add_files, flush_git_add_files
from blurb._template import (
next_filename_unsanitize_sections, sanitize_section,
sanitize_section_legacy, sections, unsanitize_section,
Expand Down Expand Up @@ -673,30 +673,6 @@ def print(*a, sep=" "):
builtins.print(output, "is already up to date")


git_add_files = []
def flush_git_add_files():
if git_add_files:
subprocess.run(["git", "add", "--force", *git_add_files]).check_returncode()
git_add_files.clear()

git_rm_files = []
def flush_git_rm_files():
if git_rm_files:
try:
subprocess.run(["git", "rm", "--quiet", "--force", *git_rm_files]).check_returncode()
except subprocess.CalledProcessError:
pass

# clean up
for path in git_rm_files:
try:
os.unlink(path)
except FileNotFoundError:
pass

git_rm_files.clear()


@subcommand
def populate():
"""
Expand Down