Version control - independence

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hi,

I'm looking to commit our software to subversion, for the first time.
Infact, I've got two versions to check-in, a V1, and a V2.
They're sitting on my PC presently, in C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\, and C:\Workspaces\DAVE-4.3-64Bit\Foobar\V2\
Within each, is my main.c, and the usual subfolders, Dave, Libraries, Startup, and so forth.
And both build, where they are sitting, 0 errors, 0 warnings.
So far, so good.

I learned recently, that DAVE stores the *fullpath*, within several project settings.
Specifically, on the C/C++ Project or Project Explorer tab, if you right-click Project,
then Properties, then C/C++ Build > Logging > Log file location, you'll find there eg:

C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\.metadata\.plugins\org.eclipse.cdt.ui\Project.build.log

Also, for C/C++ Build > Environment > CWD, you've got eg:

C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\Project\Debug

And the same, for C/C++ Build > Environment > PWD.

And maybe others, too, I don't know. I tried grepping for 'C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1',
to see if I could find it any places, but none were found, so I think DAVE must store that, in some kind of
'coded' fashion.

Anyway, I'm wondering, whether the C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\ bit,
can be replaced with something like %Foobars_place% or similar, if you are with me,
so as to make a project, entirely independent, of the folder path, it's living in.

Presently, if in the future, if someone checks-out my project, to a different folder path, and builds,
DAVE will generate the log file as follows, including recreating the complete path leading up to it:

C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\.metadata\.plugins\org.eclipse.cdt.ui\Project.build.log

On the other hand, if using something like %Foobars_place%, could upset some other behaviour or
operation of DAVE, or cause incompatibilities with other parts of the DAVE system, or those other parts
make certain assumptions, about the contents of the above settings, and could be upset by finding
%Foobars_place% in those settings, or if those other parts of DAVE could overwrite those settings,
losing the %Foobars_place% bit, them I'll probably decide not to try making the project independent
of the folder path, it's living in.

I guess what I'm asking, is whether DAVE has built-in, a proper way, and proper support,
for making a project, independent of the folder path, it's living in.

I know, that using the DAVE export and import facility, avoids the need to change the mentioned settings,
to avoid having to do so, manually. But I don't really want to check-into subversion, an export. I really want
to check-in just the C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\ contents, as-is..

..although perhaps, you might advise otherwise.

Of course, an alternative tack, would be to export C:\Workspaces\DAVE-4.3-64Bit\Foobar\V1\,
create a C:\Workspaces\DAVE-4.3-64Bit\Foobar\Current\ folder, say, then import to there,
and then check-in to subversion.

Then, do the same, for C:\Workspaces\DAVE-4.3-64Bit\Foobar\V2\

If you are with me.

But the project is still tied to a particular folder. It's just named instead, C:\Workspaces\DAVE-4.3-64Bit\Foobar\Current\

I've had a read through all the forum posts, about version control systems, but they seem to focus on
what can safely be 'left out', from the check-in, rather than the matter I describe.

Hoping someone can enlighten me..

Best regards,

David King
0 Likes
0 Replies