Re: aerb "file has been altered" errors after removing files in branch

Calvin Webster <[email protected]> Sat, 23 Apr 2016 13:30:48 -0400
Newsgroups gmane.comp.version-control.aegis.user
Message-ID <1461432648.14245.134.camel@klink>
--===============0201048893988955372==
Content-Type: multipart/alternative; boundary="=-cwUzEDTIVOYX7eQs/J6m"


--=-cwUzEDTIVOYX7eQs/J6m
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

I've dug around some more but I'm still stuck trying to push through
this error.


[root@pegasus2 bin]# su - mtrev
Last login: Fri Apr 22 08:05:10 EDT 2016 on pts/0
[mtrev@pegasus2 ~]$ aerb -p av8b93.23 -c 15023
aegis: project "av8b93.23": change 15023: file "CymSOUND93/bin/buildinfo,D" has been altered
[mtrev@pegasus2 ~]$ 


Can you tell me what files Aegis is comparing to produce this error?

	As I said before, this file (CymSOUND93/bin/buildinfo,D) does not
exist.
	Since the original source (CymSOUND93/bin/buildinfo) was removed there
can only be copies in parent branches with which to compare.
	
	If it's comparing two files I need to see the two files to see what's
different, if anything.

If it's using the crypto data as a checksum to compare, how is the
crypto value produced? 

	It doesn't look like a cryptographic hash from any common tool.

	I had a system utility to use I could re-compute the "crypto" and place
the correct value in this field.

What if I just removed every reference to bin/buildinfo I can find in
the project info/ (and maybe history/) dirs?

	Would this be likely to remove the block?



On Fri, 2016-04-22 at 16:24 -0400, Calvin Webster wrote:

