I used to use git to port features between different branches, rebase, rebase --onto, cherry-pick are typical tools I used. But now I have to work with svn. I don't like to use svn's built in merge command, cause it will combine all the commits into one "merge commit", though with some history traceability after 1.5. Say if I have a range of commits from r100 to r110 in branchA, now I want to port this feature to branchB and branchC by replaying these commits one by one with the same commit comment (resolve any conflicts in between). Is there any automatic tool which can do this for me?
How to transplant patches in svn
498 Views Asked by Terry Shi At
2
There are 2 best solutions below
3
Hank Gay
On
If you can, use git-svn. The awesome git history won't be in the central repo, but you'll have a much better time managing the work on your end.
Related Questions in SVN
- Why does the Jenkins SVN plugin give error E170001 when connecting to my VisualSVN server?
- How to find the Git Revision Hash in a synced SVN repo using SubGit?
- In SVN, what's the different between "merge from a to b" an "merge from b to a"?
- Revert back to older version in TortoiseSVN and Commit
- SVN - folder checkout and merges
- Automatically Compile .Net UserControls
- SVN update not working
- maven-scm-plugin 1.9.4 - too old to work with working copy
- git-svn problems creating tags
- Sonarqube SVN Plugin fails with code E155007 'is not a working copy'
- Install Subversion 1.7 on Debian jessie
- How to customize svn date format
- Reverse Merge and svn:mergeinfo
- Automatically deploy latest revision to website from SVN server
- What is a generic name for SVN's "trunk", "tags" and "branches" directories?
Related Questions in GIT
- Push mysql database script to server using git
- Git show's file path
- Git > diffs filtered, show only certain changed classes/files
- Pushing to git repository hosted by Visual studio online without entering user name and password
- How do I create my own Git branch to work on?
- Git init --bare giving error fatal: Out of memory? mmap failed: No such device
- Sub-directory into independent repository and later merge back into main repository
- How to find the Git Revision Hash in a synced SVN repo using SubGit?
- eclipse errors when try to change to master git branch
- How to have Heroku build my development branch on a staging server?
- Is "Merged in" a commit message created by bitbucket, or git?
- Git: Multiple projects under one directory
- Permission denied hg-git
- Is it possible to clone a private git repo without adding ssh keys
- Track file in master repository which is ignored in submodule
Related Questions in MERGE
- Sub-directory into independent repository and later merge back into main repository
- R: Avoid loop or row apply function
- neo4j load csv invalid "ON MATCH"
- PIG merge two lines in the log
- In SVN, what's the different between "merge from a to b" an "merge from b to a"?
- git merge "deleted by us"
- Merge sort using CUDA: efficient implementation for small input arrays
- Merge project from other branch git
- Get a single line representation for multiple close by lines clustered together in opencv
- merge or mutate a summary (dplyr)
- How to I combine data from two XML files into the same structure?
- Merging PDF files with similar names using PDFTK and a bash script
- git has problems with squashing commits once there is "Merge branch"
- How can I combine elements at the same index from separate lists?
- Merging two sorted stacks
Related Questions in PATCH
- Patch update Authenticated User in Laravel
- Magento Fatal Error in /IndexController.php on line 23
- Rails 4 patch request does not update attributes
- Can I apply changes from a perforce patch(downloaded from review board) to my code
- Forbidden when trying to patch User
- When a security update is applied as a patch, does the product name change?
- Patch on a modified file
- Postgresql: How to apply pg_dump --exclude-table-data patch?
- WSO2 Carbon Core 4.2.0 Patch 10 build failed
- How to do delta extraction from GIT for patching?
- Wix ToolSet Patch Creation Using "Patch Creation Properties"
- NetLogo 3D: Transparent Patches
- Using GNUwin patch
- Onenote API (REST) - PATCH append - "must include a 'commands'" error when Commands is already supplied (?!)
- creating an empty file from diff using svn patch
Related Questions in TRANSPLANT
- How to migrate my cakephp2 project to cakephp3?
- How to transplant patches in svn
- cannot add C++/CLI dll to windows phone
- windows phone empty dynamic link library : visual C++
- how to transplant linux shell command from linux to android
- Transplanting into one changeset
- In hg, how can I drop the branch name when rebasing and/or transplanting from another repo?
- In mercurial, is there a way to merge during transplant?
- mercurial transplant a merge commit
- In Mercurial (hg), how do you query the hg database for changeset information?
- How to achieve a private branch in git that "floats" when merging with upstream?
- Prestashop | Remove transplant restrictions
- Transplant into workspace without commiting
- Is it hard to transplant my ios app to android app?
- prestashop 1.4 transplant home featured module in a new hook
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I don't know of any automated tool to do this, but you could implement one along the same lines of
git rebase. All it does it make a temporary directory and usegit format-patchto to extract the changes you want to rebase and thengit amto apply them back to the target root. If you typelocate git-rebaseon your system you can read it -- it's a shell script. It's probably/usr/local/libexec/git-core/git-rebase.The
svnequivalent would usesvn diffandsvn logto save the original commit information followed bypatchandsvn commit.