gitblit-org / gitblit

pure java git solution
http://gitblit.com
Apache License 2.0
2.27k stars 670 forks source link

Missleading message "You have already merged this patchset." when attempting to push ticket patchest branch without any commit on it. #1466

Open TomaszSzt opened 7 months ago

TomaszSzt commented 7 months ago

Short description of a problem

After creating a ticket an attempt to push a branch created for that ticket without any commits on it show a misleading response from a remote:

Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: error:
remote: error: You have already merged this patchset.
remote: error:

Gitblit version

Gitblit version 1.9.2 (with some additional patches not related to this issue). I have no resources to spare to test it on new version.

Steps to reproduce

1.Create a ticket. 2.Create a local branch, as described in help displayed at "commits" page of a ticket. 3.Checkout it. 4.Be dumb as I was and don't do any commits. 5.Use the push command as described in help displayed at "commits" page of a ticket.

Observed result:

The message informing that "You have already merged this patchset."

Everything is actually fine, nothing is done on server, nothing is broken and nothing is merged. It is a user error to attempt to push a patchest without anything inside of it. Yet thanks to the message it took me a while to figure it out ;)

Expected result:

Either creation of zero-commit remote branch or a message stating "Your patchset is empty".

Severity

Negligible.

This is issue may be closed as it is. I did report it only so that some other users who will make alike mistake may find a bit of help about the problem.

Thanks

Thanks for hard work, I do really love this system. It is easy to maintain, easy to start and exists as a fully stand-alone solution. I love the fact that there are no databases, no external software required. And it has relatively consistent code base created in one programming language what makes possible to fix it without being Linux guru in everything as You need to be with GitLab for an example. The only "avoid" is git-lfs, but this is more git-lfs stuff than gitblit issue and it is just my opinion. Again, good work!