> I haven't had any luck so far but I've got another question.
> 
> Here is the exact error message:
> 
> [root@pegasus2 bin]# su - mtrev
> Last login: Fri Apr 22 08:05:10 EDT 2016 on pts/0
> [mtrev@pegasus2 ~]$ aerb -p av8b93.23 -c 15023
> aegis: project "av8b93.23": change 15023: file
> "CymSOUND93/bin/buildinfo,D"
> 	has been altered
> [mtrev@pegasus2 ~]$ 
> 
> The file that the message is referencing ("CymSOUND93/bin/buildinfo,D")
> does not exist anywhere in the source tree. The file did exist during
> the change in which it was removed (aerm) from project, but that was
> several changes prior.
> 
> The closest match is "CymSOUND/bin/buildinfo,D" in the parent branch to
> the branch I'm trying to review. This was from an earlier version before
> the "CymSOUND" directory was renamed to "CymSOUND93" in a "aemv"
> operation.
> 
> Questions: 
> 
> 1. Why would Aegis reference a non-existent file?
> 	The original file (not ,D) is there but only as a derived file.
> 2. What is it really trying to say? How could I change the 15023.fs file
> to make Aegis happy?
> 
> I see this file listed in info/change/0/023.branch/150/15023.fs twice. 
> 
> Once for when it was moved due to the directory rename:
> -------------------------------------------------------
>         {
>                 file_name = "CymSOUND/bin/buildinfo";
>                 uuid = "8f79937e-0eec-4bb5-8830-6a32aa744e48";
>                 action = remove;
>                 edit =
>                 {
>                         revision = "1.1";
>                         encoding = none;
>                 };
>                 edit_origin =
>                 {
>                         revision = "1.1";
>                         encoding = none;
>                 };
>                 usage = source;
>                 move = "CymSOUND93/bin/buildinfo";
>                 deleted_by = 10;
>                 executable = true;
>         },
> -------------------------------------------------------
> 
> Then again when it was removed from the project:
> ------------------------------------------------
>         {
>                 file_name = "CymSOUND93/bin/buildinfo";
>                 uuid = "17578e0d-31aa-4398-9c42-0aa40d35c981";
>                 action = remove;
>                 edit =
>                 {
>                         revision = "1.1";
>                         encoding = none;
>                 };
>                 edit_origin =
>                 {
>                         revision = "1.1";
>                         encoding = none;
>                 };
>                 usage = source;
>                 diff_file_fp =
>                 {
>                         youngest = 1461257097; /* Thu Apr 21 12:44:57
> 2016 */
>                         oldest = 1461257097; /* Thu Apr 21 12:44:57 2016
> */
>                         crypto =
> "6L:L4.Ni95e.CWQR93BThM901ySSU0NA42A0QTHI.u.yoA.YB28w.pH8tw0qyHoX0wHUfb0dP9wv";
>                 };
>                 deleted_by = 5;
>                 executable = true;
>         },
> ------------------------------------------------
> 
> 
> 
> I have recreated the file with "diff -U10 file_name /dev/null" and tried
> several variations of dates inside the file but nothing I've done
> changes the error message.
> 
> 
> On Fri, 2016-04-22 at 19:51 +0200, Ralf Fassel wrote:
> > * Calvin Webster
> > | The error indicates a file has been altered. I'm assuming Aegis is
> > | comparing time stamps on some files. Whether these are recorded time
> > | stamps in metadata or read directly from repo files, I'm not certain.
> > 
> > Did you try to remove the ,D (rm file,D) and run 'aed' again?
> > This usually recreates it from scratch, updating aegis' idea of what
> > it contains.
> > 
> > 
> > Actually I think aegis is comparing hashes, not timestamps.
> > 
> > If you look in the info/ subtree of your aegis project directory, you
> > will find .fs files corresponding to the branches/changes.  These list
> > the files of the branch/change and usually has an entry like this for
> > each file:
> > 
> > 	{
> > 		file_name = "path/to/file/in/project";
> > 		action = modify;
> > 		edit_origin =
> > 		{
> > 			revision = "1.2";
> > 			encoding = none;
> > 		};
> > 		usage = source;
> > 		file_fp =
> > 		{
> > 			youngest = 1461140155; /* Wed Apr 20 10:15:55 2016 */
> > 			oldest = 1461056449; /* Tue Apr 19 11:00:49 2016 */
> > 			crypto = "OPaAAM6KA:IdH3DeWYeCL9Y2TAaBY06O4Xb0r3EHorkrfFxMrMtsg9MBx6mwtEmd00eNcb0MHQW4";
> > 		};
> > 		diff_file_fp =
> > 		{
> > 			youngest = 1461140155; /* Wed Apr 20 10:15:55 2016 */
> > 			oldest = 1461140155; /* Wed Apr 20 10:15:55 2016 */
> > 			crypto = "rx.r748dmQS1hLtEwmGh0Gb1KjyRN0.tLRj0emhTWqu5lZavQH3Q8GeURuWbavlh0HYHgs0Z2zhm";
> > 		};
> > 	},
> > 
> > The crypto there is a hash based on which aegis determines whether a
> > file has changed.  The diff_file_fp entry is probably what you're
> > looking for.
> > 
> > | Isn't there a way to reset one or more these date/time stamps that are
> > | being referenced so Aegis is happy? I've tried various changes using
> > | "touch" and editing diff (,D) date/time lines with no luck so far.
> > 
> > Backup the info/ subtree (or better the whole aegis project) before
> > fiddling with these...
> > 
> > HTH
> > R'
> > _______________________________________________
> > Aegis-users mailing list
> > [email protected]
> > https://lists.auug.org.au/listinfo/aegis-users
> 
> 
> _______________________________________________
> Aegis-users mailing list
> [email protected]
> https://lists.auug.org.au/listinfo/aegis-users



--=-cwUzEDTIVOYX7eQs/J6m
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.32.2">
</HEAD>
<BODY>
<B><FONT COLOR="#000080">I've dug around some more but I'm still stuck trying to push through this error.</FONT></B><BR>
<BR>
<PRE>
[<A HREF="mailto:root@pegasus2">root@pegasus2</A> bin]# su - mtrev
Last login: Fri Apr 22 08:05:10 EDT 2016 on pts/0
[<A HREF="mailto:mtrev@pegasus2">mtrev@pegasus2</A> ~]$ <B>aerb -p av8b93.23 -c 15023</B>
aegis: project &quot;av8b93.23&quot;: change 15023: <FONT COLOR="#ff0000">file &quot;CymSOUND93/bin/buildinfo,D&quot; has been altered</FONT>
[<A HREF="mailto:mtrev@pegasus2">mtrev@pegasus2</A> ~]$ 
</PRE>
<BR>
<B>Can you tell me what files Aegis is comparing to produce this error?</B><BR>
<BR>
	As I said before, this file (CymSOUND93/bin/buildinfo,D) does not exist.<BR>
	Since the original source (CymSOUND93/bin/buildinfo) was removed there can only be copies in parent branches with which to compare.<BR>
	<BR>
	If it's comparing two files I need to see the two files to see what's different, if anything.<BR>
