Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] for Pull Request, Resolve Conflicts via WEB #9014

Open
6543 opened this issue Nov 15, 2019 · 57 comments
Open

[Feature Request] for Pull Request, Resolve Conflicts via WEB #9014

6543 opened this issue Nov 15, 2019 · 57 comments
Assignees
Labels
💎 Bounty proposal/accepted We have reviewed the proposal and agree that it should be implemented like that/at all. type/proposal The new feature has not been accepted yet but needs to be discussed first.

Comments

@6543
Copy link
Member

6543 commented Nov 15, 2019

this is part of #5158 summary ... and could be an addition of #9013

@6543
Copy link
Member Author

6543 commented Nov 15, 2019

https://stackoverflow.com/a/6283843
this solution prints out the merge wich can be also displaied in our web editor to resolve this ... ?

@maskym
Copy link

maskym commented Jan 7, 2020

I'm new to gitea, but it looks like this button (under GitHub)
image
has no equivalent under gitea and I must solve PR manually ?
Thanks

@6543
Copy link
Member Author

6543 commented Jan 7, 2020

@UBowt571 until now ... yes :/

@MarcelHillmann
Copy link
Contributor

+1

@lunny lunny added the type/proposal The new feature has not been accepted yet but needs to be discussed first. label Jan 8, 2020
@maskym
Copy link

maskym commented Mar 3, 2020

