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: Sat, 08 Nov 2003 06:21:19 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20031010 Mozilla Firebird/0.6.1 StumbleUpon/1.76

=================== BUG #5919: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5919&group_id=4899

Changes by: Robert Collins <address@hidden>
Date: Sat 11/08/2003 at 11:21 (GMT)

            What     | Removed                   | Added
---------------------------------------------------------------------------
                  CC |                           | address@hidden


------------------ Additional Follow-up Comments ----------------------------
Uhm, your archive location is an essential component to be able to pull your 
patches. I'd like to review this for you....





=================== 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: 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/





reply via email to

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