<BR>
<B>If it's using the crypto data as a checksum to compare, how is the crypto value produced? </B><BR>
<BR>
	It doesn't look like a cryptographic hash from any common tool.<BR>
<BR>
	I had a system utility to use I could re-compute the &quot;crypto&quot; and place the correct value in this field.<BR>
<BR>
<B>What if I just removed every reference to bin/buildinfo I can find in the project info/ (and maybe history/) dirs?</B><BR>
<BR>
	Would this be likely to remove the block?<BR>
<BR>
<BR>
<BR>
On Fri, 2016-04-22 at 16:24 -0400, Calvin Webster wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
I haven't had any luck so far but I've got another question.

Here is the exact error message:

[root@pegasus2 bin]# su - mtrev
Last login: Fri Apr 22 08:05:10 EDT 2016 on pts/0
[mtrev@pegasus2 ~]$ aerb -p av8b93.23 -c 15023
aegis: project &quot;av8b93.23&quot;: change 15023: file
&quot;CymSOUND93/bin/buildinfo,D&quot;
	has been altered
[mtrev@pegasus2 ~]$ 

The file that the message is referencing (&quot;CymSOUND93/bin/buildinfo,D&quot;)
does not exist anywhere in the source tree. The file did exist during
the change in which it was removed (aerm) from project, but that was
several changes prior.

The closest match is &quot;CymSOUND/bin/buildinfo,D&quot; in the parent branch to
the branch I'm trying to review. This was from an earlier version before
the &quot;CymSOUND&quot; directory was renamed to &quot;CymSOUND93&quot; in a &quot;aemv&quot;
operation.

Questions: 

1. Why would Aegis reference a non-existent file?
	The original file (not ,D) is there but only as a derived file.
2. What is it really trying to say? How could I change the 15023.fs file
to make Aegis happy?

I see this file listed in info/change/0/023.branch/150/15023.fs twice. 

Once for when it was moved due to the directory rename:
-------------------------------------------------------
        {
                file_name = &quot;CymSOUND/bin/buildinfo&quot;;
                uuid = &quot;8f79937e-0eec-4bb5-8830-6a32aa744e48&quot;;
                action = remove;
                edit =
                {
                        revision = &quot;1.1&quot;;
                        encoding = none;
                };
                edit_origin =
                {
                        revision = &quot;1.1&quot;;
                        encoding = none;
                };
                usage = source;
                move = &quot;CymSOUND93/bin/buildinfo&quot;;
                deleted_by = 10;
                executable = true;
        },
-------------------------------------------------------

Then again when it was removed from the project:
------------------------------------------------
        {
                file_name = &quot;CymSOUND93/bin/buildinfo&quot;;
                uuid = &quot;17578e0d-31aa-4398-9c42-0aa40d35c981&quot;;
                action = remove;
                edit =
                {
                        revision = &quot;1.1&quot;;
                        encoding = none;
                };
                edit_origin =
                {
                        revision = &quot;1.1&quot;;
                        encoding = none;
                };
                usage = source;
                diff_file_fp =
                {
                        youngest = 1461257097; /* Thu Apr 21 12:44:57
2016 */
                        oldest = 1461257097; /* Thu Apr 21 12:44:57 2016
*/
                        crypto =
&quot;6L:L4.Ni95e.CWQR93BThM901ySSU0NA42A0QTHI.u.yoA.YB28w.pH8tw0qyHoX0wHUfb0dP9wv&quot;;
                };
                deleted_by = 5;
                executable = true;
        },
