SVN Merge automated shell script - shell

I am working on shell script, which will automatically merge the different branches in SVN, but currently I stuck as am getting conflicts.
Can we resolve the conflicts by the script only?

No. You can go download a GUI & use it to resolve conflicts. One of the more popular GUIs is: https://tortoisesvn.net/downloads.html It can also be used with a file comparison tool like http://winmerge.org
If you want to try to do this automatically, you may have to figure out which of these options that you'd like to use. These 2 come from Apache's Resolving Tree Conflicts page:
svn resolve --accept=theirs
svn resolve --accept=mine
These 4 come from RedBean.com's SVN 1.8 Basic Work Cycle page:
svn resolve --accept=mine-conflict
svn resolve --accept=theirs-conflict
svn resolve --accept=mine-full
svn resolve --accept=theirs-full
svn resolve --accept=working

Related

JGit checkout error while trying to examine repository with repodriller

I'm trying to run repodriller on all the commits of Jsoup. Each time I start the analysis of a new commit, I need to checkout the repository for that commit, so in my CommitVisitor, I execute this command scmRepository.getScm().checkout(commit.getHash());.
This command throws an exception 9/10 times, being
java.lang.RuntimeException:
org.eclipse.jgit.api.errors.CheckoutConflictException: Checkout
conflict with files:
src/test/resources/htmltests/news-com-au-home.html.gz
src/test/resources/htmltests/xwiki-1324.html.gz
src/test/resources/htmltests/xwiki-edit.html.gz
src/test/resources/htmltests/yahoo-jp.html.gz
Obviously, I have done no modifications on the repository, as I also cloned it fresh.
I highly doubt there's a problem in general with the approach because I've used the same technique on 10 java projects and only this one is problematic.
Is there a way to avoid the checkout of these files with JGit, or some alternative solution to the problem?
If possible, check if the same checkout would work with a regular Git command (git checkout or git switch)
A possible cause of a CheckoutConflictException is an unresolved merge conflict.
I would also check if you have the same file with different case (uper/lowercase).

Jenkins without Git Repository

I have a source code using which I want to test some processes through Jenkins.For that I've installed Jenkins and plugins as well. But I do not have internet access to my machine so I have my source code in a local folder instead of Git.
Please help me to configure Jenkins without git.
Thanks a ton in advance.
in the build steps, you can do something like
cd C:\users\user\Documents\Projects\
// build here
if you're in a different directory, you need to do:
cd D:\Projects
D:
// build here
But deleting the workspace option won't work now. since your artifacts will be stored in the current directory and the workspace is a different directory. you can add an additional step, in this case, to clean up things or you can change the workspace from the advanced option in the general tab.

SVN commit using Jenkins

I recently created an automated process to run multi-step Maven builds for my organization. They now are looking to have the entire process automated using Jenkins. I have been able to successfully create branches, builds, change versions, etc., using Maven commands but I am having difficulty committing the version changes (1.0.1-Snapshot to 1.0.1-E1 for example) with Jenkins. I have tried using basic commands like:
SVN commit "Comments"
However, Jenkins does not seem to know what to do with these command lines in the "Execute Windows Batch File" Post Build option. I simply receive build failures caused by the batch file for "unknown reasons." I see the help desk I am working with has installed the Subversion plugin, but perhaps something else is missing. I know that when I use the command prompt locally I need to use something like this:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe"
/command:commit /path: /url:
However, Jenkins is hosted by a third party and I do not have direct access to the servers so I would not be able to implement that kind of path data. So I am now looking to see if I can run this, somehow, purely through Jenkins as my client requests.
Anyone have any success with SVN Commit to update version changes through Jenkins?
Thanks!
-Cameron
Why did you decide to run TortoiseProc via Jenkins? TortoiseProc is not the right tool for this task, use svn.exe client.
TortoiseProc can be used for TortoiseSVN's GUI automation, but this case is completely different to running Jenkins.

Resolving SVN tree conflicts in Xcode

I'm trying to resolve a tree conflict from SVN in Xcode. From the answer here The operation could not be performed because "PROJECTNAME" has one or more tree conflicts I should simply resolve the conflict using the command-line. No problem, I've got some experience with SVN command line, so I do exactly that
svn merge ^/project/trunk
svn resolve --accept working conflictedFile1.m
svn resolve --accept working conflictedFile2.m
svn resolve --accept working conflictedFile3.m
svn ci . -m "merge: from trunk"
Then I go back to Xcode and just to make sure everything is happy and try to test that everything "took". I do "Source Control -> Update" and then "Source Control -> project -> Merge from Branch … -> trunk" and I again get the stupid error message: "The operation could not be performed because of one or more tree conflicts." and the additional message "The files conflictedFile1.m, conflictedFile2.m, and conflictedFile3.m had a tree conflict."
In fact my question is not how to resolve this tree conflict, but how do I tell Xcode that I already did resolve the conflict? Is there some out-of-date svn database somewhere that I need to refresh/delete? Did I resolve this wrong in the first place?
Bonus question:
It would be really nice to continue to use Xcode's builtin SVN features to do merges, etc. I can use the command line but I'd really rather not for things like merges, when I have a builtin merge-diff tool in my IDE. In general, any advice on using SVN in Xcode properly is greatly appreciated. Therefore, if there is any specific advice anybody can give me to prevent this from happening in the future, I'll be very happy.
What I did was:
(1) branch from trunk to Branch1
(2) add a file on Branch1 (as well as other edits)
(3) branch from Branch1 to Branch2
(4) make edits (no new files)
(5) merge from Branch2 to trunk
(6) merge from trunk to Branch1 -> tree conflict with the files originally created here

buildr from svn repository

I would to run buildr on my svn repository - to build the files from \src\main\java in the subversion repository with username and password and save it to anther location on my disc.
How can I do it?
if i understand your question correctly, you are trying to setup a contiuous build system. checking out source code is the responsibility of your CI system. it would poll your svn, git or whatever cvs you use for changes and then build it on the configuration you provide.
a free build-server is jenkins (aka hudson). if you want a hosted solution you can go for travis-ci (it's free). or something expensive like atlassian bamboo.
You will have to write an Ruby build script - that when you execute will:
Checkout the source
do the 'buildr'
Commit the built file(s)
http://www.markdeepwell.com/2010/06/ruby-subversion-bindings/
http://blog.carlossanchez.eu/2009/08/18/using-subversion-ruby-bindings/
the easiest way is run external svn commands
task :checkout do
system 'svn checkout ..'
end

Resources