[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gnu-arch] [bug #5919] multi-path revision libraries and new hook "c
From: |
nobody |
Subject: |
[Bug-gnu-arch] [bug #5919] multi-path revision libraries and new hook "cached-revision" |
Date: |
Thu, 13 Nov 2003 02:05:03 -0500 |
User-agent: |
Mozilla/5.0 Galeon/1.2.7 (X11; Linux i686; U;) Gecko/20030131 |
=================== BUG #5919: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5919&group_id=4899
Changes by: Pau Aliagas <address@hidden>
Date: Thu 11/13/2003 at 07:05 (GMT)
------------------ Additional Follow-up Comments ----------------------------
http://arch.newtral.org/{archives}/arch-2003
Again, if it is accepted, I'll add the necessary documentation.
=================== BUG #5919: FULL BUG SNAPSHOT ===================
Submitted by: paulinux Project: GNU arch -- a revision control
system
Submitted on: Mon 10/13/2003 at 15:51
Category: tla Severity: 5 - Major
Bug Group: small feature idea Resolution: None
Status: Open Release: tla--devo--1.1
Fixed Release: Merge Request?: yes -- merge from my
archive
Your Archive Name: address@hidden/tla--devo--1.1Your Archive Location:
Assigned to: None
Summary: multi-path revision libraries and new hook "cached-revision"
Original Submission: As discussed, as a first step to farewell the inefficient
pristine trees, we needed multi-path revision libraries and a way to create
them on demand in an ad-hoc directory.
With sparse revision libraries and the possibility of specifying a path for the
library commands, the only part missing was how to create and retrieve the
revision form the desired tree. My choice has been to:
-add a way to exchange information with the hook script via fd 3; the hook
script can return whatever it need via this fd and the hooks can use as they
need or just ignore it.
-create a `cached-revision' hook that uses this information to look in the
returned path for the revision, instead of the default library.
This is implemented in:
address@hidden/tla--devo--1.1--patch-7
address@hidden/tla--devo--1.1--patch-8
A complete description will be posted to the arch-users list.
Follow-up Comments
*******************
-------------------------------------------------------
Date: Thu 11/13/2003 at 07:05 By: paulinux
http://arch.newtral.org/{archives}/arch-2003
Again, if it is accepted, I'll add the necessary documentation.
-------------------------------------------------------
Date: Sat 11/08/2003 at 11:21 By: robertc
Uhm, your archive location is an essential component to be able to pull your
patches. I'd like to review this for you....
-------------------------------------------------------
Date: Wed 10/22/2003 at 21:16 By: paulinux
Add final corrections:
address@hidden/tla--devo--1.1--patch-9
address@hidden/tla--devo--1.1--patch-10
The final hook name is `find-cached-revision'. An example of hook script
follows:
...
case $1 in
...
find-cached-revision)
# echo "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION" | mail pau
-s "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION"
# tla library-add $ARCH_ARCHIVE/$ARCH_REVISION
tla library-add -d ~/.arch-cache $ARCH_ARCHIVE/$ARCH_REVISION
echo -n "~/.arch-cache" 1>&3
break
;;
esac
You can add a library in the hook, in the default revision library or in an
alterante one and return the path to it using file descriptor 3.
If you always add a revision to the library, a pristine-tree is never generated
because entries in libraries are searched for before. You save space because
you share hard links and... if you get -l your tree, operation is almost
instantaneous because you don't copy anything. Lightening fast.
It's working flawlessly for me.
-------------------------------------------------------
Date: Wed 10/22/2003 at 21:16 By: paulinux
Add final corrections:
address@hidden/tla--devo--1.1--patch-9
address@hidden/tla--devo--1.1--patch-10
The final hook name is `find-cached-revision'. An example of hook script
follows:
...
case $1 in
...
find-cached-revision)
# echo "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION" | mail pau
-s "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION"
# tla library-add $ARCH_ARCHIVE/$ARCH_REVISION
tla library-add -d ~/.arch-cache $ARCH_ARCHIVE/$ARCH_REVISION
echo -n "~/.arch-cache" 1>&3
break
;;
esac
You can add a library in the hook, in the default revision library or in an
alterante one and return the path to it using file descriptor 3.
If you always add a revision to the library, a pristine-tree is never generated
because entries in libraries are searched for before. You save space because
you share hard links and... if you get -l your tree, operation is almost
instantaneous because you don't copy anything. Lightening fast.
It's working flawlessly for me.
CC List
*******
CC Address | Comment
------------------------------------+-----------------------------
address@hidden |
No files currently attached
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5919&group_id=4899
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/