------------------------------------------------



I have recreated the file with &quot;diff -U10 file_name /dev/null&quot; and tried
several variations of dates inside the file but nothing I've done
changes the error message.


On Fri, 2016-04-22 at 19:51 +0200, Ralf Fassel wrote:
&gt; * Calvin Webster
&gt; | The error indicates a file has been altered. I'm assuming Aegis is
&gt; | comparing time stamps on some files. Whether these are recorded time
&gt; | stamps in metadata or read directly from repo files, I'm not certain.
&gt; 
&gt; Did you try to remove the ,D (rm file,D) and run 'aed' again?
&gt; This usually recreates it from scratch, updating aegis' idea of what
&gt; it contains.
&gt; 
&gt; 
&gt; Actually I think aegis is comparing hashes, not timestamps.
&gt; 
&gt; If you look in the info/ subtree of your aegis project directory, you
&gt; will find .fs files corresponding to the branches/changes.  These list
&gt; the files of the branch/change and usually has an entry like this for
&gt; each file:
&gt; 
&gt; 	{
&gt; 		file_name = &quot;path/to/file/in/project&quot;;
&gt; 		action = modify;
&gt; 		edit_origin =
&gt; 		{
&gt; 			revision = &quot;1.2&quot;;
&gt; 			encoding = none;
&gt; 		};
&gt; 		usage = source;
&gt; 		file_fp =
&gt; 		{
&gt; 			youngest = 1461140155; /* Wed Apr 20 10:15:55 2016 */
&gt; 			oldest = 1461056449; /* Tue Apr 19 11:00:49 2016 */
&gt; 			crypto = &quot;OPaAAM6KA:IdH3DeWYeCL9Y2TAaBY06O4Xb0r3EHorkrfFxMrMtsg9MBx6mwtEmd00eNcb0MHQW4&quot;;
&gt; 		};
&gt; 		diff_file_fp =
&gt; 		{
&gt; 			youngest = 1461140155; /* Wed Apr 20 10:15:55 2016 */
&gt; 			oldest = 1461140155; /* Wed Apr 20 10:15:55 2016 */
&gt; 			crypto = &quot;rx.r748dmQS1hLtEwmGh0Gb1KjyRN0.tLRj0emhTWqu5lZavQH3Q8GeURuWbavlh0HYHgs0Z2zhm&quot;;
&gt; 		};
&gt; 	},
&gt; 
&gt; The crypto there is a hash based on which aegis determines whether a
&gt; file has changed.  The diff_file_fp entry is probably what you're
&gt; looking for.
&gt; 
&gt; | Isn't there a way to reset one or more these date/time stamps that are
&gt; | being referenced so Aegis is happy? I've tried various changes using
&gt; | &quot;touch&quot; and editing diff (,D) date/time lines with no luck so far.
&gt; 
&gt; Backup the info/ subtree (or better the whole aegis project) before
&gt; fiddling with these...
&gt; 
&gt; HTH
&gt; R'
&gt; _______________________________________________
&gt; Aegis-users mailing list
&gt; <A HREF="mailto:[email protected]">[email protected]</A>
&gt; <A HREF="https://lists.auug.org.au/listinfo/aegis-users">https://lists.auug.org.au/listinfo/aegis-users</A>


_______________________________________________
Aegis-users mailing list
<A HREF="mailto:[email protected]">[email protected]</A>
<A HREF="https://lists.auug.org.au/listinfo/aegis-users">https://lists.auug.org.au/listinfo/aegis-users</A>
</PRE>
</BLOCKQUOTE>
<BR>
</BODY>
</HTML>

--=-cwUzEDTIVOYX7eQs/J6m--


--===============0201048893988955372==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWVnaXMtdXNl
cnMgbWFpbGluZyBsaXN0CkFlZ2lzLXVzZXJzQGxpc3RzLmF1dWcub3JnLmF1Cmh0dHBzOi8vbGlz
dHMuYXV1Zy5vcmcuYXUvbGlzdGluZm8vYWVnaXMtdXNlcnMK

--===============0201048893988955372==--