Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 362182

Summary: JavaHL: Commit across multiple project atomically does not work
Product: [Technology] Subversive Reporter: dan carter <dantheperson>
Component: CoreAssignee: Igor Burilo <igor.burilo>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description dan carter CLA 2011-10-27 07:37:11 EDT
Build Identifier: 20110916-0149

I have a one level deep maven project tree

repo/trunk/module-api/pom.xml
repo/trunk/module-impl/pom.xml
repo/trunk/pom.xml

(It also has src/main/java etc but leaving that out for simplicity)

I check this out into my workspace with file->import->check out maven projects from SCM.
And point it at repo/trunk/pom.xml

This results in an on disk structure of 

myeclipseworkspace/fitp-aggregator/module-api/pom.xml
myeclipseworkspace/fitp-aggregator/module-impl/pom.xml
myeclipseworkspace/fitp-aggregator/pom.xml

fitp-aggregator is the maven name of the parent project repo/trunk/pom.xml

If I modify an interface in the API, and make a corresponding change to the implementation, and check this in, subversive makes two separate commits, breaking the fundamental subversion rule of atomic commits, making subversive unusable.

If if use commandline svn in the workspace, or tortoise, or subclipse/javaHL it commits atomically.
 


Reproducible: Always

Steps to Reproduce:
1.change two files in different projects
2.commit
3.
Comment 1 Alexander Gurov CLA 2011-10-27 08:30:28 EDT
Are these projects belongs to single working copy or not (i.e. do they have a common ancestor with a related .svn folder inside)?
Comment 2 dan carter CLA 2011-10-30 11:18:20 EDT
(In reply to comment #1)
> Are these projects belongs to single working copy or not (i.e. do they have a
> common ancestor with a related .svn folder inside

fitp-aggregator is the common ansestor and has a .svn file

They were checked out from svn in one checkout with the 'checkout maven projects from SCM'

For example if i edit 3 files,one each per project; one in the parent project, and one in each sub project, commandline svn says this:

carteda@LONWD010262:/c/dev/workspaces/two/fitp-aggregator$ svn status
M       calculation-runtime/src/main/java/com/nomura/fitp/calculation/internal/CalculationBroker.java
M       fitp-pom/pom.xml
M       calculation-api/src/main/java/com/nomura/fitp/calculation/CalculationService.java

But subversive would make 3 checkins where commandline svn makes one.


Note that with a hierarchical maven project tree like this the subprojects show up as plain files/folders in the parent project, as well as opening as projects in their own right.
I filter subdirectories from the parent project as i only want the java files to show up once as proper java resources in the subprojects.
Comment 3 dan carter CLA 2011-10-30 11:22:01 EDT
Whoops, edited the wrong pom.xml in my example.  Should have been in the parent.

carteda@LONWD010262:/c/dev/workspaces/two/fitp-aggregator$ svn status
M       calculation-runtime/src/main/java/com/nomura/fitp/calculation/internal/CalculationBroker.java
M       calculation-api/src/main/java/com/nomura/fitp/calculation/CalculationService.java
M       pom.xml
Comment 4 Alexander Gurov CLA 2011-11-12 12:48:32 EST
Thank you for information. The issue is fixed.