![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
svncherrypicker
Advanced tools
a small command line utility written in nodejs to help find unmerged commits while cherrypicking in svn repositories
I personally don't like to cherrypick in svn. But sometimes I have to work with teams where cherrypicking is normal part of the workflow. I wrote this utility to make cherrypicking a little easier.
Install using npm
npm install -g svncherrypicker
svncp --help
svncp <command> -- help
Assume that I have a svn repository at http://svnexample.com/repo1 I want to cherrypick some revisions from branches/feature1 to trunk.
I will first setup the session
svncp setup http://svnexample.com/repo1/branches/feature1 http://svnexample.com/repo1/trunk
I will then run populate command
svncp populate
It could take a while if there are a lot of unmerged commits between source and destination. Since populate command caches data about revision details, subsequent runs will be faster.
I will then use filter command to find revisions
by user1
svncp filter --author user1
by message
svncp filter --message somestring
svncp filter --message r:someregex
svncp filter --message r:f:i:someregex
by files/folders
svncp filter --paths g:lib/*.js
svncp filter --paths r:someregex
svncp filter --paths exactpath
I can adjust the response of filter command by --display option. I will use "c" to only display number of matched commits. "t" to display response in a table. "j" to return response in json format. I can also adjust which fields to return. "a,d,p,m" author,date,paths,message.
So for example:
svncp filter --author user1 --paths g:lib/*.js --display t --fields "p,m"
Will return all the revisions made by user1 which changed/added/removed js files inside lib folder. It will print information in a table. It will only print Revision Number, Paths, and Message fields.
Response
Revision Number | Paths | Message |
---|---|---|
23 | lib/somefile.js | Updated it to do something |
34 | lib/someotherfile.js | Fixed some issue |
If I run svncp filter and I see the response where I want all the revisions. I will just use
svncp pick last
Which will add filtered revisions from last filter command to saved bucket.
If I only want few revisions from filtered response. I can just select them.
svncp pick 23,45,67
I can use unpick command to remove some or all revisions from saved bucket.
svncp unpick 23,67
svncp unpick all
svncp unpick last
unpick last removes all revisions which were returned by last filter command.
Using filter,pick,unpick command I can manage to find all the revisions I want to merge easily. After I have found all the revisions, I will just run
svncp merge
Which will print the svn merge command using source/destination setting from current session and revisions from saved bucket. I will then copy and run that command in destination working directory to merge.
FAQs
a small utility to find unmerged commits
The npm package svncherrypicker receives a total of 3 weekly downloads. As such, svncherrypicker popularity was classified as not popular.
We found that svncherrypicker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.