[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] git mv, duplicated projects and graduating projects out of incubation/ (was Re: build of deleted files/classes)

On 01/28/2011 06:02 PM, Scott Lewis wrote:
> Hi Markus,
> On 1/28/2011 8:55 AM, Markus Alexander Kuppe wrote:
>> <stuff deleted>
>> This can certainly be fixed, but not easily. And I am not even sure it
>> should be fixed.
> I think it should be fixed.  I'm willing to do the work of course.  So
> please tell me what needs to be done with the build to fix it.

I have no idea how a fix could look like. Right now it simply
copies/flattens the git repo into the project/ folder via a copy
command. You would have to add some code that e.g. detects the duplicate
and renames one of the projects (which one?)...

>> Two projects/bundles with the same name (+version) but
>> different content just cause problems.
> Given the fact that we frequently have things go through incubation, and
> it would...in many cases...make perfect sense to have project history
> (during incubation) remain in incubation this doesn't seem like a crazy
> use case to me.
> <stuff deleted>
>> I don't see what this is good for. The only use case I can think about
>> gets addressed by the SCM history if it is kept intact.
> It does make some sense, IMHO to keep the incubation history in
> incubation area.
> So...please tell me what the necessary build changes are, and I will
> make them.

What you are trying to achieve by keeping the old project is one of the
things git already does. If moved properly in git, the incubation folder
will have a revision that shows the move from incubation/ to osgi/. This
is one of the feature git has over CVS.

Copying the project means:
- Two projects with the same name but different content => confuses
consumers, the build...
- No history for the graduated project in osgi/ prior to the move
- No history in incubation/ that the project got moved to osgi/
- Bloated build due to extra handling of duplicate projects

Generally incubation/ makes a lot less sense with git. The work flow
most projects follow is, that a new feature (project) gets developed in
a dedicated feature branch that eventually is merged into master (or
integration) once finished.