Le 05/09/2015 01:47, Gilles a écrit :
> On Fri, 04 Sep 2015 19:50:05 +0200, Thomas Neidhart wrote:
>> On 09/04/2015 03:08 PM, Gilles wrote:
>>> Hello.
>>>
>>> There are two branches for Commons Math.
>>>
>>> For one, the top-level Java package is
>>>   org.apache.commons.math4
>>> For the other, it is
>>>   org.apache.commons.math3
>>>
>>> Unless I'm mistaken, this should imply that maven tries to compile
>>> only files under either
>>>   src/main/java/org/apache/commons/math4
>>>   src/test/java/org/apache/commons/math4
>>> or
>>>   src/main/java/org/apache/commons/math3
>>>   src/test/java/org/apache/commons/math3
>>>
>>> But it happens that I have currently files in "math3" not currently
>>> checked in into git: those are new files which git does not remove
>>> when switching branches.
>>> Then when starting a compilation in "master" (where the top-level
>>> is "math4"), lots of compilation errors occur.
>>>
>>> The "source" top-level directories do not seem to be specified
>>> in the project's POM.
>>> Can the parent be changed in order to produce the desired behaviour?
>>>
>>> Or is there a workaround?
>>> Is there a better way to handle the situation (short of manually
>>> moving the source files back and forth)?
>>
>> you probably want to take a loot at the stash command from git.
>>
>> This is very helpful (and needed) when switching between branches.
>> The source files are required to be tracked by git though (i.e. need to
>> be added).
> 
> Yes, I've used it, but perhaps not in the most efficient way (?).
> 
> For backporting, I ended up keeping files from "math4" open in an editor.
> Switch branch, and copy/paste code to the corresponding "math3" files. :-}
> 
> Suggestion for a better way welcome (as requested a few weeks ago)...

When I port a change from math3 to math4 (or the other way round), what
I do is:

 - do all the work in one version, including git commit
 - once a change is committed in one version, I create the
   path file for the other version with something like:

     git diff -p HEAD~1 HEAD | sed 's,math3,math4,g' > /tmp/x.patch

 - then I swith to the other version

     git checkout master

 - then I applied the patch that already contains the updated number

     patch -p1 < /tmp/x.patch

 - then I commit it in this branch

     commit -m "the message for the commit'

It works quite well.

best regards,
Luc

> 
>>
>> afaik, you can also exclude files from the src folder, so that they are
>> not compiled.
> 
> That would be fine too (the "reverse" of Ole's proposal).
> 
> 
> Gilles
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to