On 9/5/15 10:28 AM, Luc Maisonobe wrote:
> 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.

I do the same thing, except that I generate the patch before the
first commit, so I don't need the additional arguments to the git
diff.  Now and then the patches don't apply cleanly, but that's to
be expected when refactoring has happened in master.

Phil
>
> 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
>
>



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

Reply via email to