This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 244660 - Support for combining commits
Summary: Support for combining commits
Status: NEW
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: Git (show other bugs)
Version: 8.0.1
Hardware: PC Linux
: P3 normal with 5 votes (vote)
Assignee: Ondrej Vrabec
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-22 16:52 UTC by pinus
Modified: 2017-01-31 20:01 UTC (History)
5 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments
api patch (41.54 KB, patch)
2014-07-10 08:28 UTC, Ondrej Vrabec
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description pinus 2014-05-22 16:52:50 UTC
I want to be able to aggregate several local commit to one big commit before pushing it. NB should support doing this. Including rephrasing of the messages. Netbeans could select the commits that are not pushed for selection. Select the commits you want to combine, edit the message and go.
Comment 1 Ondrej Vrabec 2014-05-22 17:07:14 UTC
Are you talking about interactive rebase and its ability to squash commits?
Comment 2 pinus 2014-05-22 19:56:54 UTC
Yes git rebase -i, pick and squash.
Comment 3 Ondrej Vrabec 2014-07-10 08:28:13 UTC
need to create an api for that in libs.git...
please review the api patch
Comment 4 Ondrej Vrabec 2014-07-10 08:28:16 UTC
Created attachment 147966 [details]
api patch
Comment 5 pinus 2014-07-10 20:06:22 UTC
(In reply to Ondrej Vrabec from comment #3)
> need to create an api for that in libs.git...
> please review the api patch

Well to do a serious review I'm not enough into the details. For example I have no idea what the Thread.sleep(1100); is about. It looks creepy to me.

I'll see it from the users perspective. You commit early and often. Go back and forth, try this and that. Now you want to push the stuff to a more public repository. Not everybody should or wants to see your steps. You need to cleanup first. 

You need to go back in your commit history and select the commits you want to clean up. Probably to the status of the remote repository at pull time, if it is a tracked branch. If it is not tracked you need to pick the start commit manually.

After picking the commits a diff would be great. The diff should show the changes in all files to its previous commit. This gives you an overview what the new commit will change. This is a real advantage over the command line. 

With a cherry on top it would be possible to export the changes as a patch.
Comment 6 Ondrej Vrabec 2014-07-16 12:40:30 UTC
not enough time for 8.0.1
Comment 7 eolivelli 2016-11-22 10:56:29 UTC
any news on this issue ?
is there any other feature planned ?
Comment 8 bugmenot1 2016-11-29 07:02:10 UTC
Can I also merge feature branches with master with squashing commit