mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-14 03:46:23 -05:00
Commits that have been forced overwritten remain on dashboard/activity #1389
Open
opened 2025-11-02 03:59:03 -06:00 by GiteaMirror
·
14 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#1389
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mqudsi on GitHub (Dec 19, 2017).
[x]): n/aDescription
Pushing a commit then overwriting that commit and force pushing results in both the overwritten and the new commit showing up in the dashboard/activity.
i.e.
Instead of just the expected
right commitappearing in the dashboard/activity (since the old one has been force overwritten), both commits appear. Reproduced here: https://try.gitea.io/mqudsi/test2Screenshot of incorrect result:
@stale[bot] commented on GitHub (Feb 9, 2019):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.
@0x3333 commented on GitHub (Mar 3, 2020):
Is there anything I could do to fix this? If someone give me some guidance, I could work it out. Thanks.
@guillep2k commented on GitHub (Mar 3, 2020):
I don't think there's a simple way of "fixing" this. I'm not even sure it's a bug. Since the dashboard should notify of new events, why should those events disappear if they actually happened?
If you're force pushing to e.g. cover some mistake, I understand that you may not want others to see such mistake. But IMHO there is plenty of other uses for force pushing that it would be incorrect to hide.
Also, you must take into account that other users might have enabled e-mail notifications. Those e-mails are out there and can't be claimed back. 😁
@lunny commented on GitHub (Mar 3, 2020):
@guillep2k I think the problem is if you force-push to a branch, the hidden commit should not be displayed on dashboard. It should be a bug of calculation of the commits affected when force pushing.
He didn't mean to delete the old events.
@guillep2k commented on GitHub (Mar 3, 2020):
But "not be displayed" and "delete the event" are equivalent from the UI point of view. I understand that if the commit was overwritten the link becomes invalid, but the entry should still show up in the dashboard. Perhaps something like:
@0x3333 commented on GitHub (Mar 3, 2020):
After @guillep2k comment, it looks to me that he is right. Effectively, you pushed those commits, they must show up in the dashboard. My concern was that it was wrong, not to hide some mistake, but if you changed your history, you changed commits, if you changed commits, they should show up. Actually, this is a hint that something may have gone wrong.
I'm withdrawing my complaint... 😆
Thanks!
@Erriez commented on GitHub (Mar 2, 2021):
Is there a workaround to remove specific commits from the Dashboard? I accidentally pushed a file with passwords, but remains on the Dashboard after rewriting the git history... However, the Git log is correct.
Thanks!
@lunny commented on GitHub (Mar 4, 2021):
Currently, I think the workaround is to delete the comment from database directly.
@Erriez commented on GitHub (Mar 4, 2021):
Thanks @lunny. I've deleted the entries manually from table
actionsand is no longer displayed at the Dashboard.I ran the
Garbage collect all repositoriesin theSite Administration, but the SHA1 link is still accessible. Is it possible to delete this as well?@lunny commented on GitHub (Mar 6, 2021):
The default garbage collect is 1 week ago unused commits You can change the default garbage collect time. See https://docs.gitea.io/en-us/config-cheat-sheet/#git-git GC_Args
@Erriez commented on GitHub (Mar 7, 2021):
@lunny Thanks for pointing to the documentation. That's very useful.
However, I don't understand why the manual "Garbage collect all repositories" did not work:
After running it, the commits are still available. I have to wait a few days and then I know if there is a difference with the Cron garbage collection.
@devnakx commented on GitHub (Sep 4, 2023):
indeed this issue also troubles me
at least I also believe that force push should no longer be displayed on the dashboard
@maciejopalinski commented on GitHub (Mar 1, 2025):
I managed to solve the issue on my instance of Gitea.
First, I amended and force-pushed a commit that leaked credentials, using the following commands:
The commit was still available on the dashboard and on the commit details page
To remove the commit from the commit details page, I ran the following commands:
That resulted in the commit being removed from the origin reflog and is not accessible from the commit details page anymore.
I decided NOT to remove the commit from the activity log on my dashboard, because the commit contents are inaccessible anyways and the commit message does not leak credentials.
If you need to remove the commit from the activity log on your dashboard, the activity log is stored in the database and you can select the data using the following query (replace the text between percentage signs with your commit hash):
You can probably just delete this row, but I DID NOT TEST IT, as I don't need to remove the activity log entry. Proceed with caution and make a backup in case something breaks after deleting the row.
@koddo commented on GitHub (Apr 25, 2025):
I believe this is an important feature, when we can compare the branch before and after force pushes, otherwise it's not clear how to know something was indeed changed after discussions on the pull request page.
I understand the problem, that we should also have a way to remove some orphan commits from the page, when sensitive information gets exposed accidentally, but this is another issue, which is addressed in the comment above by @maciejopalinski.
I actually have the opposite question: how to prevent orphan commits being garbage collected after force pushes? I want to preserve full history of pull requests in tracker.