mirror of
https://github.com/go-gitea/gitea.git
synced 2026-07-15 20:09:18 -05:00
How could I list commits in a pull request or feature branch? #3421
Closed
opened 2025-11-02 05:12:28 -06:00 by GiteaMirror
·
6 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
No Label
type/question
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#3421
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 @yanOnGithub on GitHub (Jun 3, 2019).
I tried a lot of these.
https://www.google.com/search?q=git+show+commits+on+a+feature+branch
Let's use this as an example:
https://github.com/go-gitea/gitea/pull/7089/commits
There are 7 commits in this PR. Suppose I am standing in the head of the feature branch after running one of the following
git checkout "mrsdizzie:fix-7068"
git checkout
177092aIs there any way to list the 7 commits on CLI? Any git commands? Any shell scripts? Any wget/curl/REST API?
Further question: Suppose I am in the middle (
cbfc6aa), can I list the 4 commits starting from 8263e09?@zeripath commented on GitHub (Jun 3, 2019):
ok, you can find the merge-base of the branch and the master
git merge-base master HEADThen you do:
git log $MERGE_BASE..HEADSo all together:
@yanOnGithub commented on GitHub (Jun 3, 2019):
https://github.com/go-gitea/gitea/issues/7117#issuecomment-498330543
git merge-base master HEADgit log $(git merge-base master branch-name)..branch-nameI tried "git merge-base" also. Before PR merge, it produced the commit where the feature branch started as desired. After PR merge, it produced the commit where the merge occurred, which is not what I want.
https://github.com/go-gitea/gitea/pull/7089
I cannot even checkout
177092aa4bnow. Can we find any test cases in https://github.com/go-gitea/gitea/pulls ?git checkout 160e7edworked at the current HEAD of the master branch. Am I missing anything?git log $(git merge-base master branch-name)..branch-nameThis behavior also changes before and after PR merge.
@zeripath commented on GitHub (Jun 4, 2019):
Yes, it would change after a pr merge because the merge base would be the merge point at that point.
You would need to use the shas of the trees pre-merge to get the original merge-base but look at git's own documentation about merge-base.
@yanOnGithub commented on GitHub (Jun 4, 2019):
Are there any REST API? Can I wget and parse the html of the PR webpage?
@zeripath commented on GitHub (Jun 4, 2019):
What are you trying to get exactly? Using Gitea feature branches as an example for looking at commits on branches is not necessarily the most sensible - we squash our commits into a single commit with the pr # in the commit line and once those features are squashed most developers will simply delete the branch losing that information.
Other projects may use a merge branch strategy which will keep the history at a cost of a potentially complicated tree. In those cases you should be able to interrogate the git history as described above. Or if you prefer graphically with gitk and I think there's a graphical representation available in Gitea.
In terms of APIs - apart from git I don't think there is one and in general I think we should avoid creating APIs to git - git is itself an API. I think however our PullRequest APIs should give you the git URL to pull/fetch the branch - and if they don't or it's not obvious then we should change that.
@yanOnGithub commented on GitHub (Jun 4, 2019):
https://nvie.com/posts/a-successful-git-branching-model/
Our team practice git flow. I am handling pull requests, merging, and code review for about 40 developers. When a pull requests comes, I would like to list the changed files from a feature branch and review the code. I would like to exclude files changed on the feature branch as a result of catching up with (daily merging from) the develop branch.
https://try.gitea.io/api/swagger
I am going to try the APIs here.
Since I am also the admin, I can look at the sqlite file (gitea.db) for pull_request.merge_base. Is the merge_base hash frozen at the time of PR creation? I considering doing a set operation like
(git diff --name-only feature_head..merge_base) minus (git diff --name-only develop_head..merge_base)
How can I figure out the parent of pull_request.merged_commit_id? There should be 2 parents. One on the feature branch and another on the develop branch.
git rev-parse $merged_commit_id^1gives only one result. Maybe I have to parse the output ofgit logfor the lineMerge: <develop_hash> <feature_hash>