{"action":"created","issue":{"url":"https://api.github.com/repos/nijel/weblate/issues/684","labels_url":"https://api.github.com/repos/nijel/weblate/issues/684/labels{/name}","comments_url":"https://api.github.com/repos/nijel/weblate/issues/684/comments","events_url":"https://api.github.com/repos/nijel/weblate/issues/684/events","html_url":"https://github.com/nijel/weblate/issues/684","id":64730674,"number":684,"title":"Improve rebase of the changes","user":{"login":"andrewshadura","id":309253,"avatar_url":"https://avatars.githubusercontent.com/u/309253?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewshadura","html_url":"https://github.com/andrewshadura","followers_url":"https://api.github.com/users/andrewshadura/followers","following_url":"https://api.github.com/users/andrewshadura/following{/other_user}","gists_url":"https://api.github.com/users/andrewshadura/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewshadura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewshadura/subscriptions","organizations_url":"https://api.github.com/users/andrewshadura/orgs","repos_url":"https://api.github.com/users/andrewshadura/repos","events_url":"https://api.github.com/users/andrewshadura/events{/privacy}","received_events_url":"https://api.github.com/users/andrewshadura/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nijel/weblate/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-27T09:57:36Z","updated_at":"2015-03-27T10:44:37Z","closed_at":null,"body":"Current implementation of rebase doesn't handle manual merges by upstream, especially with Mercurial.\r\n\r\nHere's the situation we have with [Kallithea translation](https://hosted.weblate.org/projects/kallithea/kallithea/).\r\n![2015-03-27-103415_621x1022_scrot_edit](https://cloud.githubusercontent.com/assets/309253/6865549/1e2096f6-d46f-11e4-8513-b7f98eba168b.png)\r\n\r\nUsers contributed some translations which were later manually rebased and redacted by the upstream maintainer (changesets with sequential numbers 4912:4920 as generated by Weblate, 4903:4911 as committed by the maintainer). Later, some more changes were committed by the upstream (4923:4953) as well as by a Weblate user (4921:4922). In this situation, Weblate can't detect most of the changes it has locally have already been applied upstream, nor can it rebase them properly because or the merge conflict, apparently.\r\n\r\nIdeally, I'd want Weblate to detect and remove the commits (4912:4920) already applied upstream, and then rebase the rest (4921:4922) to the tip of the default branch, possibly collapsing them together if they come from the same user to the same translation of the same language (see dotted lines leading to 4954).\r\n\r\n<bountysource-plugin>\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10079219-improve-rebase-of-the-changes?utm_campaign=plugin&utm_content=tracker%2F253393&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F253393&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"},"comment":{"url":"https://api.github.com/repos/nijel/weblate/issues/comments/86898848","html_url":"https://github.com/nijel/weblate/issues/684#issuecomment-86898848","issue_url":"https://api.github.com/repos/nijel/weblate/issues/684","id":86898848,"user":{"login":"andrewshadura","id":309253,"avatar_url":"https://avatars.githubusercontent.com/u/309253?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewshadura","html_url":"https://github.com/andrewshadura","followers_url":"https://api.github.com/users/andrewshadura/followers","following_url":"https://api.github.com/users/andrewshadura/following{/other_user}","gists_url":"https://api.github.com/users/andrewshadura/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewshadura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewshadura/subscriptions","organizations_url":"https://api.github.com/users/andrewshadura/orgs","repos_url":"https://api.github.com/users/andrewshadura/repos","events_url":"https://api.github.com/users/andrewshadura/events{/privacy}","received_events_url":"https://api.github.com/users/andrewshadura/received_events","type":"User","site_admin":false},"created_at":"2015-03-27T10:44:36Z","updated_at":"2015-03-27T10:44:36Z","body":"Okay, I see, those changes can't be automatically detected as some changesets were reordered and collapsed manually. Still it is possible to detect that, but it has to be done manually. At least a button ‘ignore changes from that to this one, they're already merged’ would do."}}