diff --git a/cpp/ci_logic.cpp b/cpp/ci_logic.cpp index 6f13a01..34d447f 100644 --- a/cpp/ci_logic.cpp +++ b/cpp/ci_logic.cpp @@ -389,6 +389,10 @@ std::tuple<bool, std::set<std::string>> CiLogic::build_project(std::shared_ptr<P proj->upstream_version = base_git_ver + "~" + proj->release->codename; sync(proj); + // Reset changelog after dch (so pending changes aren't committed) + reset_changelog(packaging_dir.parent_path() / proj->package->name, changelog); + log->append("Reset debian/changelog to HEAD..."); + // Update changelog for this release update_changelog(packaging_dir, proj->release->codename, proj->upstream_version, std::to_string(proj->ppa_revision), log); log->append("Changelog updated, copying the packaging..."); @@ -398,7 +402,7 @@ std::tuple<bool, std::set<std::string>> CiLogic::build_project(std::shared_ptr<P copy_directory(packaging_dir, dest_dir); log->append("Copied packaging to " + dest_dir.string() + ", copying tarball..."); - // Reset changelog after dchd$ (so local changes aren't committed) + // Reset changelog after dch (so local changes aren't committed) reset_changelog(packaging_dir.parent_path() / proj->package->name, changelog); log->append("Reset debian/changelog to HEAD..."); diff --git a/cpp/git_common.cpp b/cpp/git_common.cpp index da556b2..feb3bd1 100644 --- a/cpp/git_common.cpp +++ b/cpp/git_common.cpp @@ -504,6 +504,9 @@ void clone_or_fetch(const std::filesystem::path &repo_dir, * reset_changelog to HEAD content */ void reset_changelog(const fs::path &repo_dir, const fs::path &changelog_path) { + // Remove the .dch path first + std::remove((std::string{changelog_path.string()} + ".dch").c_str()); + git_repository *repo = nullptr; if (git_repository_open(&repo, repo_dir.c_str()) != 0) { const git_error *e = git_error_last();