GNOME Bugzilla – Bug 566293
Support for git-svn
Last modified: 2020-11-11 19:40:01 UTC
Migrated from GGL-84 Reported by Erik Nedwidek: The project I use is based on Subversion and I use git-svn to create a local git repository. Giggle is a joy to help manage the git repository. Unfortunately I need to use git-svn from the command line to do git-svn rebase to pull the new updates in from Subversion and git-svn dcommit to push my changes back. Any thoughts on perhaps integrating these activities into Giggle? Perhaps also being able to create a git repository with git-svn clone? Thanks, Erik Comment by Guilhèm Bonnefille: Nice idea. I also use Git as frontend to many SVN repositories. Do you have any concret ideas on how integrating git-svn in Giggle? A single "git-svn" menu with 2 entries? A more complex GUI? I'm quite ready to do the job, but I lack inspiration.
We should just add actions for "git push" and "git fetch" to giggle and implement this in a way that "git svn dcommit" and "git svn fetch/rebase" can be used as drop in. When working with plain git repositories I prefer to only fetch and to manually merge/rebase. For SVN repositories I prefer automatic rebase. Maybe we can be smart and figuring out automatically when to rebase. Otherwise we should present some option. For the UI: I'd like to see some buttons in the toolbar: "Push", "Fetch", "Rebase", "Merge". Those actions also would show up in some "Action" menu of the main menu. Push and fetch would present a dialog allowing multi-selection of the remotes to deal with: = Update Remotes ====================== | .---------------------------------. | | | [git] origin | | | | [git] guyou | | | | [svn] gnome | | | | | | | | | | | '---------------------------------' | | (Cancel)(Fetch) | '-------------------------------------' Maybe the "Fetch" button would work like some GtkMenuToolButton and list the options "Fetch", "Rebase 'branch-name'", "Merge into 'branch-name'". The merge and rebase dialogs would look like this: = master - Rebase ========================= | Rebase the branch 'branch-name' on: | | .-------------------------------------. | | | + Local Branches | | | | | +- master | | | | | +- async-history | | | | | '- stash-support | | | | + Remote Branches | | | | | | | | | | | '-------------------------------------' | | (Cancel)(Rebase) | '-----------------------------------------' When working on this feature please use a feature branch only for those features to ease merging.
I fully agree that giggle must try to hide the difference between plain remote Git repo and SVN ones (and perhaps CVS?). I was thinking about the UI for such features. I like the tabs/views of Giggle, so I'm not sure it is good to manage remotes only via menu entries and dialogs. I imagine a full view, displaying all remotes and the related branches. Actions (push, pull, merge) will then be available via context menu. = Remotes ================================= | .-------------------------------------. | | | + [git] Local Branches | | | | | +- master | | | | | '- stash-support | | | | + [git] Mathias-github | | | | | +- master | | | | | +- async-history | | | | | '- history | | | | + [svn] gnome | | | | | | | | | | | '-------------------------------------' | '-----------------------------------------' Where [git] and [svn] are icons. In such view of the project, we can show more informations about each branch. For example date of the last local commit (in order to remember the possible need for a fetch). Details about branches can be shown via a "Properties" frame, like any other views.
Indeed. Moving the remotes editor from the properties dialog into the main window and making it a proper view absolutely makes sense. Currently remotes and branches are too hard to discover in giggle.
I don't have any specific suggestions for the user interface. I'm just writing this to show my support for this enhancement. Giggle is a great program, and implementing this would be a significant achievement. Think about it: with this enhancement, the absolute best user interface for Subversion would be Giggle! Even TortoiseSVN would be blown out of the water by the combination of Giggle and Git. Thanks for all your hard work!
Mass-fixing incorrect QA contact scheme for giggle so interested people can follow its development. (See 564922#c1 for ref.)
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old bug reports and feature requests in GNOME Bugzilla which have not seen updates for a long time. If you still use giggle and if you still see this bug / want this feature in a recent and currently supported version, then please feel free to report it at https://gitlab.gnome.org/GNOME/giggle/-/issues/ Thank you for creating this report and we are sorry it could not be implemented (volunteer workforce and time is limited).