bug-gnu-arch
[Top][All Lists]
Advanced

[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/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]