Is there someone already working on it ?
I think about trying to implement it (I'm a noob and this would be my very first fork) but I don't want to do the same work as someone else did

@guillep2k
Copy link
Member

@UBowt571 All contributions are welcome! 😄

@brymut
Copy link

brymut commented May 14, 2020

I'll try to have a go at this other the next couple of days. Sorry for the delay from when I said I would

@nghtstr
Copy link

nghtstr commented Sep 24, 2020

+1

@richmahn
Copy link
Contributor

@maskym @brymut I too may be working on this feature. Have either of you made any progress?

@brymut
Copy link

brymut commented Oct 13, 2020

Go on @richmahn, I've lost track of this and won't be able to submit anything anytime soon

@maskym
Copy link

maskym commented Oct 13, 2020

@richmahn Ho, go ahead, I surrendered (normal as a French guy lol) and switched to self-hosted gitlab instead
I only managed to display a button but as I never worked in Go lang, the project was too big for me

@richmahn
Copy link
Contributor

@maskym Haha. Loved the French joke. I've been working on Gitea and with Go since 2016, even the one who added the original web interface for editing files, so I should be able to do it. Thanks for the update!

@MrHaroldA
Copy link

MrHaroldA commented Sep 17, 2021

We are investigating if Geany would be a viable alternative for the huge Gitlab installation we have running now, and the only real blocker we are seeing now is the lack of conflict resolving within the webinterface. This was mentioned in #14477 but lost traction and it never reached the 1.16 milestone.

@richmahn do you have any plans on implementing this? I have zero experience in coding for Gitea or Go, so I can't be of any help.

@richmahn
Copy link
Contributor

@MrHaroldA Totally forgot I even mentioned I would work on this. Will put it on my todo list and see if I can take a stab at it in the coming week.

@alexander-zierhut
Copy link

@richmahn Still wish I had this feature sometimes for productivity sake 😆 By now, I had to learn git more in detail, can you imagine?

@ktpx
Copy link

ktpx commented Dec 14, 2021

I have a PR that now says 2 files are in conflic with the recieving repo., but i still see now way to resolve this... How in earths name can I now fix this? Local repo says everything is fine. Won't let me delete the PR either.

@eUgEntOptIc44
Copy link

@richmahn any news on this?

@6543
Copy link
Member Author

6543 commented Jan 30, 2022

@ktpx that's off topic ... but: merge target branch locally or rebase and push
PS: conflict detections do not work like merge - as it would be a merge otherwhise ...

@richmahn
Copy link
Contributor

@eUgEntOptIc44 Sadly haven't had time to work on it, but have mentioned it to my team how badly it is needed. Hopefully can look at it soon, or if someone else wants to get this done, let me know. Should we do it exactly like Github does it, or have some extra functionality to making merging easier?

@eUgEntOptIc44
Copy link

@richmahn thank you for your update on this. I'd like to directly support on this by contributing code. Unfortunately my knowledge of go is very limited. However I hope that you or someone else might be able to do so.

@jayczech23
Copy link
Contributor

@richmahn @eUgEntOptIc44 I am also interested in contributing to this feature that would be extremely helpful for my team's needs as well.

I would also mention that the way Github handles merge conflict would be a great baseline for an initial implementation.

Please let me know if available for collaboration on this much needed feature.

@6543
Copy link
Member Author

6543 commented May 19, 2022

I'm not aware of any draft so I would say go on and it is yours ;)
If you need help just ask.
for the UI side I would have a look if it can be done in vue ...
example: #19650 ...

@richmahn
Copy link
Contributor

@jayczech23 I'm still needing this and keep playing around with getting this implemented like Github. Can we collaborate together?

@richmahn
Copy link
Contributor

@jayczech23 Are you on the Gitea Discord server? If we could touch base there I would be far more likely to get to work on this and better communication since I do everything with Discord. https://discord.gg/mPWThBne

@xuanswe
Copy link

xuanswe commented Apr 23, 2023

For simple conflicts, especially for writing documentation or books, this feature is really useful.
In these cases, I really don't want to wait until I can open my IDE to solve simple conflicts.

@NatashaCyn
Copy link

NatashaCyn commented May 6, 2023

@ richmahn , any news with this issue? Do u need a help

@richmahn
Copy link
Contributor

@NatashaCyn Funny, I just thought about the dire need my organization has for this feature, yet I still haven't gotten to it. I really would like there to be a 2-3 of us working on this...not that I couldn't program it, as I even made the file editor/committer for Gogs/Gitea interface (the original anyway, I'm sure it has been refactored), but to make sure we are doing it right, both how Github does, but also maybe in a way that could improve on that, would be great to have others working on it.

@richmahn
Copy link
Contributor

@NatashaCyn I'm trying to get my company's fork and codebase up-to-date with Gitea 1.19.3 and release it. Once that is done, hopefully I can look more at the conflict resolver.

@richmahn
Copy link
Contributor

Ok, getting my company fork updated from v1.20, lol. Pretty much done.

@ijustlovemath
Copy link

Just wanted to add that this feature would be fantastic! If implementation hasn't started yet, I'd like to say I love how clear the IntelliJ/PyCharm style of merge conflict resolution is:

image

The sweet part about this implementation is two-fold:

  1. Good labelling ("Your version", "Result", "Changes from ")
  2. The little >> button (next to line numbers) to say "I want this change from this version", which basically lets you build the exact set of changes that you want

Unfortunately not a Go coder, but definitely following along in case there's anything minor I can contribute!

@richmahn
Copy link
Contributor

richmahn commented Aug 7, 2023

@ijustlovemath Yeah, I agree, that looks great. Wonder how well to do it in a web interface though.

@richmahn richmahn self-assigned this Aug 7, 2023
@ijustlovemath
Copy link

The main challenge with any sort of conflict resolution UI will always be horizontal space. As long as there's a synchronized horizontal scrollbar and a minimum about of horizontal space (enough room for 90/150/180/240 columns + surrounding UI), it should be workable!

This type of interface probably leaves mobile users out to dry, but I wonder how many people are trying to do complex merge conflict resolution on their mobile devices to begin with

Another alternative could be to do it in stages, eg "select changes from your version", "select changes from remote version", "final review", which you could do in some kind of tabbed UI, but then you lose the clarity of having the full picture laid out before you.

Interested to hear any thoughts from others!

@alexander-zierhut
Copy link

The main challenge with any sort of conflict resolution UI will always be horizontal space. As long as there's a synchronized horizontal scrollbar and a minimum about of horizontal space (enough room for 90/150/180/240 columns + surrounding UI), it should be workable!

This type of interface probably leaves mobile users out to dry, but I wonder how many people are trying to do complex merge conflict resolution on their mobile devices to begin with

Another alternative could be to do it in stages, eg "select changes from your version", "select changes from remote version", "final review", which you could do in some kind of tabbed UI, but then you lose the clarity of having the full picture laid out before you.

Interested to hear any thoughts from others!

For the mobile users and quick fixes in general: How about a quick "Accept all incoming changes" and "Accept all local changes"

@yardenshoham yardenshoham added the proposal/accepted We have reviewed the proposal and agree that it should be implemented like that/at all. label Aug 13, 2023
@puni9869
Copy link
Member

I am excited to see this. @yardenshoham thanks for accepting this.

@yardenshoham
Copy link
Member

Just to clarify, I think this is a good idea. I don't plan on implementing it personally.

@richmahn
Copy link
Contributor

@yardenshoham It's all yours!

haha. I know that. I don't mind doing it myself. I just need to find time as it is on my comapny's time the work I put into Gitea.

@makar112233

This comment has been minimized.

@CelaniDe

This comment has been minimized.

Copy link

algora-pbc bot commented Mar 9, 2024

💎 $600 bounty • CommitGo, Inc.

Steps to solve:

  1. Start working: Comment /attempt #9014 with your implementation plan
  2. Submit work: Create a pull request including /claim #9014 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to go-Gitea/gitea!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @oliverqx Mar 26, 2024, 11:52:55 PM WIP
🟢 @richmahn Apr 3, 2024, 5:30:13 PM WIP

@techknowlogick
Copy link
Member

That was me ^
I'm testing the linked platform for bounties since bounty source went awol

@oliverqx
Copy link

oliverqx commented Mar 26, 2024

/attempt #9014

Algora profile Completed bounties Tech Active attempts Options
@oliverqx 6 bounties from 3 projects
TypeScript, Python
Cancel attempt

@richmahn
Copy link
Contributor

richmahn commented Apr 3, 2024

@oliverqx Want to team up? I've been meaning to get to this and my developers even asked about it recently and told them I would get to it once my big project that ended last quarter (March 31) was over, and now it is over. Interesting to see there is now a bounty on this.

@richmahn
Copy link
Contributor

richmahn commented Apr 3, 2024

/attempt #9014

@richmahn
Copy link
Contributor

richmahn commented Apr 3, 2024

Not trying to step on any toes here, but seeing what happens if someone else also does an attempt.

@richmahn
Copy link
Contributor

richmahn commented Apr 3, 2024

/attempt #9014

@oliverqx
Copy link

oliverqx commented Apr 3, 2024

you can go ahead, I think i'll be busy for the following couple of weeks

@richmahn
Copy link
Contributor

richmahn commented Jun 4, 2024

Back to working on this finally. Just made a move across the country the last few months.

@HammyHavoc
Copy link

Back to working on this finally. Just made a move across the country the last few months.

Hope you've settled in well! :- ) Exciting stuff!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💎 Bounty proposal/accepted We have reviewed the proposal and agree that it should be implemented like that/at all. type/proposal The new feature has not been accepted yet but needs to be discussed first.
Projects
None yet
Development

No branches or pull requests