Colin Fox | 1 Feb 2005 20:24
Picon

Partial update


Is it possible with update or replay or something to update to a
specific patch level?

For example, I have a production tree currently at patch 10, and I want
it to update to patch 16. The archive is now at patch 19.

I've tried "tla update a--b--c--patch-10" and it just updated all the
way to 19.

How do you do a partial update?

And also, if we do an update to patch 10 and realize that there is a
problem, how would we roll back the tree to patch 9?

Thanks
~   cf
Jan Hudec | 1 Feb 2005 21:05
Picon

Re: Partial update

On Tue, Feb 01, 2005 at 11:24:35 -0800, Colin Fox wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Is it possible with update or replay or something to update to a
> specific patch level?
> 
> For example, I have a production tree currently at patch 10, and I want
> it to update to patch 16. The archive is now at patch 19.
> 
> I've tried "tla update a--b--c--patch-10" and it just updated all the
> way to 19.
> 
> How do you do a partial update?

star-merge is superset of update. Just star-merge the desired revision
and if it's the same branch, it should get you right there. With the
added value of being able to use diff3 for the mergeing.

> And also, if we do an update to patch 10 and realize that there is a
> problem, how would we roll back the tree to patch 9?
> 
> Thanks
> ~   cf
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
> 
> iD8DBQFB/9dzoaQ1/feGlJoRAtXoAJ9xgdeOsmGLmwQy+yT46ex8uCG3wQCdFLbz
> HLiXE2Gz5J075FTQ+iDU7nM=
(Continue reading)

Adrian Irving-Beer | 1 Feb 2005 21:59

Re: Partial update

On Tue, Feb 01, 2005 at 09:05:19PM +0100, Jan Hudec wrote:

> star-merge is superset of update. Just star-merge the desired
> revision and if it's the same branch, it should get you right there.
> With the added value of being able to use diff3 for the mergeing.

Ah, silly me, I forgot that star-merge accepted revisions.  Disregard
my earlier instructions re: selective update. :)
On Tue, Feb 01, 2005 at 09:05:19PM +0100, Jan Hudec wrote:

> star-merge is superset of update. Just star-merge the desired
> revision and if it's the same branch, it should get you right there.
> With the added value of being able to use diff3 for the mergeing.

Ah, silly me, I forgot that star-merge accepted revisions.  Disregard
my earlier instructions re: selective update. :)
Aaron Bentley | 1 Feb 2005 21:32
Favicon

Re: Partial update

Jan Hudec wrote:

>> star-merge is superset of update.

I used to think so, but it's not accurate when you look at trees that 
have deliberately diverged.  Star-merge will throw away local changes 
that were rejected by the other branch, and merge the two as closely as 
possible.

Update, on the other hand, will retain local changes, and apply any 
changes from the other tree since the last merge from other.

This is why Fai supports "merge --update".  It also supports "merge 
--update --diff3".

Aaron

--

-- 
Aaron Bentley
Director of Technology
Panometrics, Inc.

Jan Hudec | 1 Feb 2005 22:10
Picon

Re: Partial update

On Tue, Feb 01, 2005 at 15:32:18 -0500, Aaron Bentley wrote:
> Jan Hudec wrote:
> 
> >>star-merge is superset of update.
> 
> I used to think so, but it's not accurate when you look at trees that 
> have deliberately diverged.  Star-merge will throw away local changes 
> that were rejected by the other branch, and merge the two as closely as 
> possible.
> 
> Update, on the other hand, will retain local changes, and apply any 
> changes from the other tree since the last merge from other.

Well, I am not sure how update behave in presence of skipped
revisions. Star-merge <tree-version>-somepatch will not pull them in.
Replay will. Without skipped revisions, they should do the same (apply
diff between last applied patch and the requested one).

> This is why Fai supports "merge --update".  It also supports "merge 
> --update --diff3".
> 
> Aaron
> 
> -- 
> Aaron Bentley
> Director of Technology
> Panometrics, Inc.
> 
> 
> _______________________________________________
(Continue reading)

Adrian Irving-Beer | 1 Feb 2005 20:44

Re: Partial update

On Tue, Feb 01, 2005 at 11:24:35AM -0800, Colin Fox wrote:

> For example, I have a production tree currently at patch 10, and I
> want it to update to patch 16. The archive is now at patch 19.

I think you could do

        tla missing --full > +file

then edit +file (or whatever) and delete the patches you don't
want, then

        xargs tla replay < +file

Untested, but should work.  Not too elegant.  Standard
disclaimers apply.

> And also, if we do an update to patch 10 and realize that there is a
> problem, how would we roll back the tree to patch 9?

If you just want to roll back the current tree,

        tla replay --reverse `tla tree-version`--patch-10

If you then want to commit that reversal,

	tla sync-tree `tla tree-version`
	   <make your logfile here or use -s below>
	tla commit

(Continue reading)

Colin Fox | 2 Feb 2005 03:16
Picon

Re: Partial update


Adrian Irving-Beer wrote:
| On Tue, Feb 01, 2005 at 11:24:35AM -0800, Colin Fox wrote:
|
|
|>For example, I have a production tree currently at patch 10, and I
|>want it to update to patch 16. The archive is now at patch 19.
|
|
| I think you could do
|
|         tla missing --full > +file
|
| then edit +file (or whatever) and delete the patches you don't
| want, then
|
|         xargs tla replay < +file

Thanks -- I guess the key here is that you need to use Replay rather
than Update. That isn't apparent from the docs I've been able to find.

By the way -- I tend to use the on-line tutorial for quick reference,
but it doesn't have terribly deep information (being a tutorial and all).

Is there a document that goes into detail about the various functions
within arch? A "Arch Guide" if you will? I see lots of bits of
documentation listed in the wiki, but no "Big Book of Arch".

Regards,
~   cf
(Continue reading)


Gmane