Ease synchronization between TR and FR-Avm third_party/avmplus

RESOLVED FIXED

Status

Tamarin
Tools
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: pnkfelix, Assigned: pnkfelix)

Tracking

(Depends on: 1 bug)

Details

TR is tamarin-redux
FR-Avm is the copy of tamarin-redux we are seeking to host in the P4 depot, in a state where it is ready for public release.

I want at least one point in the histories of both these repositories where they each have exactly the same set of files, (except FR-Avm keeps its own tamarin-merge.txt) in exactly the same state (no differences in whitespace, exec bits, etc).

The exec bits work is discussed in Bug 730811.  It is almost done.

Beyond that, there are a couple Mercurial dot-config files that were not included in the initial checkin to FR-Avm.

Furthermore, I want to ensure that we can easily migrate to FR-Avm, preferably continuing to use our existing tools (Bugzilla, Mercurial).

For example, the fact that Perfarce did not appear to properly propogate exec-bit changes up from a Mercurial repo to the P4 client checkout is a bug in Perfarce (assuming it hasn't been fixed and I just need to upgrade my version of the extension).

So, this bug is sort-of a tracker for these tasks; it is also largely a place for me to say "it is done" when it is in fact done.
(Assignee)

Updated

6 years ago
Assignee: nobody → fklockii
(Assignee)

Updated

6 years ago
Depends on: 730811
State of affairs as of FR-Avm @CL 1037644 and TR at 7224:589aeeb3c782 (which is not the current tip, but is close to it): When I send an archive of that TR directly into that FR-Avm (after first killing off all the contents of that FR-Avm apart from tamarin-merge.txt), the FR-Avm observes that the archived TR differs in the following ways:

  % find . -not -path './.hg/*' -type f -exec rm {} \; ; \
    hg revert tamarin-merge.txt ; R=$(cat tamarin-merge.txt  | cut -d / -f 6) ; \
    P=$(pwd) ; ( cd ~/Dev/tamarin-redux && hg archive -r $R -t files $P ) ;     \
    hg status -mardui
  M build/buildbot/slaves/mac-deep/buildbot.tac
  M test/runsmokes-arm-mips.txt
  ! test/acceptance/regress/security/bug567284.abc
  ! utils/exactgc.abc
  ? .hg_archival.txt
  ? .hgtags

So:

* The two modified files are due to Bug 730811

* The two missing ("!") files are due to build artifacts accidentally being committed to FR-Avm.  (Will fix.)

* The first not tracked ("?") file, .hg_archival.txt, is an artifact of my "hg archive" command.  (I do not see an option for "hg archive" to skip generating it.)  It can be ignored.

* The second not tracked ("?") file, .hgtags, does have history in TR, despite being an empty file there.  I'm guessing we're best off putting a similar empty file in our repository here, but I'm open to suggestions that we kill it off from TR instead.  (It looks like we had a few months back in 2008/2009 of trying to use tags before Lars just got rid of all the tags.  I don't know why we have not removed the file; but I am not familiar with Mercurial's tags mechanism.)
(In reply to Felix S Klock II from comment #1)
> * The two missing ("!") files are due to build artifacts accidentally being
> committed to FR-Avm.  (Will fix.)

Fixed in CL 1037646
(In reply to Felix S Klock II from comment #0)
> For example, the fact that Perfarce did not appear to properly propogate
> exec-bit changes up from a Mercurial repo to the P4 client checkout is a bug
> in Perfarce

Grunt; when I wanted the exec-bits to change, they did not propogate.

But when I accidentally included an exec-bit change in a changelist that I could not generate via naive use of MQ, some how Perfarce then decided to include that exec-bit toggle.  (Sigh.)
(In reply to Felix S Klock II from comment #1)
> * The second not tracked ("?") file, .hgtags, does have history in TR,
> despite being an empty file there.  I'm guessing we're best off putting a
> similar empty file in our repository here, but I'm open to suggestions that
> we kill it off from TR instead.

The plot sickens (sic): the .hgtags file *does* exist in the P4 client (and presumably in the depot).  It just is not in the Perfarce clone of the P4 client (boo).

So this is another Perfarce bug.  It is unfortunate for my workflow.  But more important: why is Perfarce making a special case here?  Will investigate tomorrow (i.e. later today).
(In reply to Felix S Klock II from comment #3)
> (In reply to Felix S Klock II from comment #0)
> > For example, the fact that Perfarce did not appear to properly propogate
> > exec-bit changes up from a Mercurial repo to the P4 client checkout is a bug
> > in Perfarce
> 
> Grunt; when I wanted the exec-bits to change, they did not propogate.

(Note that I've been sloppy about describing the propogating problem here, and also in tracking it.  In particular, it could be that the hg->p4 direction works, but then the p4->hg direction fails.  I need to do more careful analysis on a private p4 depot before I can say anything absolute.)
Okay, TR 7232:955829f329dc and FR-Avm @CL 1037676 are a pretty solid synchronization point.

(now I need to start pulling stuff over from FR Main into TR and FR-Avm ... but that surgery will wait until tomorrow morning.)
Most recent synchronization point:
  TR 7243:24feadfe7df2 and FR-Avm @CL 1038602

(There have been a couple others since the one noted in comment 6; a good way to get a focused view of all such synchronization points is to look at the change history of just the file third_party/avmplus/tamarin-merge.txt in the FR-Avm branch.  That's of course assuming that we continue to use the file as a way to log the synchronization points)

An irony is that, by design, we will not be pulling the tamarin-merge.txt over into tamarin-redux, and thus even though I have been tagging my updates to the tamarin-merge.txt file with this Bugzilla ticket number, none of those leading sentences for those changelist descriptions actually link back over here.  But that's okay.

I still want to look into the Perfarce oddness with its handling of exec-bits.  I will wait to close this ticket until I have done that and/or opened a fresh ticket for that work.

Updated

6 years ago
Depends on: 732503

Updated

6 years ago
Depends on: 732972

Comment 8

6 years ago
changeset: 7253:f3f4752d0558
user:      Felix S Klock II <fklockii@adobe.com>
summary:   Bug 731472: White-space removal to bring TR in sync with P4 (r=fklockii).

http://hg.mozilla.org/tamarin-redux/rev/f3f4752d0558

Updated

6 years ago
Depends on: 737036
We've migrated.  We've got some scripts in place; I can provide mine on request.  But I'd say this is done at this point.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.