Re: Linking of a derived file that was a project file

Richard Walker <[email protected]>
Newsgroups gmane.comp.version-control.aegis.user
Message-ID <CAFyNgSEPhwQ7tF06yt3-T9T8o0jURRSNCxLejBW5b2XJeFVUJg@mail.gmail.com>
On 14 July 2011 11:14, Richard Walker wrote:
> Using: Aegis version 4.24.D004
> (Issue already addressed in 4.25?)

I can be more helpful.  I downloaded 4.25.D238
and compiled with debugging on.
(Note: there is an error in common/regula_expre.cc
line 83 which makes compilation fail with
DEBUG enabled.)

The output for aedb with -trace libaegis/change/build/symlinks.cc
shows this for the .o file (I obfuscated the filename):

aegis:  symlin: 419:    maintain(path_rel = "src/abc/def.o",
aegis:  symlin: 419:      depth = 1)
aegis:  symlin: 419:    {
aegis:  symlin: 421:      top_level_symlink = 0
aegis:  symlin: 509:      dir_stack_walk_file
aegis:  symlin: 793:      file NOT at top
aegis:  symlin: 904:      rem_depth: 1
aegis:  symlin: 980:      derived file not at top
aegis:  symlin: 1010:   }

The symbolic link is now present.

Then I did an aecp of an unrelated file, and did
aeb.  The output contains this for the .o file:

aegis:  symlin: 419:    maintain(path_rel = "src/abc/def.o",
aegis:  symlin: 419:      depth = 1)
aegis:  symlin: 419:    {
aegis:  symlin: 421:      top_level_symlink = 1
aegis:  symlin: 509:      dir_stack_walk_file
aegis:  symlin: 512:      top level symlink
aegis:  symlin: 568:      project file
aegis:  symlin: 571:      rm /home/devel/ghi/jkl.0.1.C023/src/abc/def.o
aegis:  symlin: 1010:   }

Ouch!  So the code from line 859 onwards
labelled as by Ralph Smith (added for
version 4.22.1)
that is reached during aedb is not reached
by the subsequent aeb.

So I tried the following:
aedbu
aedb
aecp unrelated-file
rm src/abc/def.o (i.e., remove the .o file created by aedb)
aeb

This time, the aeb recreates the symbolic link for the .o file!

Then I did aeb again - which _removed_ the .o file the
first aeb created!

So, this is a defect in the maintain() function in
libaegis/change/build/symlinks.cc.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.