[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: |
Wed, 22 Oct 2003 17:16:26 -0400 |
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: Wed 10/22/2003 at 21:16 (GMT)
------------------ Additional Follow-up Comments ----------------------------
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.
=================== 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: 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 is empty
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/